我对Facebook有一个奇怪的问题。当我在MSIE 9中共享我的内容时,它在我第一次共享URL时成功加载缩略图,但如果我再次共享它,则缩略图不会加载(并且永远不会再次加载)。它只是显示他们的动画“加载”图像几秒钟,然后消失,缩略图选项也是如此。
您可以通过点击MSIE 9中的这些Facebook共享链接自行查看。
相同的共享功能在其他浏览器中运行良好,并且从同一个MSIE 9共享其他页面(例如Youtube视频)每次都可以正常工作。
运行Facebook's debugger无法解决问题,也无法报告我页面上OpenGraph标记的任何问题。它甚至会显示有问题的缩略图。
查看Facebook中“开发人员工具”的“网络”选项卡,显示每次共享内容时都会加载缩略图。
更新
我发现MSIE 9会在以下条件下显示图像: - 如果我已经在我的缓存中有图像了 - 如果浏览器没有向服务器发出图像来自safe_image.php的请求。
如果刷新页面,我无法加载图像,因为它向服务器请求safe_image.php。无论响应是200还是304,图像都不会显示。但是,如果我然后转到位置栏并按Enter键,这是一个“导航”事件而不是“刷新”,则不会对图像发出请求,并且会显示(从缓存加载后)。
我尝试过从其他域提供图像,添加og:image:secure_url标记,让Facebook在不同的域上抓取HTML,这是我迄今为止所做的最好的。不幸的是,它没有用,因为这意味着来自任何用户的第一份分享将无法正常工作。
答案 0 :(得分:2)
Facebook不再支持fb的共享功能 你应该使用javascript api:https://developers.facebook.com/docs/reference/dialogs/feed/
的feed对话框部分还要确保您的og元标记包含可能是您的问题的正确信息http://ogp.me/,图片大小为元标记,图片应至少为200x200,以优化og元数据的抓取< / p>
获得的错误答案 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会产生以下下载框:
令我感到奇怪的是,下载是因为它被识别为 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 file和this 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