2011-04-23 60 views
0

我增加了一个标准的Facebook像按钮我的网页:问题与Facebook类似按钮

function CreateNewLikeButton() { 
    var elem = $(document.createElement("fb:like")); 
    elem.attr("width", "200"); 
    elem.attr("layout", "standard"); 
    elem.attr("font", "arial"); 
    $("div#fb-root").empty().append(elem); 
    FB.XFBML.parse($("div#fb-root").get(0)); 
} 

当我点击它,我收到,指出当前的URL不可用错误。

当前的URL是http://localhost ....

怎么办?

回答

0

您还需要拥有“href”属性。

function CreateNewLikeButton() { 
    var elem = $(document.createElement("fb:like")); 
    elem.attr("width", "200"); 
    elem.attr("layout", "standard"); 
    elem.attr("font", "arial"); 
    elem.attr("href","http://site.com/page.php"); 
    $("div#fb-root").empty().append(elem); 
    FB.XFBML.parse($("div#fb-root").get(0)); 
} 

你应该把你在的“href”指定的页面的<head>部分opengraph标签,这样你就可以管理你的意见。

欲了解更多信息,请访问 facebook developers documentation

+0

谢谢您的回答。我没有使用href,因为页面的url包含querystring,所以在设计时我无法知道确切的url。我添加了元标记,但仍收到错误消息。我必须提到,虽然我收到了这条消息,但链接保存在facebook用户档案下 – user342319 2011-04-24 14:04:49

0

两个问题:

  1. 你需要告诉Facebook在一些时尚是什么网址被“喜欢”

  2. Facebook需要能够访问该网址。如果你的URL是“本地主机”,那么Facebook将无法连接到它。从Facebook Social Plugin page for the Like Button

什么时候Facebook的刮我的网页?

Facebook需要刮你的页面,以了解如何在网站上显示它。 Facebook每24小时刮一次你的页面,以确保属性是最新的。当Open Graph页面的管理员点击Like按钮并将URL输入到Facebook URL Linter中时,页面也会被抓取。 Facebook会在您的网址上观察缓存标头 - 它会按照首选项的顺序查看“过期”和“缓存控制”。但是,即使您指定的时间较长,Facebook也会每24小时刮一次页面。 刮板的用户代理是:“facebookexternalhit/1.1(+ http://www.facebook.com/externalhit_uatext.php)”