首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery从youtube加载meta标签内容

jQuery从youtube加载meta标签内容
EN

Stack Overflow用户
提问于 2012-02-03 02:42:35
回答 2查看 531关注 0票数 0

当用户输入链接并按下submit时,我想从youtube加载meta标签。我试过以下几种方法:

代码语言:javascript
复制
<div id="container">
<center>
<input type="text" id="url" />
<div><a href="#" id="loadnow">Load youtube  video</a></div>
    <div id="wrap">
        <div id="title"></div>
        <div id="info"></div>
        <div id="link"></div>
        <div id="video"></div>
    </div>
</center>
</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$('#loadnow').click(function(){
    var url = $('#url').val();
    $('#wrap').fadeOut(function(){
            $('#title').load(url + 'meta[itemprop=name]').attr("content");// second try
        $('#info').load('url meta[itemprop=description]'); //first try
        $('#link').load('url meta[itemprop=url]');
        var videoUrl = $('#video').load('url meta[itemprop=name]');
        $('#video').html("<iframe width='560' height='315' src='"+videoUrl+"' frameborder='0' allowfullscreen></iframe>");
        $('#wrap').fadeIn();
    });
});
});
</script>

如何从youtube加载这些元标记并将其输出给用户?我在谷歌上找不到任何关于它的东西。

编辑:它不返回任何内容。

EN

回答 2

Stack Overflow用户

发布于 2012-02-03 02:49:49

所以这几乎是正确的:$('#title').load(url + 'meta[itemprop=name]').attr("content");,变量被组合成字符串的其余部分,但您需要在url变量和字符串的其余部分之间留一个空格,以便jQuery知道meta[itemprop=name]不是URL的一部分:

代码语言:javascript
复制
$('#title').load(url + ' meta[itemprop=name]').attr("content");

现在,您将遇到从另一个域请求内容的问题。因此,您需要使用JSONP或创建一个服务器端代理来为您收集远程信息。

更新

我认为对您最有帮助的是设置一个代理来从YouTube网站抓取信息,或者使用更好的您可以使用YouTube API之一:http://code.google.com/apis/youtube/overview.html

票数 0
EN

Stack Overflow用户

发布于 2012-02-03 02:50:04

您尝试通过AJAX访问不同域上的内容。由于same origin policy的原因,这是不可能的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9118043

复制
相关文章

相似问题

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