我正在尝试通过Chrome扩展程序从a specific website捕获所有JavaScript错误。我对javascript非常缺乏经验,由于某种奇怪的原因,我的错误处理程序无法捕获所有错误,最重要的是,第191行“模块加载超时”中的错误处理程序: https://hastebin.com/atuwiboqec.js
第507行出现错误“脚本错误”。
这是清单中“ content_scripts”下的我的content.js文件,它在document_start上运行:
var script=document.createElement("script");
script.src=chrome.runtime.getURL("myscript.js");
script.async=false;
document.documentElement.appendChild(script);
这是我的myscript.js文件:
window.addEventListener("error", handleException, false);
window.addEventListener("unhandledrejection", handleException, false);
function handleException(I_sMsg) {
console.log("Error0 occured: " + I_sMsg.message);
return cancelEvent(I_sMsg);
};
window.onerror = function ErrorHandler(errorMsg, url, lineNumber) {
console.log("Error1 occured: " + errorMsg);
return false;
};
window.addEventListener("timeout", function(e) {
console.log("Error2 occured: " + e.error.message);
return false;
});
发生错误“脚本错误”时,将同时打印Error0和Error1消息。当发生错误“模块的加载超时”时,即使错误在chrome控制台中显示为“未捕获的错误:模块的加载超时”(红色,日志级别为“错误”),也不会发生任何情况。这表明正在抛出错误:
如何捕获该错误,或者更好的是,该网站上的所有错误?
P.S我不确定如何触发该加载超时错误。它只会不时发生。我认为网络速度慢是原因。
编辑:由于无法解析,因此将url域更新为备份域。