是否有任何简单的方法可以检测oEmbed URL是否仍返回任何内容?如果是这样,有没有办法用某种后备内容来替换丢失的oEmbed内容?
例如,如果我粘贴一个instagram。在我的帖子中,WordPress会识别它,并使用oEmbed将Instagram的嵌入小部件注入到博客帖子中。这为访问者提供了丰富的体验,包括描述、标签、指向在Instagram上发布图像的人的链接等。
然而,随着时间的推移,一些用户从Instagram中删除旧图像的可能性越来越大。一旦发生这种情况,就不会有任何东西可以嵌入,博客帖子也将不再有任何图像。在这种情况下,我希望能够检测到oEmbed内容的(联合国)可用性,并提供一个优雅的回退,例如本地存储的图像。
如果有人知道如何做到这一点,我们将非常感谢您的帮助。
最合适的回答,由SO网友:Mark Kaplun 整理而成
可能不切实际。如果不控制内容,则无法知道在查看时是否可以嵌入。在youtube/vimeo的环境中,最简单的例子就是可以被限制的视频,无论是私有的还是地理限制的。在这种情况下,内容仍然可以嵌入,但用户会看到某种“此内容受到限制”消息。在这种情况下,您可能希望显示其他内容,但无法在wordpress端检测到此类事件。Youtube有JS API,它可能会给你提供相关的指示,但并不是所有的服务提供商都有这样的API(wordpress oembed server部分代码中没有这样的东西)
您可以通过尝试每隔几天对所有帖子执行一次oembed协议来检测内容删除,但假设这样做不存在缩放问题,那么当oembed失败时,您会怎么做呢?您不能用其他内容替换视频或歌曲,使用服务器上的instagram图像侵犯了版权。
如果你担心这样的事情,那就像美国有线电视新闻网(CNN)在嵌入推文时所做的那样,将推文文本复制为其内容的一部分,换句话说,如果你有其他内容,只需在嵌入内容的一侧使用即可。