1

我想验证一个 url 地址实际上返回了一个有效的页面。

有两种方法可以采取。

  • IFrame - 创建指向 url 的 iframe
  • Ajax - 创建对 url 的 ajax 请求并查看状态代码 - 这是一些摆弄

Ajax 方法不起作用,因为无论页面是否存在,它总是为跨域请求返回状态代码 0。

IFrame 方法不起作用,因为我找不到捕获帧状态或错误的机制。

我得到的大多数谷歌点击都是用于语法检查。

Ajax 的小提琴代码

var urlTest = function (url) {
    var xhr = new window.XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.onreadystatechange = function () {
        console.log('readyState | status : ' + this.readyState + ' | ' + this.status);
        if (this.readyState === 4) {
            if (this.status === 200) {
                // console.log('4 | 200');
                // xhr.responseText;
            }
        }
    };
    xhr.send(null);
}
urlTest('http://www.google.com'); // cross domain always give status 0
4

1 回答 1

0

您可以通过此处建议的代理绕过对浏览器施加的 CORS 限制(不带 jsonp):

https://en.m.wikipedia.org/wiki/JSONP

于 2015-09-21T03:35:50.293 回答