1

由于清单版本 2 的内容安全策略,我无法将 facebook like 按钮添加到我的 chrome 扩展选项页面。

以“google.com”的点赞按钮为例。我已按照facebook 开发中心的说明进行操作,并添加了

<div id="fb-root"></div>
<script type="text/javascript" src="js/facebook-jssdk.js"></script>

<div class="fb-like" data-href="http://www.google.com" data-send="true" data-width="450" data-show-faces="false" data-font="arial"></div>

进入options.html;并添加

(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_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

进入 js/facebook-jssdk.js;并添加了这一行

"content_security_policy": "script-src 'self' https://connect.facebook.net; object-src 'self'",

进入 manifest.json

打开 file://home/options.html 时,我可以让 facebook 按钮正常工作。但是,当它通过 chrome://extensions 打开时,按钮不会显示。

我该怎么做才能获得按钮?

谢谢你。

4

1 回答 1

3

一个更简单的解决方案是使用 iframe 而不是他们的 javascript sdk。唯一的缺点是您将无法包含“发送”按钮。

  • 代码生成器上,取消选中发送按钮
  • 单击获取代码
  • IFRAME选项卡复制代码。
于 2012-10-02T13:16:02.360 回答