Facebook喜欢或与动态文档标题共享

问题描述:

我发现这个问题遍布网络,但没有答案,所以也许这里有人解决了它......? 我建立了一个严重依赖jquery.address的页面。它有一个索引页面,其余的部分是通过Ajax按照谷歌的/#!/方案为可抓取页面动态加载的。现在我想添加Facebook赞或分享按钮,但我无法获取它实际的页面标题或网址。Facebook喜欢或与动态文档标题共享

无论我做什么,它总是会回退到索引页的标题和网址。它试图:

  • (显然)改变标题一个openGraph元加载的新零件。
  • “链接”搜寻器页面(?_escaped_fragmet_=xyx),但在指定页中的元
  • “共享”给定的标题和URL。

我从来没有得到任何东西,只是一个链接到索引页或空白的“共享”到标题和缩略图被忽略的正确的网址。

有没有人有类似的设置工作?

感谢您的任何提示, 托马斯

+0

你找到一个解决办法了吗?因为我仍然找不到一个。 Facebook使用#!本身,但似乎并不支持他们的爬虫权利? – 2011-08-23 13:15:30

+1

我其实发现Facebook正在使用#!两天前。现在它工作了!如果你建立你的网站,使得http://site.de/?_escaped_fragment=something与http://site.de/#!/some相同,你所要做的就是“共享”#!网址,它会显示来自转义片段页面的信息。使用此URL检查:http://developers.facebook.com/tools/debug – thomas 2011-08-23 13:47:55

+0

你也可能想要检查https://github.com/balupton/history.js/wiki/Intelligent-State-Handling清洁解决方案 – thomas 2011-08-23 13:48:47

Facebook现在实际上正在使用#!,它的工作原理!如果你建立你的网站,使http://site.de/?_escaped_fragment=something是相同的http://site.de/#!/something所有你需要做的就是“共享”#!网址,它会显示逃脱片段页面的信息。
使用此URL来检查:http://developers.facebook.com/tools/debug

但是:一个更清洁的解决问题的方法可以在这里找到:http://github.com/browserstate/history.js/wiki/Intelligent-State-Handling

我的猜测是,Facebook的抓取工具无法运行JavaScript,并会始终显示一切实际上是在从服务器获取页面。

Facebook分享了一个残酷的缓存,我最后一次检查是不可能更改标题/描述数据,一旦它被刮了:(

我的问题是OG:url和的实际网址页面不匹配我也读了很多有关标题元素之后的og数据的评论,但我不认为这解决了任何问题

关于缓存问题,Facebook的缓存是“残酷的”,但它并没有缓存lint工具的任何东西:http://developers.facebook.com/tools/debug

我使用no-hash-bang当分享链接时我处理硬链接并将它们重定向到使用javascript的哈希客户端。这样,如果抓取工具转到硬链接页面,它将显示信息,就像启用javascript时一样。

比较:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2F%23!%2FChristmas%2Fvs%2FBacon

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2FChristmas%2Fvs%2FBacon

希望这有助于。