我正在监视浏览器事件,例如创建新选项卡时。我的扩展需要在新标签页中显示这些浏览器事件。
为了使版本控制更容易,我希望扩展尽可能愚蠢。也就是说,它需要做的就是告诉我已经创建了一个选项卡,我需要能够告诉扩展程序切换到一个选项卡。这样我就不用担心人们安装了哪些扩展版本。
到目前为止,新标签页是对我的服务器上托管的单页应用程序的重定向。
我的选择似乎是:
使用自定义事件在内容脚本和嵌入页面之间发送消息:http ://code.google.com/chrome/extensions/content_scripts.html#host-page-communication
这似乎是一个安全风险,因为页面 javascript 也可以访问 DOM,因此我正在交换的消息。
将服务器中的 HTML 加载到 iframe 中,从服务器中提取应用程序 JS 并将其作为 contentscript 注入 iframe。这允许应用程序的 JS 完全访问我需要的 chrome 扩展 API。
另一个考虑是我的项目目前正在使用 RequireJS。对于选项 2,我似乎无法使用它。
考虑到选项 1 的安全风险,谁能推荐首选选项?
我可以将 RequireJS 与选项 2 一起使用吗?
还有另一种方法可以实现这一目标吗?