首先,我会给出我的假设:如果Facebook的URL刮板试图刮你的网页,并无法访问它(例如,如果它是待审核和Facebook刮刀机器人被重定向到“登录”页面),Like按钮和评论等社交插件无法正常工作,因为Facebook认为该URL“无法访问”。 Facebook需要24小时才能再次尝试抓取页面,直到那时,Facebook才会认定它仍然无法访问。
这里是Facebook says有关的网页有多常刮,以及如何强制刮:
Facebook的擦伤您的网页,每24小时,以确保性能是最新的。当Open Graph页面的管理员点击Like按钮并将URL输入到Facebook URL Linter中时,页面也会被抓取。 Facebook会在您的网址上观察缓存标头 - 它会按照首选项的顺序查看“过期”和“缓存控制”。但是,即使您指定的时间较长,Facebook也会每24小时刮一次页面。
请注意,Facebook URL Linter已更名为Facebook Object Debugger。
我可能是错误的基本问题。我会给你我的经验,你可以决定。
我们的网站是一个博客的集合,所有博客文章都有一个“like”按钮,用相同的代码生成(除了喜欢的网址)。默认情况下,所有博客帖子都保存为“草稿”状态,除非您已登录,否则不可用。如果匿名用户尝试访问“草稿”博客帖子,他将被重定向到登录页面。
几个月前,我们遇到了“喜欢”按钮问题,虽然错误表现略有不同:单击Like按钮时,我们得到“URL无法访问”。这只发生在具有“喜欢”按钮并且还没有立即发布(例如,他们被保存为“草稿”状态)的帖子上。我认为这是固定的,当我改变“草稿”视图不显示Facebook社交插件。但是,我注意到,如果您点击某个帖子上的“Like”按钮,“Like”弹出窗口会在屏幕上闪烁片刻,然后消失,并且不会显示“喜欢” “行动正在发生。不同的行为,同样的问题:“赞”按钮不起作用。
与此同时,其他所有帖子上的“赞”按钮都可以正常工作!我测试了这个,然后回到了我不能“喜欢”的帖子。同样的行为:弹出出现并消失,不会发生“喜欢”。
我使用了Chrome的开发人员工具来查看正在进行的HTTP请求,将工作“like”的请求/响应与不工作的“like”进行比较。 “Like”按钮JavaScript向http://www.facebook.com/plugins/like/connect发送一个HTTP POST请求,并返回一些JavaScript。尽我所知,HTTP POST请求在工作和非工作按钮之间是相同的,但响应却不同。下面是一个工作像,随后是一个像JavaScript的响应JavaScript的响应是不工作:
for (;;);{"__ar":1,"payload":null,"jsmods":{"require":[["Plugin","connect",[],["http:\/\/www.hslda.org\/cms\/?q=blog\u00252Fpeeking-through-fence","10151028997762924"]]]}}
for (;;);{"__ar":1,"payload":null,"jsmods":{"require":[["Plugin","disconnect",[],["http:\/\/www.hslda.org\/cms\/?q=blog\u00252Fpoem-just-you"]]]}}
我注意到两种区分:工作版本的“连接”,而非工作版本有“断开“,并且工作版本具有看起来像ID的附加参数。我猜这是这个特定的“喜欢”事件的ID。
我做了一些Google搜索,找不到明确的答案。试图调试这个,我使用Facebook Object Debugger。它发现了一些值得修复的“Like Button Warnings”和“Open Graph Warnings”,但我认为它们不是问题 - 因为它们与像按钮一样工作的URL以及带有类似按钮的URL相同没有工作。因此我决定去Facebook Social Plugin page for the Like Button。我放入不喜欢的博客文章的URL,并尝试喜欢它。有效。我想知道,“页面上的按钮是否仍然断开?”我不喜欢它,因为我已经喜欢它了。所以我问一个同事试图和喜欢这个帖子,这对他有用。然后我让我的同事不像帖子,我不喜欢它(所以我们不喜欢),然后我再次尝试喜欢它,使用博客文章中的按钮。有效。
所以,好像有一次我“强迫”页面被再次刮掉,它开始工作。但也有可能的是,通过Like按钮页面“强制”类似的东西也打破了一些松散的...不确定。
今天刚开始有这个问题。你有没有解决这个问题?我已经使用Facebook Like按钮很多次,没有任何问题。从今天开始,喜欢按钮的按钮会闪烁到0到1,然后在喜欢我的域上的页面时瞬间回到0。 – 2011-07-11 07:43:31
可能重复的[Facebook Like-button问题](http://stackoverflow.com/questions/2995840/facebook-like-button-problem) – Gilles 2011-07-23 11:49:05