Facebook喜欢或分享动态文档标题

时间:2010-11-30 09:25:36

标签: ajax facebook facebook-like title

我在网上发现了这个问题,但还没有答案,所以也许这里有人解决了......? 我构建了一个严重依赖jquery.address的页面。它有一个索引页面,其余的按照Google的/#!/可抓取页面方案通过Ajax动态加载。现在我想添加Facebook喜欢或分享按钮,但我不能让它获取实际页面标题或网址。

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

  • (显然)在新部件加载时将标题更改为openGraph元。
  • “关联”抓取页面(?_escaped_fragmet_=xyx),但在meta中指定#!页面
  • “分享”给定的标题和网址。

我从来没有得到任何东西,除了链接到索引页面或空白的“分享”到右侧URL,标题和缩略图被忽略。

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

感谢任何提示, 托马斯

4 个答案:

答案 0 :(得分:3)

Facebook现在实际上正在使用#!并且它有效!如果您构建自己的网站,使http://site.de/?_escaped_fragment=somethinghttp://site.de/#!/something相同,那么您只需“共享”#!网址,它就会显示转义的片段页面中的信息。<登记/> 使用此网址检查:http://developers.facebook.com/tools/debug

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

答案 1 :(得分:2)

我的猜测是,Facebook的抓取工具不会运行Javascript,并且会始终显示从服务器获取的页面中的实际内容。

答案 2 :(得分:2)

Facebook共享有一个BRUTAL缓存,上次我检查一旦它被删除就无法更改标题/描述数据:(

答案 3 :(得分:0)

我遇到的问题是og:url和页面的实际网址不匹配。我还阅读了一些有关og数据的评论,这些评论仅在title元素之后,但我认为这并没有解决任何问题。

关于缓存问题,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

希望这有帮助。