我一直在尝试解决这个问题一段时间,但没有成功。
我在https://mantry.com/giveaway/上设置了一个竞赛页面,上面有两个 Facebook Like 按钮(这些按钮已被用来代替 Facebook Like Box,因为我遇到了有据可查的问题edge.subscribe 事件未触发)。
基本上,在 Mozilla、Chrome 和 Safari 中一切正常,但在 IE9 / IE8 中,fb:like 按钮无法呈现。
我已将我的 xml 命名空间声明如下:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '274762932654075', // App ID
channelUrl : '//mantry.com/channel.php', // Channel File
status : true, // check login status
xfbml : true // parse XFBML
});
FB.XFBML.parse(document.getElementById('fb1'));
FB.XFBML.parse(document.getElementById('fb2'));
// Additional initialization code here
FB.Event.subscribe('edge.create', function(href) {
if(href == 'http://www.facebook.com/themantry'){
social[0] = 1;
};
if(href == 'http://www.facebook.com/<?php echo get_post_meta( $post->ID, 'contest_fb', true);?>'){
social[1] = 1;
};
socialClick();
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
我尝试了使用和不使用 FB.XFBML.parse(),都没有为我工作。
fb:like 元素(如果相关)如下:
<fb:like href="http://www.facebook.com/themantry" send="false" width="450" show_faces="false" font="" data-layout="button_count" id="fb1"></fb:like>
任何想法都将不胜感激,并乐于详细说明我可能遗漏的任何内容。提前致谢!