3

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

我想知道使用用户脚本与扩展是否有任何优势?我似乎无法工作的一件事是使用这些技术中的任何一种将脚本注入 DOM,以便我可以让我的 javascript 代码访问页面的 javascript 方法。它作为单个用户脚本安装工作正常,但是当我尝试将该用户脚本转换为扩展时,它似乎不起作用。不过,我不确定我是否做错了什么,或者它是否根本无法工作。

我问的主要原因是因为在我开始编写自己的用户脚本后,我遇到了脚本文件变得非常大并且与其他脚本重复的问题。Chrome 不支持“@require”选项,因此我无法以这种方式组织我的“通用”代码,这让我认为我应该改用扩展程序。

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

4

2 回答 2

4

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

至于您的第二个问题,我建议您阅读如何在 Chrome 中模仿 Greasemonkey/Firefox 的 unsafeWindow 功能?.

于 2012-06-04T14:22:22.017 回答
3

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

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

于 2012-06-04T15:10:06.807 回答