帧间SOP - Chrome扩展

时间:2012-08-07 19:39:28

标签: javascript jquery google-chrome google-chrome-extension gmail

在Chrome扩展程序中,我试图让gmail撰写正文内容。

错误会偶尔跳出,并且不会阻止它工作。

这是作为内容脚本运行的。我认为权限不是问题所在,因为当缺少权限时,错误会有所不同,Chrome操作阻止,绝对不是这样。

错误出现在这一行:

encodeURIComponent($canvas.find('iframe').contents().find('body').text());

其中

var $canvas = $('#canvas_frame').contents();

有关此错误和可能的周转的任何信息?enter image description here

2 个答案:

答案 0 :(得分:4)

您无法使用javascript阅读跨网站内容。 Google Chorme的XSS Auditor永远不会允许这样做。

请查看http://en.wikipedia.org/wiki/Same_origin_policy

更新1 -

在Chrome 2+中使用window.postMessage()支持跨站点通信。请查看此文档https://developer.mozilla.org/en-US/docs/DOM/window.postMessage

答案 1 :(得分:2)

为了给出一个好的答案,我们需要更多信息:

  • 您运行此代码到底在哪里,是在网页,扩展程序的内容脚本还是etension的后台脚本中?
  • 另外,您的manifest.json文件是什么样的?您要求哪些网站允许运行。

我怀疑这是一个写得不好的错误消息,实际上它说:您的扩展程序无权在apis.google.com上运行。在这种情况下,只需添加apis.google.com的权限即可。有关详细信息,请参阅Chrome扩展程序文档:http://developer.chrome.com/extensions/manifest.html#permissions