Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GreaseMonkey-Firefox Web控制台未显示所有javascript错误_Javascript_Firefox_Console_Greasemonkey_Userscripts - Fatal编程技术网

GreaseMonkey-Firefox Web控制台未显示所有javascript错误

GreaseMonkey-Firefox Web控制台未显示所有javascript错误,javascript,firefox,console,greasemonkey,userscripts,Javascript,Firefox,Console,Greasemonkey,Userscripts,Firefox Web控制台(Ctrl+Shift+K)未显示Firefox错误控制台中报告的所有Javascript错误。如何改变这一点 这很烦人,因为Firefox错误控制台已经被弃用,并且 Web控制台中未显示的错误示例是访问未定义对象的属性。这种异常只会杀死正在运行的Javascript脚本,如果它没有出现在日志中,则对调试非常恼人 var obj = undefined; obj['whatever']; 这将在错误控制台(而不是Web控制台)中引发错误: /* Exception:

Firefox Web控制台(Ctrl+Shift+K)未显示Firefox错误控制台中报告的所有Javascript错误。如何改变这一点

这很烦人,因为Firefox错误控制台已经被弃用,并且

Web控制台中未显示的错误示例是访问未定义对象的属性。这种异常只会杀死正在运行的Javascript脚本,如果它没有出现在日志中,则对调试非常恼人

var obj = undefined;
obj['whatever'];
这将在错误控制台(而不是Web控制台)中引发错误:

/*
Exception: obj is undefined
@Scratchpad/1:11
*/
请注意,“JS>Errors”在Web控制台中被选中,而Chrome调试在Web控制台配置中处于启用状态


编辑:这似乎只适用于GreaseMonkey用户脚本(也适用于scratchpad)。

Brock Adams在评论中给出的答案:


要查看Greasemonkey错误,请打开浏览器控制台(Ctrl-Shift-J)。[…]web控制台是特定于选项卡的--这排除了许多附加活动。浏览器控制台捕获所有可捕获的内容。Firebug控制台可以捕捉大多数静止的东西

加上Nelson的评论:


这对我有效,但只有在浏览器控制台的gear菜单中启用“显示内容消息”之后


看起来严格模式已启用。转到
about:config
并检查
javascript.options.strict
。此选项可将引擎切换到严格模式,从而在错误控制台中显示更多错误(请参阅)。您使用的是哪种FF版本?我在使用Firefox 27(Aurora)的Web控制台中遇到“obj未定义”错误。为什么要使用scratchpad?在Firefox 25和每晚使用
data:text/html,var obj=undefined;obj[‘随便什么’]。结果是这样的Web控制台日志条目:
TypeError:obj未定义@data:text/html,var%20obj%20=%20undefined;%20obj[“无论什么];:1
要查看Greasemonkey错误,请打开浏览器控制台(Ctrl-Shift-J)。将
devtools.errorconsole.enabled设置回
false
。web控制台是特定于选项卡的——这排除了许多附加活动。浏览器控制台捕获所有可捕获的内容。Firebug控制台仍然可以捕获大部分内容。遗憾的是,Greasemonkey脚本的一些
console.log()
输出仍然无法在任何控制台中看到。我这里有一个运行和更改变量的
addEventListener('DOMSubtreeModified')
。我可以看到变量发生了变化,但所有日志中都缺少相应的
console.log()
输出。显然,在某些状态下,某些调用被静默,它们的
console.log()
丢失。(我还没有找到在内部网之外复制此内容的方法,因此无法进行演示,抱歉。)
devtools.errorconsole.enabled
在我这边是
false
。我能找到的所有日志选项都已启用。但是,浏览器控制台和web控制台都不会显示失败的Greasemonkey用户脚本中的任何内容。如果脚本编译成功,但如果脚本有致命的编译错误,FF将完全静音,就像脚本没有被禁用一样根本不存在。这不再有效。错误控制台似乎已被完全删除。如何显示Greasemonkey错误?此解决方案是关于浏览器控制台(Ctrl+Shift+J),而不是错误控制台。这对我有效,但只有在浏览器控制台的gear菜单中启用“show Content messages”后才有效。