如何告诉Reddit忽略缩略图的Logo?

时间:2017-05-24 09:54:38

标签: javascript html facebook facebook-opengraph reddit

当用户从我的网站分享内容时,缩略图中出现的图像通常是网站的徽标而不是图像本身。

如何告诉reddit忽略徽标?

我搜索了很多,并找到了关于如何指定reddit应该与og image元标记一起使用的图片的答案,但我不能这样做,因为我的网站是UGC的一部分,这意味着我不会&#39 ; t知道每张图片的绝对URL是什么。

例如:reddit not pulling scraping image on link post

修改

这似乎并不适合我。它适用于你的吗?

<script>
function img_find() {
    var imgs = document.getElementsByTagName("img");
    var imgSrcs = [];

    for (var i = 0; i < imgs.length; i++) {
        imgSrcs.push(imgs[i].src);
    }

    return imgSrcs;
}var result = img_find();
$("meta[property='og:image']").attr("content", result[1]);
</script>

3 个答案:

答案 0 :(得分:4)

我找到了解决方案。

property="og:image"添加到我希望选中的<img>工作。

答案 1 :(得分:3)

您的代码

$("meta[property='og:image']").attr("content", result[1]);

几乎是解决方案。让我们做最后一步:

$("meta[property='og:image']")
    .attr("content", $('css_selector_of_the_img')[0].src);

那么css_selector_of_the_img是什么?由于您有网站徽标,我假设您的图片周围有一些HTML。可能该图像具有className或放入容器中,例如css_selector_of_the_img可以是div.content imgimg.uploaded。扔掉你的img_find函数J。

答案 2 :(得分:2)

@Kosh的观点回答是使用jQuery将og:image标记设置为页面中的第一个图像,但这取决于reddit刮刀的功能,这是刮刀是否可以运行javascript。

另一个解决方案是使用正则表达式来解析UGC中的图像,并将其用作页面生成器中的og:image网址。

希望有所帮助。