Html 多个open graph标记,哪一个优先?
我见过关于FB open graph图像标记的各种SO线程,例如: 这些线程已经有2.5年的历史了,所以我想知道规则是否已经更新了。此外,最高分辨率图像显示的公认答案似乎不完美。如果图像不一样怎么办?例如,如何为主页创建一个图像,然后在AJAX加载的页面上创建另一个图像Html 多个open graph标记,哪一个优先?,html,facebook,metadata,facebook-opengraph,reddit,Html,Facebook,Metadata,Facebook Opengraph,Reddit,我见过关于FB open graph图像标记的各种SO线程,例如: 这些线程已经有2.5年的历史了,所以我想知道规则是否已经更新了。此外,最高分辨率图像显示的公认答案似乎不完美。如果图像不一样怎么办?例如,如何为主页创建一个图像,然后在AJAX加载的页面上创建另一个图像 由于FB、Reddit和许多高流量网站都使用这些规则,显然这些信息非常有价值。谢谢 由于reddit是开源的,您可以查看它的行为 你想找的地方是。现在,这是与Open Graph相关的代码: # Allow the co
由于FB、Reddit和许多高流量网站都使用这些规则,显然这些信息非常有价值。谢谢 由于reddit是开源的,您可以查看它的行为 你想找的地方是。现在,这是与Open Graph相关的代码:
# Allow the content author to specify the thumbnail using the Open
# Graph protocol: http://ogp.me/
og_image = (soup.find('meta', property='og:image') or
soup.find('meta', attrs={'name': 'og:image'}))
if og_image and og_image['content']:
return og_image['content'], None
og_image = (soup.find('meta', property='og:image:url') or
soup.find('meta', attrs={'name': 'og:image:url'}))
if og_image and og_image['content']:
return og_image['content'], None
所以,它会使用任何东西,哪一个应该是第一个匹配的标签。——Facebook在其文档IIRC中引用了它自己——说,“如果一个标签可以有多个值,只需在你的页面上放置同一标签的多个版本。在冲突期间,会优先选择第一个标签(从上到下)。”…不确定FB是否尊重这一点,但在图像方面,他们可能更愿意选择他们认为在新闻提要/时间轴中显示最好的大小或纵横比。“例如,如何在主页上显示一幅图像,然后在AJAX加载的页面上显示另一幅图像?”——这是一个完全不同的问题。开放图形对象由其URL标识——如果您想共享通过AJAX加载的内容,请确保内容有自己的唯一URL,Facebook的scraper可以从中请求OG元数据。