我想验证一个 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