当前位置: 首页 > 面试题库 >

基于Ajax的网站上的OpenGraph

羊舌迪
2023-03-14
问题内容

我有一个网站,该网站完全基于Ajax(哈希导航)。

有没有一种方法可以使用Javascript刷新基于ajax的网站的Open Graph元标记?(当我单击一个链接时,标记和其中的值应更改)


问题答案:

否。OpenGraph标记必须出现在带有纯HTTP的GETable的HTML页面上。

这是因为当用户与OG对象进行交互(例如执行操作等)时,Facebook将在OG URL上执行HTTP GET,并期望看到标记中返回的OG标签。

解决方案是为每个对象创建规范的URL。这些URL包含基本的HTML标记,包括OG标签。

在对这些URL的请求中,如果看到包含“
facebookexternalhit”的传入用户代理字符串,则呈现HTML。如果您不这样做,则可以使用302重定向到您的ajax URL。在ajax
URL上,您的“喜欢”按钮和您发布的所有OG操作均应指向规范的URL对象

例:

作为用户,我在http://yoursite.com/#!/artists/monet上。我单击了“喜欢”按钮,或发布了一个动作,但是“喜欢”按钮的href参数或发布动作时对象的URL应该是对象的网络可点击规范网址-
在这种情况下,也许是http:// yoursite .com / artists /
monet

当使用浏览器的用户点击http://yoursite.com/artists/monet时,您应该将其重定向到http://yoursite.com/#!/artists/monet,但是如果传入的用户代理说这是Facebook的刮板,您只需返回代表艺术家莫奈的标记。

有关真实示例,请参阅均使用此设计模式的Deezer,Rdio和Mog。



 类似资料:
  • 原文链接:Serverless 应用开发指南:API Gateway + S3 + AWS Lambda 打造 CRUD 在前两篇文章《Serverless 应用开发指南: serverless 的 hello, world》和 《Serverless 开发指南:AWS IoT 服务开发》 里,我们简单地介绍了如何用 Serverless 和 AWS IoT 开发入门级的 Serverless 应

  • 我正在开始一个网站,可能会得到很多关注从钓鱼机器人在评论或电子邮件。 如何检测和阻止基于硒的机器人?我更喜欢开源框架,这样我就可以实时更新代码。该网站基本上使用JavaScript、HTML5和Apache上的CSS。

  • 问题内容: 基本安装nginx后,您的文件夹只有一个文件: 该文件夹如何工作,我将如何使用它托管多个(单独的)网站? 问题答案: 只需添加另一种方法,您就可以为托管的每个虚拟域或站点使用单独的文件。您可以将默认副本作为每个副本的起点,并为每个站点进行自定义。 然后在启用站点的站点中创建符号链接。这样,您可以通过添加或删除符号链接并发布服务nginx重新加载来访问站点。 在进行站点维护时,您可以发挥

  • 本文向大家介绍基于jsp的AJAX多文件上传的实例,包括了基于jsp的AJAX多文件上传的实例的使用技巧和注意事项,需要的朋友参考一下 最近的项目开发中,遇到了一个多文件上传的问题,即在不刷新页面的情况下,上传多个文件至服务器。现总结分享如下: 本文主要采用了基于jsp的ajax,jquery,servlet等技术。 1.upload.jsp 点击上传时,调用对应的fileupload函数,通过a

  • 该网站的文章加载方式是ajax吗?通过开发者工具查看返回的不是json数据,而是整个HTML文档,但是页面并没有刷新,而是将新增的文章添加进去了? 参考网站:https://www.c4d6.com/moxing 这种网站的加载方式是如何实现的呢?

  • 我喜欢基于组件的方法为不同的组件创建不同的文件夹。所以我目前有: 我希望我的html看起来像下面的标题代码(包括引导和自定义css类): 我如何实现这一点?我是应该将这个导入到(我使用的是webpack),还是应该在创建两个并将其追加到主体之后,在中手动添加这些类?我知道第二个选项是乏味的,但我不认为第一个选项将使标题可重用的其他页面。有没有我没有提到的更好的办法?