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

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

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

在内容脚本中,我使用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 进行测试

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

最佳答案

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

关于javascript - window.onerror 在我的 Firefox 附加组件(page-mod API)中不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28007335/

相关文章:

angularjs - Angular 应用程序在 Firefox 中中断

html - 链接在 chrome 中有效,但在 firefox 中无效

ajax - 如何找出发起ajax请求的那段代码

javascript - 如何从 Firefox 扩展中的地址栏获取文本

Javascript/jQuery 在不同屏幕尺寸上启动和停止功能

asp.net - 我必须使用 JavaScript 吗?

php - 将 PHP 添加到 jquery 函数

flash - 无法在Firefox上单击Flash中的允许按钮

javascript - 使用 Firefox 附加组件进行 URL 过滤

javascript - 将图像的 url 转换为 Base 64