我为网站设置了自定义 Facebook 分享按钮。当我在 Firefox 中单击该按钮时,它会为我提供一个漂亮的共享对话框(弹出窗口),其中包含我定义的所有 var。在 Facebook 上发布到我的墙上,一切都很好!但同样的代码在 Chrome、Safari、IE 中失败了。它在弹出窗口中抛出一个错误:“发生错误。请稍后重试。”
我正在使用的 javascript(当然还有头部的 OG 元标记): 我使用此脚本的网站:http://www.henkeningrid.org (点击引用时,“赞”按钮会被激活)
el.find('a.facebook-feed').click(function() {
var quote = $(this).parents().find('h1').html();
var url = $(this).parents('article').attr('data-url');
var publish = {
method: 'feed',
message: '',
name: 'Henk en Ingrid',
caption: '“'+quote+'”',
description: ('De wereld volgens Henk en Ingrid.'),
link: 'http://www.henkeningrid.org/nl/quote/'+url,
picture: 'http://www.henkeningrid.org/site/gfx/fb_preview.png',
actions: [{name: 'Henk en Ingrid', link: 'http://www.henkeningrid.org/'}],
user_message_prompt: ''
};
FB.ui(publish);
//return false;
});
最佳答案
我们在使用新版本的 JavaScript SDK 时也遇到了这个问题 - 奇怪的是它只发生在 Chrome 上,但解决方案确实是也删除了 SDK 的同步版本。我们保留了异步代码,它解决了我们在所有浏览器中看到的问题。
<div id="fb-root"></div>
<script>
(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 = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=XXXXXX";
fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk'));
</script>
关于javascript - Facebook 提要 : FB. ui() 在 Firefox 中工作,但在 Chrome(Safari、IE)中出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6695929/