【问题标题】:Chrome extension with iframe: Domains, protocols and ports must match带有 iframe 的 Chrome 扩展:域、协议和端口必须匹配
【发布时间】:2012-09-28 14:03:00
【问题描述】:

Manifesto 版本 2 和他的新 content_security_policy 现在是 chrome 扩展所必需的。 我阅读了一些关于“沙盒模式”的文档,这似乎是内联 JavaScript 的一种解决方法,但我仍然有一个大问题。

经过一些重构,我得到了以下错误: “不安全的 JavaScript 尝试从 URL chrome-extension://mafcgphdkdbjlngfndodameheehmfhac/DCE24DB153A80B735442BF97F168AE6C.cache.html 的框架访问具有 URL chrome-extension://mafcgphdkdbjlngfndodameheehmfhac/eventpage.html 的框架。域、协议和端口必须匹配。”

我不明白为什么来自同一扩展名的 2 个文件没有相同的“域、协议和端口”!

注意:这是我的宣言的一部分:

"permissions": [
        "http://*/",
        "tabs"
    ],
  "background": {
    "page": "eventpage.html",
    "persistent": false
  },
  "sandbox": {
    "pages": [
        "sandbox.html",
        "DCE24DB153A80B735442BF97F168AE6C.cache.html"
    ]
  }
...

【问题讨论】:

    标签: google-chrome iframe cross-domain content-security-policy


    【解决方案1】:

    允许沙盒页面绕过扩展程序的内容安全策略,部分原因是沙盒强制它们进入一个唯一的来源。他们无法访问扩展程序的特殊 API,也无法获取其数据。

    http://developer.chrome.com/trunk/extensions/sandboxingEval.html 提供了我们建议您用于沙盒页面的工作流程的描述。简而言之,您需要将框架与其父级之间的直接访问替换为基于postMessage 的通信。

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 1970-01-01
      • 2012-12-26
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 2021-06-09
      相关资源
      最近更新 更多