Facebook未在后续股票中显示og:MSIE9中的图像缩略图

时间:2012-12-03 18:16:25

标签: facebook internet-explorer-9

我对Facebook有一个奇怪的问题。当我在MSIE 9中共享我的内容时,它在我第一次共享URL时成功加载缩略图,但如果我再次共享它,则缩略图不会加载(并且永远不会再次加载)。它只是显示他们的动画“加载”图像几秒钟,然后消失,缩略图选项也是如此。

您可以通过点击MSIE 9中的这些Facebook共享链接自行查看。

Example 1 Example 2

相同的共享功能在其他浏览器中运行良好,并且从同一个MSIE 9共享其他页面(例如Youtube视频)每次都可以正常工作。

运行Facebook's debugger无法解决问题,也无法报告我页面上OpenGraph标记的任何问题。它甚至会显示有问题的缩略图。

查看Facebook中“开发人员工具”的“网络”选项卡,显示每次共享内容时都会加载缩略图。

更新

我发现MSIE 9会在以下条件下显示图像: - 如果我已经在我的缓存中有图像了 - 如果浏览器没有向服务器发出图像来自safe_image.php的请求。

我一直在搞乱这个测试页面:http://www.facebook.com/sharer/sharer.php?u=http://c2a-v3-staging.s3.amazonaws.com/sparks%2Fspark_5079%2Findex_test.html

如果刷新页面,我无法加载图像,因为它向服务器请求safe_image.php。无论响应是200还是304,图像都不会显示。但是,如果我然后转到位置栏并按Enter键,这是一个“导航”事件而不是“刷新”,则不会对图像发出请求,并且会显示(从缓存加载后)。

我尝试过从其他域提供图像,添加og:image:secure_url标记,让Facebook在不同的域上抓取HTML,这是我迄今为止所做的最好的。不幸的是,它没有用,因为这意味着来自任何用户的第一份分享将无法正常工作。

3 个答案:

答案 0 :(得分:2)

Facebook不再支持fb的共享功能 你应该使用javascript api:https://developers.facebook.com/docs/reference/dialogs/feed/

的feed对话框部分

还要确保您的og元标记包含可能是您的问题的正确信息http://ogp.me/,图片大小为元标记,图片应至少为200x200,以优化og元数据的抓取< / p>

您还可以查看元数据从https://developers.facebook.com/tools/debug

获得的错误

答案 1 :(得分:2)

解决!奇怪的是,问题在于图像的尺寸。如果我缩小og:image的尺寸以适应255x255像素的盒子,那么共享在MSIE9中完美运行!略大的尺寸,如262x262,不起作用。

当然,我必须通过Facebook调试工具运行URL来清除它们的缓存。

答案 2 :(得分:1)

我对你的问题有另一个答案。

参考:https://sparkengine.call2action.com/sparks/5186/live

您想要分享的上述网页没有 Facebook Opengraph 协议,用于在与Facebook分享链接时使用的网页缩略图。

这就是metatag的样子:

<meta property="og:image" content="https://sparkengine.call2action.com/assets/c2a_logo_white-6396a6a536d065359780af683e66dd2a.png"/>

详细了解如何使用此名称HERE

Facebook的调试器工具中,它可能只显示在调试器中呈现的缩略图,但不一定与共享链接过程相关联。

虽然您在网络标签中看到 缩略图 ,但不一定会在共享链接过程中使用它,因此 Facebook Opengraph 协议解决了这个问题,并允许进一步定制。


修改
在撰写本文时,您的网页模板已更改。我现在注意到以前唯一见过的og metatag名称:

og:video
og:video:height
og:video:width

现在包含og:image元标记以及其他新添加的og元标记属性。

og:image metatag提供的当前图片文件:

https://c2a-v3.s3.amazonaws.com/sparks/spark_5186/media/thumbnails/spark_5186_09_28_2012_WgZN50Q.jpg

在Firefox网页浏览器中,但不是在IE8中,直接在浏览器地址栏中访问og:image会产生以下下载框:

enter image description here

令我感到奇怪的是,下载是因为它被识别为 flash电影。可以肯定的是,IE8中没有出现任何问题。

然后我直接在Chromes网络浏览器中测试了该图像缩略图链接,这导致该图像的自动下载,但它没有显示在浏览器中,将其视为下载的mime类型文件。

对于两个示例中的两个缩略图都是如此。也许服务器端 flash-to-thumbnail 正在使用不正确的mime文件类型信息保存图像。在 IfranView 中下载和分析后,.jpg image未报告错误,因为IrfanView将检查文件头以确保它自动匹配文件类型扩展名。我将研究如何在后端创建这些缩略图。


DIGGING DEEPER:

我现在明白,您无法控制这些缩略图的制作方式,因为这是由亚马逊s3 Web服务器完成的服务/流程。

深入挖掘,我发现此图片文件网址的主要域名是XML File

参考:https://c2a-v3.s3.amazonaws.com

谷歌救援。在使用http://www.元标记的网址时,我输入了amazon thumbnail opens as filethis article来删除协议https://www.og

Facebook Debugger在删除https://时也没有显示任何错误,即使它将报告为http://协议。

<强>尝试:

<meta content='sparkengine.call2action.com/sparks/5186/live' property='og:url'>
<meta content='c2a-v3.s3.amazonaws.com/sparks%2Fspark_5186%2Fmedia%2Fthumbnails%2Fspark_5186_09_28_2012_WgZN50Q.jpg' property='og:image'>

请注意,任何Facebook用户都可以通过此设置强制 HTTPS 请求,否则会假设 HTTP

生成的共享链接:

http://www.facebook.com/sharer.php?u=http%3A%2F%2Fsparkengine.call2action.com%2Fsparks%2F5186%2Flive