window.onerror在我的firefox附加组件中不会触发(page-mod API)

时间:2015-01-18 05:07:04

标签: javascript firefox firefox-addon firefox-addon-sdk

我正在使用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错误?

1 个答案:

答案 0 :(得分:1)

您需要确保window.onerror位于代码的顶部,如果在声明window.onerror之前发生任何错误,它将永远不会被捕获。