Facebook xfbml类按钮无法正常工作

Facebook xfbml类按钮无法正常工作,facebook,facebook-like,xfbml,Facebook,Facebook Like,Xfbml,我的网站上有一个由ajax驱动的新闻部分。我正在尝试实现类似Facebook按钮的xfbml版本,但遇到了一些问题 当第一次点击新闻条目上的“Like”时,没有任何og标记被拉入,所以你得到的只是一个评论框。 更糟糕的是,如果我随后查看另一个新闻项目并返回到第一个新闻项目,则like按钮可以正常工作,并且所有og数据都可以正确提取。这似乎是某种缓存问题 我也有一个问题,浮动弹出框消失后,点击喜欢,然后才有机会输入评论。它在那里停留了几分之一秒。如果我不喜欢这个新闻条目并重新喜欢它,浮动弹出框最终

我的网站上有一个由ajax驱动的新闻部分。我正在尝试实现类似Facebook按钮的xfbml版本,但遇到了一些问题

当第一次点击新闻条目上的“Like”时,没有任何og标记被拉入,所以你得到的只是一个评论框。 更糟糕的是,如果我随后查看另一个新闻项目并返回到第一个新闻项目,则like按钮可以正常工作,并且所有og数据都可以正确提取。这似乎是某种缓存问题

我也有一个问题,浮动弹出框消失后,点击喜欢,然后才有机会输入评论。它在那里停留了几分之一秒。如果我不喜欢这个新闻条目并重新喜欢它,浮动弹出框最终会保持不变,但可能需要多次尝试

下面是标题的示例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en-GB" lang="en-GB">
<head>
<meta property="og:title" content="She's in fashion"/>
<meta property="og:type" content="article"/>
<meta property="og:url" content="http://www.kirkleescollege.ac.uk/news/1103"/>
<meta property="og:image" content="http://www.kirkleescollege.ac.uk/photo/news/1103/full"/>
<meta property="og:site_name" content="Kirklees College"/>
<meta property="og:description" content="This year Rebekah Crowther will take the first steps towards her dream career in fashion retail thanks to a new course at Kirklees College."/>
<title>Kirklees College News - She's in fashion</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Kirklees大学新闻-她在时尚界
这是主体代码,目前在测试服务器上,而不是在实时服务器上

<div id="fb-root"></div>
<script>
$(document).ajaxComplete(function(){
    try{
        FB.XFBML.parse(); 
    }catch(ex){
    }});

(function(d){
  var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
  js = d.createElement('script'); js.id = id; js.async = true;
  js.src = "//connect.facebook.net/en_US/all.js#appId=APPID&xfbml=1";
  d.getElementsByTagName('head')[0].appendChild(js);
}(document));



</script>

<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#appId=APPID&xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-like" data-href="http://www.kirkleescollege.ac.uk/news/<?php echo $id; ?>" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false"></div>

$(文档).ajaxComplete(函数(){
试一试{
FB.XFBML.parse();
}捕获(ex){
}});
(职能(d){
var js,id='facebook jssdk';if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js#appId=appId&xfbml=1”;
d、 getElementsByTagName('head')[0].appendChild(js);
}(文件);
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/all.js#appId=appId&xfbml=1”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);

您必须在代码中添加appid

检查线路

js.src=“//connect.facebook.net/en_US/all.js#appId=appId&xfbml=1”


除了APPID之外,您还需要粘贴自己的APPID。值得一提的是,所有关于APPID的问题都完全在我的网站端。当点击“发布到Facebook”时,即使og内容没有出现在弹出窗口中,它通常也会显示在我的Facebook页面上。