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