javascript - Facebook 分享不显示来自开放图元标签的图像

标签 javascript html facebook meta-tags social-media

我正在尝试将 Facebook 分享按钮集成到我雇主的网站,标题、网址、描述/介绍都正确显示,但没有附加图像。 当共享对话框打开时,图像容器会闪烁然后消失,就好像 Facebook 正在尝试处理图像但失败了一样。

我正在使用 og:image 和链接关系来尝试指定用于共享链接的图像:

<meta property="og:image" content="/images/logo_white_150px.png" />
<link rel="image_src" type="image/png" href="/images/logo_white_150px.png" />

该图像曾经有效(适当缩放)但不再有效,我也尝试了其他不同大小和格式的图像但没有成功。

这是我在 header 中使用的开放元标记:

<!DOCTYPE html>
<html xmlns:fb="http://ogp.me/ns/fb#" itemscope itemtype="http://schema.org/Article" xmlns:og="http://ogp.me/ns#">
  <head>    
    <meta property="og:type" content="landing page" />
    <meta property="og:title" content="Social Media Test Page" />
    <meta property="og:description" content="This is a page for testing the behavior of social media buttons..." />
    <meta property="og:image" content="/images/logo_white_150px.png" />
    <link rel="image_src" type="image/png" href="/images/logo_white_150px.png" />
    <meta property="og:image:type" content="image/png" />
    <meta property="og:url" content="<%=shortUrl%>" />
    <meta property="og:site_name" content="site name" />
    <meta property="og:medium" content="mult" />
  </head>

这是我在正文开头使用的 JavaScript:

  <body>
    <script type="text/javascript">
      (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
        fjs.parentNode.insertBefore(js, fjs);
      } (document, 'script', 'facebook-jssdk'));
    </script>
  ...

下面是我使用按钮的方式:

  <div class="left" style="text-align: center;">
    <a name="fb_share" type="button" share_url="<%=shortUrl%>">Share</a>
    <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
  </div>

非常感谢任何帮助,提前致谢
克里斯。

最佳答案

如果抓取结果一切正常,请尝试使用 Facebook Debugger 获取新的抓取信息.

这是因为 Facebook 使用自己的 og:data 缓存。

关于javascript - Facebook 分享不显示来自开放图元标签的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814224/

相关文章:

javascript - 提交给 servlet 的隐藏表单字段值不正确

javascript - 另一个 javascript 库上的 Angular 2 templateURL 功能

javascript - jQuery 显示函数扭曲页面样式

javascript - 一键添加多个 .appends

Spring boot Security,Oauth2 将访问 token 替换为来自 facebook 的长期 token

javascript - jQuery on() 不触发动态元素

javascript - 更改许多输入字段的值

javascript - 新的 Facebook Messenger Webview 无法正常工作

javascript - 当我在 img 标签周围添加链接时,将元素居中对齐在 img 元素上不起作用

ios - 如何检查我的应用在何处使用 IDFA