GM_log和其他GM功能在Greasemonkey脚本中不起作用

Tho*_*idt 6 firebug logging greasemonkey

我在Firefox中创建了一个"Hello World"Greasemonkey脚本,它只包含一行代码:

GM_log("Hello World");
Run Code Online (Sandbox Code Playgroud)

这似乎没有起作用,至少它在我的firebug控制台中没有产生任何输出.
与其他GM _...功能相同,如GM_wait

当我更换:

GM_log("Hello World");
Run Code Online (Sandbox Code Playgroud)

有:

alert("Hello World")
Run Code Online (Sandbox Code Playgroud)

它工作(因此脚本标题不是问题).

我还将以下about:config选项设置为true:

  • javascript.options.showInConsole
  • extensions.firebug.showChromeErrors
  • extensions.firebug.showChromeMessages

是否有其他设置可以更改GM _...函数在Greasemonkey脚本中工作?

我是否必须更改GM_log消息的其他firebug设置以显示在firebug控制台中?

小智 5

这样做的原因是一个新的特殊元数据块命令@grant,在 GM 1.0 中添加。如果您需要 GM_log 工作,则必须将此行添加到您的脚本 Metadata Block: 中 "// @grant GM_log" ,否则它将无法工作。您可以在http://wiki.greasespot.net/@grant阅读有关此功能的信息


Com*_*ist 1

我建议您忘记 GM_log() 并使用:

console.log('hello world');
Run Code Online (Sandbox Code Playgroud)

http://wiki.greasespot.net/GM_log

就像它所说的“由于 GM_log 一次只会显示一个字符串,安装了 Firebug 的用户可能更喜欢使用 console.log”。

但对于你的问题,我无法说出原因。