1

以前は、マニフェスト バージョン 01 を使用して、chrmoe 拡張機能に 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() を削除する代替手段を探してみましたが、残念ながら、機能を壊さずに確実に削除する方法はありません。他の人も同じ問題を抱えているようで、この問題を効率的に解決できる人は見つかりませんでした。

content_security_policyただし、Chromium イシュー トラッカー (http://code.google.com/p/chromium/issues/detail?id=107538#c69) に関するこのコメントによると、属性を追加することでこれを解決できるはずです。のホワイトリストに登録'unsafe-eval'するマニフェストscript-src:

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