使用一些 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">
我也尝试使用不带前缀的常规属性,但仍然得到相同的错误。
有没有解决方案。我可以提供任何需要的信息。谢谢!