我想在用户输入链接并按下提交时从youtube加载元标记。 我试过了以下内容:
<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加载这些元标记并将其输出给用户? 我无法在谷歌上找到任何关于它的内容 编辑:它不会返回任何内容。
答案 0 :(得分:0)
所以这几乎是有效的:$('#title').load(url + 'meta[itemprop=name]').attr("content");
,变量被编入字符串的其余部分,但是你需要url
变量和字符串其余部分之间的空格,以便jQuery知道{ {1}}不是网址的一部分:
meta[itemprop=name]
现在您将遇到要从其他域请求内容的问题。因此,您需要使用JSONP或创建一个服务器端代理,为您收集远程信息。
我认为对您有所帮助的是设置代理以从YouTube网站获取信息,或者更好您可以使用其中一个YouTube API:http://code.google.com/apis/youtube/overview.html
答案 1 :(得分:0)
您尝试通过AJAX访问其他域上的内容。由于same origin policy,这是不可能的。