javascript – 捕获’阻止加载混合活动内容’CORS错误

前端之家收集整理的这篇文章主要介绍了javascript – 捕获’阻止加载混合活动内容’CORS错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在firefox中,当 javascript尝试从https上托管的页面向http服务器发出CORS请求时,会抛出错误
Blocked loading mixed active content

我想抓住这些错误,但我无法弄清楚如何.例如,我用jQuery尝试过类似的东西:

try {
  $.get("http://public.opencpu.org/ocpu/library/").fail(function(xhr,err){
    console.log("Server error:" + xhr.responseText);
  });
} catch(e){
  console.log(e.message);;
}

但是,但是xhr.responseText和e.message是空字符串(可能因为$.ajax是异步发生的).如何捕获实际的错误消息:阻止加载混合活动内容

解决方法

你无法捕捉到这个确切的消息.它只会记录到控制台,但不可供用户使用.

使用普通XHR时,.open()调用将抛出一个异常,该异常具有.result === 0x805e0006.此外,ex.toString()将包含nsresult:“0x805e0006(< unknown>)”.

jQuery,将ex.toString()放入jqXHR的.statusText中,因此您可以对由于混合内容而被阻止的请求进行以下检查:

xhr.statusText.indexOf('nsresult: "0x805e0006 (<unknown>)"') > -1

对于好奇:0x805e0006应为NS_ERROR_CONTENT_BLOCKED(C宏值).

猜你在找的JavaScript相关文章