我尝试对用户脚本进行一些修改以使其能够在Chrome下运行,但是当我将其拖到Chrome的窗口中进行安装时,会弹出一个对话框并显示“无效的脚本标题”。
我尝试使用开发人员工具和内置的Javascript控制台来调试发生的任何错误,但似乎没有任何内容可以列出任何信息。
除了我已经知道的相同错误消息之外, Console.app
没有列出任何有意义的内容。
[0x0-0x2d02d] .com.google.Chrome:[346:1547:16686819618022:错误:extension_error_reporter.cc(55)]扩展错误:无效的脚本标题。
如何合理地调试此错误消息并找出标头不正确的内容?
我在开发者频道上使用Chrome 15.0.861.0,在OS 10.7 Lion下。
答案 0 :(得分:6)
我终于偶然发现了Chromium Bug Report这个问题的答案。
事实证明,我的问题的答案是在(非常简短的)Userscript Documentation for Chrome页面中。
使用Greasemonkey风格的@include规则,Chrome无法确定脚本将在何处运行(因为google。*也可以在google.evil.com上运行)。因此,Chrome只会告诉用户这些脚本将在所有域上运行,这有时比必要的更加可怕。使用@match,Chrome会告诉用户用户脚本将运行的正确域名集。
事实证明,我一直在使用@match http://*musicbrainz.org
来尝试匹配www.musicbrainz.org
以及musicbrainz.org
,但根据引用的文字,这并不能免除您的意外匹配evilmusicbrainz.org
。所以,我的解决方案是使用两行:
@match http://*.musicbrainz.org
@match http://musicbrainz.org
答案 1 :(得分:4)
答案 2 :(得分:1)
当我得到相同的错误消息( INVALID SCRIPT HEADER )时,我发现它会导致 // == UserScript == 标题信息之间的拼写错误
wronge line
// @run-at document.end
更正后的行
// @run-at document-end