5

我正在尝试检测混合内容上的 XHR 失败。看起来不同的浏览器有不同的实现:

var xhr = new XMLHttpRequest();
try {
  xhr.open('http://otherdomain/');
} catch (err) {
  console.log(err); // IE10 hits this one
}
try {
  xhr.send(); // Chrome fails here, but doesn't throw an error
} catch (err) {
  console.log(err); // No browser I've tried hits this one
}

我不想使用自动检测 ( xhr.open('//otherdomain')),因为目标可能不支持 http 或 https。我只是想知道调用失败,所以我可以在我的页面中显示错误。是否可以为所有浏览器正确处理这个问题?

4

1 回答 1

1

不幸的是,没有办法用 javascript 处理这个错误。它是由浏览器强制执行的安全限制,并在较低级别上抛出。我尝试了很多不同的方法,包括使用扩展,但老实说,除了超时处理程序之外没有任何效果。

于 2017-02-16T11:41:09.663 回答