首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Ajax网站的OpenGraph

基于Ajax网站的OpenGraph
EN

Stack Overflow用户
提问于 2012-01-17 22:56:56
回答 3查看 14K关注 0票数 14

我有一个网站,这是完全基于Ajax(散列导航)。

有没有办法使用Javascript为基于ajax的网站刷新Open Graph元标记?(当我点击一个链接时,标签和这些值应该会改变)

EN

Stack Overflow用户

发布于 2013-02-22 20:59:29

再多做一点调查就会得出以下结论:

假设您创建了一个散列如下的应用程序:

代码语言:javascript
运行
复制
http://yoursite.com/#/artists/monet

Facebook的抓取器将调用你的网址,而不是/#/artists/monet部分。这是一个问题,因为您无法知道必须将哪些信息解析到meta og: tags中。

然后尝试使用建议的url,就像Simon说的:

代码语言:javascript
运行
复制
http://yoursite.com/#!/artists/monet

现在你会注意到Facebook的抓取器遵守了google ajax specifications,它会将#!转换成?_escaped_fragment_=,所以URL看起来像这样:

代码语言:javascript
运行
复制
http://yoursite.com/?_escaped_fragment_=/artists/monet

你可以用facebook的调试器自己检查一下:https://developers.facebook.com/tools/debug

将php脚本上传到您的服务器

  • 使用/#/部件转到facebook

  • /#/

  • 单击‘查看我们的抓取器为您的url看到的内容’-再次使用/#!/

  • click‘查看我们的抓取器为您的url看到的内容’-没有哈希再次使用‘查看您的URL的搜索器看到的内容’-哈希片段已转换为

?_escaped_fragment_=

脚本

代码语言:javascript
运行
复制
<html>
  <head>
    <title>Scraping</title>
  </head>
  <body>
    <?
      print_r($_SERVER);
    ?>
  </body>
</html>

或者总结:始终使用/#!/ (哈希)深度链接;)

票数 33
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8896773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档