多个开放图形标签,哪一个优先?

时间:2014-09-07 21:00:59

标签: html facebook metadata facebook-opengraph reddit

我见过各种关于FB开放图形图像标签的SO线程,例如:Facebook multiple og:image tags - Which is Default?

这些线程已有2.5年历史,所以我想知道规则是否已更新。此外,所显示的最高分辨率图像的接受答案似乎不完美。如果图像不一样怎么办?例如,如何为主页创建一个图像,然后在加载AJAX的页面上创建另一个图像?

由于这些规则被FB,Reddit和许多高流量网站使用,显然这些信息非常有价值。谢谢!

1 个答案:

答案 0 :(得分:0)

由于reddit是开源的,你可以看看它的行为是什么。

您要查看的地方是_find_thumbnail_image()。现在,这是与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

因此,它会使用Beautiful Soup's find() method returns,这应该是第一个匹配的标记。