当前位置: 首页 > 知识库问答 >
问题:

Facebook共享对话框在首次加载时不显示缩略图

楚宇
2023-03-14

我正在使用Facebook共享对话框共享特定的url。共享链接包含一个映像,该映像应该是稍后共享的一部分。奇怪的是,它在移动浏览器上完全可以正常工作。但是桌面浏览器不会在第一次尝试时加载图像。只需重新加载共享窗口即可修复丢失的图像。一旦此图像显示至少一次,它将在其他浏览器中继续工作,而无需重新加载。。

所以我的问题是:有人知道为什么这个网址的第一次调用不显示图像吗?

详细资料

用于打开共享对话框的链接

这是Facebook调试器的输出,它没有错误,也显示了图像。

Facebook调试器输出

使现代化

似乎在使用提要对话框时没有任何问题。但这是另一种分享方式,我想阻止,因为它需要一个应用程序ID。

共有3个答案

伏砚
2023-03-14

我找到了另一种方法来强制facebook爬虫在你点击分享按钮之前检查页面:只需包含一个带有分享者facebook链接的隐藏iFrame。

示例:

<iframe src="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.example.com" style="width: 0px; height: 0px; margin: 0px; padding: 0px;"></iframe>
赵驰
2023-03-14

Facebook显示缓存的图像。它会在第一次提交共享或者Facebook爬虫在你的页面上找到og:image标签时这样做。

根据Facebook的文档https://developers.facebook.com/docs/sharing/best-practices#pre-缓存图像

“我们的一些社交插件在有人与他们交互时呈现图像。图像基于页面上的og:image,或者如果未设置og:image,则基于页面上的其他图像。在社交插件呈现图像之前,Facebook的爬虫程序必须至少查看一次图像。对于页面频繁更改的网站(例如,电子商务)第一个单击这些插件的人将看不到渲染图像。”

尉迟墨竹
2023-03-14

我也遇到过这个问题,事实证明脸谱网有一个未记录的“功能”,可能是为了优化而实现的。它不会在第一次共享期间加载您的图像。

错误描述可以在这里找到:https://developers.facebook.com/bugs/657696104321030

简言之,解决方案是两种可能性之一。

>

  • 最简单的方法是将og:image:width和og:image:height作为描述图像像素宽度和高度的ogtag的一部分。奇怪的是,这将(显然是设计上的)说服Facebook立即删除网站,包括图片。

    第二个潜在的解决方案是通过API手动触发刮擦。我没有测试过这个,但理论上是有可能的。请参阅有关此主题的相关Stackoverflow讨论。

  •  类似资料:
    • 问题内容: 我正在创建用于更改图像的对话框。而不是让用户单击文件输入字段,而是希望立即显示它。输入字段只是一个: 页面加载时是否有显示方式? 如果有一个角度的方法可以做到这一点。 问题答案: 如此处所述,仅InternetExplorer允许以编程方式打开“文件上传”对话框。因此,简短的答案是“否”,没有办法在页面加载时自动打开“文件上传”对话框。 您可能会考虑的长答案是,当用户单击任何内容时都可

    • 问题内容: 当有人首次访问页面时(登录我的应用程序后),我试图显示一种引导模式。我想使用模式来提供“入门”视频,并提供“不要再向我展示”复选框,以便访问者可以在以后的登录时绕过“入门模式”。 我可以使用以下教程在页面加载时显示模式: 在页面加载时启动Bootstrap Modal 但是,现在我只停留在如何使它仅在用户登录后第一次访问该页面时显示它(它当前在刷新页面时启动等)。 我是Java语言和编

    • 我试图设置一个自定义缩略图,当人们在Facebook上分享我的网站。我在这里关注了这篇文章:当分享我的网址时,脸书共享者如何选择图像和其他元数据? 看来这个信息可能是过时的,因为我无法让它工作。有人能告诉我是否有变化,现在如何处理? 我现在脑子里有这个,但它不起作用:

    • 问题内容: 我有一个警报,我想在第一次启动应用程序后仅在第一次显示。 我怎样才能做到这一点? 问题答案: 有几种方法可以做到这一点,但最简单的方法可能只是检查SharedPreferences对象中的标志,并在显示警报后对其进行设置。 共享首选项 就像是

    • 嗨,我是primefaces的新手,我对数据表中显示的值有一些问题。我从sql数据库加载数据,并在dataTable中显示这些数据。有一个柱子叫做“评论”,里面有一个按钮。如果你点击这个按钮,就会打开一个对话框。在这个对话框框架内,也应该有一些与我在dataTable中显示的相同的值,但它不起作用。我无法显示该对话框框中的值。我在谷歌上搜索了很多次,也尝试了很多次,但都无济于事。下面是xhtml: