1

我希望用户能够复制和粘贴某些内容的链接,并使用 oembed 将其粘贴到文本框中。从这里我希望能够识别 url 并将其变成一个 oembed 对象或任何你会称之为的对象。(例如 Youtube 页面=> URL=> textarea=> oembed=> 嵌入)

4

2 回答 2

3

您可以使用 jquery oembed 插件来做到这一点:

http://code.google.com/p/jquery-oembed/

希望这可以帮助。干杯

于 2011-05-07T23:04:59.743 回答
0

如果您想要一个不使用外部库的简单 JS 示例(这适用于 Facebook,但可以为其他提供商实现相同的概念)。

$().ready(function() {
  $('.facebookLink').each(function() {
    var container = $(this);
    var url = jQuery.trim(container.text());
    container.text("");
    if (url) {
      $.ajax({
        url: "https://apps.facebook.com/plugins/post/oembed.json/",
        data: {
          "url": url
        },
        dataType: "jsonp",
        async: false,
        success: function(data) {
          container.html(data.html);
        }
      });
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="facebookLink">https://www.facebook.com/FacebookDevelopers/posts/10152128760693553</div>

您可以在此处查看文档..

https://developers.facebook.com/docs/plugins/oembed-endpoints

注意:为了使这个 API 在移动设备上与 ajax 调用一起正常工作;您需要使用端点域“apps.facebook.com”而不是“www.facebook.com”:

https://apps.facebook.com/plugins/post/oembed.json/?url= {content-url}

这是因为如果您使用官方文档“www.facebook.com”中提供的端点,移动设备的用户代理将强制重定向到没有实现此端点的“m.facebook.com”。

于 2015-11-25T23:13:11.153 回答