谷歌Chrome用户与扩展?

时间:2012-06-04 14:04:37

标签: javascript google-chrome google-chrome-extension userscripts

我正在寻找各种方案来增强浏览体验。我在userscripts.org找到了大量的用户脚本。但是,我也在阅读Google Chrome扩展程序(看起来与用户脚本非常相似)。

我想知道使用用户脚本与扩展程序是否有任何好处?我似乎无法正常工作的一件事是使用these techniques中的任何一个将脚本注入到DOM中,以便我可以使用我的javascript代码访问页面' javascript方法。它作为单个用户脚本安装工作正常,但当我尝试将该用户脚本转换为扩展时,它似乎不起作用。虽然,我不确定我是否做错了什么或者根本不能工作。

我问的主要原因是因为在我开始处理自己的用户脚本后,我遇到了一个问题,即脚本文件变得非常大并且重复其他脚本。 Chrome不支持" @ require"选项,所以我无法组织我的"普通"这样的代码,这就是我认为我应该考虑扩展的原因。

那么,是否可以使用"脚本注入"或者"位置黑客"在扩展中,以便我的javascript可以在DOM上执行并访问其他javascript?

2 个答案:

答案 0 :(得分:4)

回答您的第一个问题:UserScripts是单个文件,无法请求访问Chrome API,例如书签,跨域XMLHttpRequest等.Chrome扩展是多个压缩文件,没有这些限制。

至于你的第二个问题,我建议你阅读How can I mimic Greasemonkey/Firefox's unsafeWindow functionality in Chrome?

答案 1 :(得分:3)

请参阅此处,了解Chrome扩展程序内容脚本的“孤立世界”。您可以访问网站DOM,但不能访问另一个脚本中的变量/函数...

http://code.google.com/chrome/extensions/content_scripts.html#execution-environment