1

以前我已经在我的 chrmoe 扩展中加载了带有清单版本 01 的 facebook 评论插件。现在我将版本更新为清单版本 02,然后我必须在我的扩展代码库中进行几个更改。

根据新版本,如果不指定与“content_security_policy”关联的外部资源,我们将无法加载外部 js 文件。无论如何,这是我的新 manifest.json 文件,

{
  "name": "",
  "version": "1.13",
  "manifest_version": 2,
  "description": "",
  "background": "background.html",
  "icons": { "128": "fb_bug.gif" },
  "content_security_policy": "script-src 'self' https://connect.facebook.net/; object-src 'self'",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "plugin_content.html"
  },
   "permissions": [
   "tabs",
   "background",
    "cookies"
  ],"web_accessible_resources": [
    "css/extension.css",
    "js/config.js",
    "js/jquery-1.6.1.min.js"
    "js/extension.js",
    "images/loaderImg.gif",
    "https://connect.facebook.net/en_US/all.js"
  ]
} 

现在,当我加载扩展程序时,它会引发以下错误,并且 facebook 社交插件无法正常工作。

“错误:此上下文不允许从字符串生成代码 all.js:41”

有没有人知道这个问题的解决方案。

4

1 回答 1

0

抱歉花了这么长时间才回复这个问题。

我是 Facebook 的一名工程师,并尝试寻找替代方法来删除我们在 SDK 中使用的一个 Function(),但不幸的是,没有办法在不破坏功能的情况下可靠地删除它。其他人似乎也有同样的问题,我没有找到任何人能够以有效的方式解决这个问题。

但是,根据对 Chromium 问题跟踪器的评论 (http://code.google.com/p/chromium/issues/detail?id=107538#c69),您应该能够通过content_security_policy向您的显示白'unsafe-eval'名单script-src

    {
        ...
        "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
        ...
    }
于 2012-09-19T13:45:40.737 回答