1

使用一些 Facebook 插件(包括 LIKE 按钮和 LIKE Box)时,我在 Chrome 中遇到错误。这是我得到的错误:

Unsafe JavaScript attempt to access frame with URL http://samplewebsite.com/ from frame with URL http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel=f3c….com&channel_path=%2Fchannel.html%3Ffb_xd_fragment%23xd_sig%3Df105c9419%26. The frame requesting access set 'document.domain' to 'facebook.com', but the frame being accessed did not. Both must set 'document.domain' to the same value to allow access.

*我将站点域替换为其他域

我尝试了不同的按钮变体,包括 XFBML、iframe、HTML5,但似乎没有什么能解决这个问题。我还使用了一个 channel.html 文件。

我的 Javascript 代码初始化:

<script type="text/javascript">
  window.fbAsyncInit = function () {
    FB.init({
      appId: 'some_app_id',
      status: true,
      cookie: true,
      channelUrl: '//samplewebsite.com/channel.html',
      xfbml: true
    });
  };
  (function (d) {
    var e = document.createElement('script');
    e.async = true;
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

fb-root div 位于脚本正上方的页面上。

我的文档类型适用于 HTML5:

<!DOCTYPE html>

<html
lang="en"
prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"
xmlns="http://www.w3.org/1999/xhtml">

我也尝试使用不带前缀的常规属性,但仍然得到相同的错误。

有没有解决方案。我可以提供任何需要的信息。谢谢!

4

0 回答 0