chrome extension即使设置了content_security_policy,也拒绝加载脚本

时间:2017-04-18 05:31:09

标签: javascript google-chrome-extension

我正在尝试在Chrome扩展程序中加载facebook SDK。按照文档,我有以下设置。

我错过了什么?

清单:

{
  "manifest_version": 2,
  "content_security_policy": "script-src 'self' https://connect.facebook.net; object-src 'self'",
  "name": "some extension",
  ...
}

弹出:

window.fbAsyncInit = function() {
  FB.init({
    appId      : 'xxxxxxxxx',
    xfbml      : true,
    version    : 'v2.8'
  });
  FB.AppEvents.logPageView();
};

(function(d, s, id){
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "https://connect.facebook.net/en_US/sdk.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

获取此信息:

popup.js:31538 Refused to load the script 'https://connect.facebook.net/en_US/sdk.js' because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:".

1 个答案:

答案 0 :(得分:1)

清单中的任何错误/拼写错误都会导致使用最后一个有效错误。尝试重新加载扩展名(而不是当前页面)以强制更新并显示任何最近的错误。