2

我正在尝试实现一个功能,比如用户输入一个 url 并且在显示该 url 时我想要一个自定义显示(如果是来自 youtube 的视频,则为嵌入对象,如果是图像链接,则为缩略图,标题和摘录如果是正常链接,则为正文)。

如何实现这样的功能?

4

4 回答 4

7

有一个名为 oEmbed 的新想法,一些网站(Flickr、Vimeo 和其他一些网站)支持解决这个问题。o嵌入站点

否则,只需根据您选择的列表检查站点,然后提取相关位以构建嵌入链接。

于 2009-01-25T17:14:11.127 回答
2

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

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

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

  1. 用户在 humanzz.com 的网页上输入一个 url,然后按下一个按钮,如 facebooks 的预览按钮
  2. 对 humanzz.com 上的专用页面进行 AJAX 调用
  3. humanzz.com 确实会调用远程网站并获取其数据
  4. AJAX 调用现在返回页面的数据(oEmbed JSON 对象)

这涉及太多服务器的开销。

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

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

将脚本标签动态添加到您的页面

< script type="text/javascript" src="http://oohembed.com/oohembed/?url=http%3A//www.amazon.com/Myths-Innovation-Scott-Berkun/dp/0596527055/ &callback= myCallBack "></script>

这将导致执行很棒的 myCallback(oEmbedJSONObject)。

该解决方案的问题是您仍然必须对没有 oEmbed 表示的网站进行后备。

于 2009-01-27T18:56:26.317 回答
1

对于嵌入式的东西,我一直在使用 auto_html ( https://github.com/dejan/auto_html ) 并取得了巨大的成功 (vimeo, youtube, images),甚至自己添加了 soundcloud。但我仍在寻找具有类似 facebook 的图像和文本的“缩略图”生成。

于 2012-05-29T01:03:15.790 回答
0

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

如果它是一些 youtube 视频的链接,那么你必须看看 Youtube 视频的嵌入是如何工作的。您可以只复制 Youtube 本身提供的代码,然后将带有 URL 的部分交换为带有您从用户那里获得的 URL 的视频。

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

于 2009-01-25T17:08:40.187 回答