首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用oembed嵌入youtube视频

使用oembed嵌入youtube视频
EN

Stack Overflow用户
提问于 2011-08-19 23:46:40
回答 5查看 24.3K关注 0票数 7

我想用oembed从youtube的jQuery链接中获取嵌入代码:

代码语言:javascript
复制
var url = "http://www.youtube.com/watch?v=iwGFalTRHDA";
url = encodeURIComponent(url);

$.getJSON('http://youtube.com/oembed?url='+url+'&format=json', function(data) {
console.log(data);
});

我没有得到任何数据。

有趣的是,如果我浏览到url,我会得到正确的响应:

代码语言:javascript
复制
http://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DiwGFalTRHDA&format=json` 

将我引向

代码语言:javascript
复制
{
provider_url: "http://www.youtube.com/"
title: "Trololo"
html: "<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/iwGFalTRHDA?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/iwGFalTRHDA?version=3" type="application/x-shockwave-flash" width="425" height="344" allowscriptaccess="always" allowfullscreen="true"></embed></object>"
author_name: "KamoKatt"
height: 344
thumbnail_width: 480
width: 425
version: "1.0"
author_url: "http://www.youtube.com/user/KamoKatt"
provider_name: "YouTube"
thumbnail_url: "http://i2.ytimg.com/vi/iwGFalTRHDA/hqdefault.jpg"
type: "video"
thumbnail_height: 360
}

我也使用了jquery oembed插件,但是如果请求成功,总是会抛出onError选项。

我真的很期待一些想法...

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-20 02:19:46

实际上,问题是您使用跨域ajax请求违反了浏览器同源策略。有一些潜在的工作可以解决--不幸的是最好的JSONP, isn't implemented by YouTube。第二个最好的方法是使用Flash进行传输。这是由YUI-IO utility使用的。你也可以看到Jquery suggestions here

票数 6
EN

Stack Overflow用户

发布于 2011-08-20 00:13:40

如果我将原始的trololo url嵌入到oembed url中,我就可以很好地获得json数据。我猜,通过在地址栏中键入编码版本,无论如何都会进行一层解码,所以尝试只发送原始版本:

代码语言:javascript
复制
http://youtube.com/oembed?url=http://www.youtube.com/watch?v=iwGFalTRHDA&format=json
票数 1
EN

Stack Overflow用户

发布于 2013-04-29 17:44:37

使用json-c版本:https://developers.google.com/youtube/2.0/developers_guide_jsonc

代码语言:javascript
复制
    var id = "iwGFalTRHDA";
    $.ajax({
        url: "https://gdata.youtube.com/feeds/api/videos/" + id + "?v=2&alt=jsonc",
        dataType: "jsonp",
        success: function (data) {
            console.log(data);
        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7124118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档