在Chrome中调试用户脚本的方法

VxJ*_*nxV 6 userscripts google-chrome-extension

我尝试对用户脚本进行一些修改以使其能够在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下.

VxJ*_*nxV 6

我终于通过Chromium Bug报告偶然发现了这个问题的答案.

事实证明,我的问题的答案是在(非常简短的)用户文档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
Run Code Online (Sandbox Code Playgroud)