我真的对这个感到头疼,所以我希望任何人都可以看看并提供帮助。
我用 pushState 和 fb 评论构建了 ajax-ed 网页。问题是,每当我加载新内容和 fb 评论时,我都会收到有关设置 href 属性的错误。这是代码:
首先,我异步调用 fb init:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'MY_APP_ID',
channelUrl : 'http://promplac.si/channel.php',
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>
关于内容更改,我调用:
<script>
function showComment($currentUrl) {
document.getElementById('theplace').innerHTML='<fb:comments id="fbcomment" href="'+document.URL+'" width="510" num_posts="3"></fb:comments>';
console.log(document.getElementById('theplace').innerHTML);
FB.XFBML.parse();
console.log(document.getElementById('theplace').innerHTML);
}
</script>
HTML:
<div id="theplace" class="fb-comments"><fb:comments href="" numposts='3' height='150' id="fbcomment" width="510" num_posts="3"></fb:comments></div>
我做了一个例子,我在 FB.XFBML.parse() 调用之前和之后在 console.log 中放入了 html 以供评论。正如您在此示例中看到的那样:http: //promlac.si/nagradne-igre/nagradna-igra/izberi-oblacila-v-vrednosti-200EUR/
通常会显示评论,但是当您单击任何其他条目时,我会收到有关设置 href 属性的警告。但是,如果您检查控制台, href 属性是否完全可以?当至少有一条评论时,效果不会发生......
知道有什么问题吗?