我现在已经对这个问题感到震惊了一天多了,我终于发布了一个问题,因为我无法弄明白,也无法从遇到同样问题的人那里找到任何信息。
这些Like按钮在Chrome,Firefox,IE7中运行良好,但不适用于IE8或IE9。
你们中的任何一位Facebook专家都知道这里会发生什么吗?这些按钮在生产中运行良好。
但是对于这个页面,在IE8& IE9,如果你没有登录到Facebook,你会弹出一个提示你登录的弹出窗口。成功登录后,你被转发到(引用你的网址,而不是我的网址): http://www.facebook.com/connect/connect_to_external_page_widget_loggedin.php?social_plugin=like&external_page_url=http%3A%2F%2Fwebhooks.digitas.com%2Flike.html#=
如果您已经登录,请直接访问此网址。正如您所看到的,页面永远不会完成它应该做的任何事情。
我只是不明白按钮在制作中如何工作,而不是在这个测试页面中.....
我的测试页面包含3个相似的按钮,直接来自类似按钮代码生成器page。
<!doctype html>
<html xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
</head>
<body>
<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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://webhooks.digitas.com/like.html" data-send="false" data-layout="button_count" data-width="200" data-show-faces="false"></div>
<fb:like href="http://webhooks.digitas.com/like.html" send="false" layout="button_count" width="200" show_faces="false"></fb:like>
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwebhooks.digitas.com%2Flike.html&send=false&layout=button_count&width=200&show_faces=false&action=like&colorscheme=light&font&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:21px;" allowTransparency="true"></iframe>
</body>
</html>
测试页面位于http://webhooks.digitas.com/like.html
我还使用另一种加载Facebook JS SDK的方法创建了另一个page,该方法目前适用于我们的生产网站:
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({ appId: '168861203149296', status: true, cookie: true, xfbml: true });
};
(function() {
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>
答案 0 :(得分:0)
您需要做两件事来帮助解决问题。
1)在FB.init中你应该设置ChannelUrl。 2)在您的网络服务器发送的标头中,您必须指定P3P标头。请参阅此处了解如何实施:http://www.hanselman.com/blog/TheImportanceOfP3PAndACompactPrivacyPolicy.aspx