我的用户脚本使用 console.log()
打印了一些信息.
这在 Chrome 中运行良好,但是当我在 Firefox (Greasemonkey) 中安装此用户脚本时,Firefox 中的 Web 控制台没有显示任何内容。
我搜索了一个解决方案,有些人建议使用 unsafeWindow
但它也没有显示任何输出。此外unsafeWindow
不能用于 Chrome 。我什至安装了 Firebug 但它没有用。我该如何解决这个问题?
例如,我在 Firefox 中尝试了这个用户脚本:
// ==UserScript==
// @name console
// ==UserScript==
console.log("hello");
最佳答案
您的意思是通过 Greasemonkey 安装时它不起作用,对吗?
不久前,Greasemonkey broke console.log (新!Bug report)。现在,看一个普通的结果console.log()
从 Greasemonkey 调用,您需要查看 Firefox 的错误控制台,而不是 Firebug 的。
您可以通过按:CtrlShiftJ 来查看 FF 的错误控制台。
然而 ,您可以使用 unsafeWindow.console.log()
在 Chrome 和 Greasemonkey 脚本中。 Chrome 现在对 unsafeWindow
的支持有限.
如果您使用 unsafeWindow
,您可以访问全系列 Firebug's logging functions来自 Greasemonkey。 (必须安装 Firebug,它们可能仍然无法在 Chrome 用户脚本中工作;我已经有一段时间没有测试过这种方式了。)
在 Firefox 中,如果 Firebug 未安装,或者它在页面上未处于事件状态 ,然后 unsafeWindow.console.log()
调用将显示到新的“Web 控制台”(CtrlShiftK)。
您需要使用 unsafeWindow
当在 Greasemonkey 脚本中时。
请注意,Firefox 目前支持 console.log()
, console.info()
, console.warn()
, 和 console.error()
native - 不需要 Firebug。
关于firefox - 在 Firefox、Greasemonkey 脚本中使用时,console.log 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135241/