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

window.onerror does not fires in my firefox add-on (page-mod API)

本文关键字:API page-mod 组件 onerror 我的 Firefox window      更新时间:2023-09-26

我正在使用API page-mod编写一个Firefox扩展(附加组件)来调用内容脚本。

在内容脚本中,我使用 window.onerror 在页面加载时记录 js 错误。内容脚本正确执行,但 window.onerror 从未触发,但加载的页面中存在 js 错误(我已经验证了 windows.onerror 可以捕获错误)。

下面是代码的简化版本:

库/主.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);
}

我正在使用火狐 34.0.5 进行测试

知道为什么当页面加载并且页面上有js错误时,window.onerror不会触发吗?

你需要确保你的window.onerror是代码的顶部,如果在声明window.onerror之前抛出任何错误,它永远不会被捕获。