facebook如何';s共享链接功能工作吗?

facebook如何';s共享链接功能工作吗?,facebook,Facebook,我正在尝试实现这样一个功能,用户输入一个url,在显示该url时,我希望有一个自定义显示(如果是来自youtube的视频,则为嵌入对象;如果是图像链接,则为缩略图;如果是普通链接,则为标题和正文摘录) 如何实现这样的功能?我想您必须通过手动解析您获得的URL类型来自行构建它。 如果它是一个图像url,那么你只需要重新缩放它,以防用户点击它,然后以某种方式打开原始url来处理它 如果它是某个youtube视频的链接,那么你必须看看youtube视频的嵌入是如何工作的。您只需复制Youtube本身提

我正在尝试实现这样一个功能,用户输入一个url,在显示该url时,我希望有一个自定义显示(如果是来自youtube的视频,则为嵌入对象;如果是图像链接,则为缩略图;如果是普通链接,则为标题和正文摘录)


如何实现这样的功能?

我想您必须通过手动解析您获得的URL类型来自行构建它。 如果它是一个图像url,那么你只需要重新缩放它,以防用户点击它,然后以某种方式打开原始url来处理它

如果它是某个youtube视频的链接,那么你必须看看youtube视频的嵌入是如何工作的。您只需复制Youtube本身提供的代码,然后使用用户提供的URL将部分内容交换到视频中


我从来没有实现过这样的东西,但我认为它应该以某种方式像这样工作。

有一个新的想法叫做oEmbed,一些网站支持(Flickr、Vimeo和其他一些网站)解决了这个问题


否则,只需对照您选择的站点列表检查站点,然后取出相关的位来构建嵌入链接。

我非常喜欢oEmbed的想法,但不幸的是,它还没有被广泛采用。 oohEmbed试图通过为许多网站构建oEmbed来解决这个问题

为了让该功能正常工作,它需要服务器的交互,我相信下面的场景就是它的工作方式

假设我们有humanzz.com网站,它提供了这样的功能

  • 用户在humanzz.com的网页上输入一个url,然后按下类似facebooks的预览按钮
  • 对humanzz.com上的专用页面进行AJAX调用
  • humanzz.com会给远程网站打电话并获取其数据
  • AJAX调用现在返回页面的数据(oEmbedJSON对象)
  • 这涉及到太多的服务器开销

    我真的很想使用JavaScript,因为服务器的角色只是绕过“同源策略”的限制

    oohEmbed允许通过向oohEmbed指定回调参数绕过服务器步骤,以便将返回的JSON对象传递给页面上的回调函数。 下面是说明这一点的示例

    向页面动态添加脚本标记

    这将导致执行myCallback(oEmbedJSONObject),这非常好


    这个解决方案的问题是,对于没有嵌入表示的网站,您仍然必须有一个后备方案。

    对于嵌入的东西,我一直在使用auto_html()并取得巨大成功(vimeo、youtube、images),甚至我自己也添加了soundcloud。但我仍然在寻找一个像facebook一样的图像和文本的“缩略图”代。

    我不知道这一点。谢谢分享,谢谢。这对我来说是全新的,知道这一点真的很有用。我认为,在实现基于oEmbed的解决方案时,这个提供者也是必须的。更新:(仅供参考)我一直在研究这个特性,现在我正在实现一种使用开放图协议提取标题、缩略图等的方法