我正在使用API page-mod编写Firefox扩展程序(附加组件)来调用内容脚本。
在内容脚本中,我使用window.onerror在页面加载时记录js错误。内容脚本正确执行但window.onerror从未触发,但页面中有js错误加载(我已经验证了windows.onerror可以捕获错误)。
以下是代码的简化版本:
LIB / main.js
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*",
contentScriptFile: "./simple_script.js"
});
数据/ simple_script.js
window.onerror = function (errorMsg, url, lineNumber) {
window.alert(errorMsg, url, lineNumber);
}
我正在使用Firefox 34.0.5进行测试
知道为什么window.onerror在页面加载时不会触发,页面上有js错误?
答案 0 :(得分:1)
您需要确保window.onerror
位于代码的顶部,如果在声明window.onerror
之前发生任何错误,它将永远不会被捕获。