Chrome扩展程序和嵌入页面的Javascript之间进行通信的选项

时间:2011-10-01 01:35:57

标签: javascript google-chrome-extension requirejs

我正在监控浏览器事件,例如创建新标签页时。我的扩展程序需要在新标签页中显示这些浏览器事件。

为了使版本控制更容易,我希望扩展程序尽可能地愚蠢。也就是说,它需要做的只是告诉我是否已创建选项卡,我需要能够告诉扩展程序切换到选项卡。然后我不必担心人们安装了什么扩展版本。

到目前为止,新的标签页是重定向到我服务器上托管的单页应用。

我的选择似乎是:

  1. 使用自定义事件在内容脚本和嵌入页面之间发送消息:http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

    这似乎是一种安全风险,因为页面javascript也可以访问DOM,从而可以访问我正在交换的消息。

  2. 将HTML从服务器加载到iframe中,从服务器中提取应用程序JS并将其作为内容脚本注入iframe。这允许应用程序的JS完全访问我需要的chrome扩展API。

  3. 另一个考虑因素是我的项目目前正在使用RequireJS。对于选项2,似乎我将无法使用它。

    任何人都可以推荐首选方案,同时考虑选项1的安全风险吗?

    我是否可以将RequireJS与选项2一起使用?

    还有另一种方法可以实现这一目标吗?

0 个答案:

没有答案