当前位置: 代码迷 >> JavaScript >> 验证URL的Javascript代码可在IE和Chrome中使用,但在Firefox中无法
  详细解决方案

验证URL的Javascript代码可在IE和Chrome中使用,但在Firefox中无法

热度:11   发布时间:2023-06-12 13:47:25.0

我正在使用以下代码来确定网站上是否存在文件。 我正在检查较大的文件,因此不需要等待下载,只需知道它是否存在。 当我在IE(11.0.9600.17843)或Chrome(43.0.2357.134)上运行代码时,该文件返回true。 当我在Firefox(39.0)上运行它时,该文件返回null。

    function checkUrl(url) {
        var aborted = false;
        try {

            var request = new XMLHttpRequest();
            var timer = Date.now();
            request.onreadystatechange = function () {
                if ((request.readyState > 1) & (request.status === 200)) {
                    aborted = true;
                    request.abort();
                    return true;
                }
            }
            request.open('GET', url, false);
            request.send();
            if (request.status === 200) {
                return true;
            }
        }
        catch (e) {
            console.log(e.message);
            if (aborted) { return true; }
        }
    }

有什么想法为什么不能在Firefox上运行吗?

除了发出GET请求,您还可以发出HEAD请求。 HEAD请求将仅返回请求资源的标头,而不是正文,因此非常适合查询文件的存在。

  相关解决方案