Facebook喜欢或与动态文档标题共享
我发现这个问题遍布网络,但没有答案,所以也许这里有人解决了它......? 我建立了一个严重依赖jquery.address的页面。它有一个索引页面,其余的部分是通过Ajax按照谷歌的/#!/
方案为可抓取页面动态加载的。现在我想添加Facebook赞或分享按钮,但我无法获取它实际的页面标题或网址。Facebook喜欢或与动态文档标题共享
无论我做什么,它总是会回退到索引页的标题和网址。它试图:
- (显然)改变标题一个openGraph元加载的新零件。
- “链接”搜寻器页面(
?_escaped_fragmet_=xyx
),但在指定页中的元 - “共享”给定的标题和URL。
我从来没有得到任何东西,只是一个链接到索引页或空白的“共享”到标题和缩略图被忽略的正确的网址。
有没有人有类似的设置工作?
感谢您的任何提示, 托马斯
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时一样。
比较:
和
希望这有助于。
你找到一个解决办法了吗?因为我仍然找不到一个。 Facebook使用#!本身,但似乎并不支持他们的爬虫权利? – 2011-08-23 13:15:30
我其实发现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
你也可能想要检查https://github.com/balupton/history.js/wiki/Intelligent-State-Handling清洁解决方案 – thomas 2011-08-23 13:48:47