我正在考虑各种增强我的浏览体验的选择。我在userscripts.org上找到了大量可用的用户脚本。但是,我也在阅读Google Chrome扩展(它看起来非常类似于用户脚本)。
我想知道与扩展相比,使用用户脚本有什么优势吗?有一件事我似乎做不到,那就是使用这两个these techniques中的任何一个将脚本注入到DOM中,这样我就可以让我的javascript代码访问页面的javascript方法。作为单个用户脚本安装,它工作得很好,但当我尝试将该用户脚本转换为扩展时,它似乎不起作用。然而,我不确定是我做错了什么,还是它根本不能工作。
我问这个问题的主要原因是,在我开始使用我自己的userscript之后,我遇到了脚本文件变得非常大并且与其他脚本重复的问题。Chrome不支持"@require“选项,所以我不能以这种方式组织我的”通用“代码,这导致我认为我应该考虑扩展。
那么,有没有可能在扩展中使用“脚本注入”或“位置破解”,以便我的javascript可以在DOM上执行并访问其他javascript?
发布于 2012-06-04 22:22:22
回答你的第一个问题: UserScripts是不能请求访问Chrome API的单个文件,如书签、跨域XMLHttpRequest等。Chrome扩展是多个压缩文件,没有这些限制。
至于你的第二个问题,我建议你阅读How can I mimic Greasemonkey/Firefox's unsafeWindow functionality in Chrome?。
发布于 2012-06-04 23:10:07
关于Chrome扩展内容脚本的“孤立世界”的解释,请看这里。您可以访问网站的DOM,但不能访问另一个脚本中的变量/函数...
http://code.google.com/chrome/extensions/content_scripts.html#execution-environment
https://stackoverflow.com/questions/10882676
复制相似问题