控制台不会记录内容脚本中的js错误

时间:2018-11-10 07:59:41

标签: javascript debugging firefox-addon

我知道要调试内容脚本,请使用常规的Web开发人员工具(https://developer.mozilla.org/en/docs/Mozilla/Add-ons/WebExtensions/Debugging#Debugging_content_scripts),这非常完美。 debugger关键字可正常使用。

但是在这种情况下,事情就坏了:

addon.id = "123-568-485"; // I never define `addon` before this line, so this cause: ReferenceError: "addon is not defined". We aren't aware of this mistake.

// Some more code
// Some more code
// Some more code
// Some more code

debugger; // Here we want to stop execution and inspect, some other stuff. Remember that we aren't aware of earlier mistake.

我们期望的是,在控制台中将出现关于Reference error的错误,但不会出现。控制台保持沉默,我们不知道为什么我们的debugger关键字不起作用。

当我拼错变量名时,发生了这种无提示的错误。结果无法找出问题所在。

2 个答案:

答案 0 :(得分:3)

由于未修复Firefox Edge n-grams tokenizer(自2020年7月28日发布的Firefox 79开始),该选项卡的Web控制台中未报告内容脚本中的错误。

我在Completion Suggester中列出了可能的解决方法:

  • 使用try..catch记录日志,
  • 检查bug 1410932(确实显示内容脚本中的错误)
  • 使用调试器的“异常暂停”选项。

答案 1 :(得分:0)

内容脚本在网页中执行,因此,如您所知要查看其输出,您应该在该特定网页中打开控制台菜单(按Ctrl + Shift + E然后转到控制台)。
但是,如果内容脚本出了点问题,并导致它引发异常,则错误日志将显示在扩展程序的调试区域中:about:debugging

enter image description here

我认为原因是内容脚本被视为网页的额外框架,并且在那里显示了错误。