我看了之后尝试了不同代码的BUNCH,无法解决这个问题。
根据搜索查询,在加载YouTube播放列表的页面添加搜索框,我想做的是在嵌入式播放器上播放。
我的代码:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
function go_get(){
var base_url = 'http://www.youtube.com/embed?listType=search&list=' ;
var search_field = document.getElementById('yourtextfield').text ;
var target_url = base_url + search_field ;
var ifr = document.getElementById('youriframe') ;
ifr.src = target_url ;
return false ;
}
</script>
<form onsubmit="go_get(); return false;" >
<input type="text" id="yourtextfield"/>
<input type="submit" value="Search Playlists" />
</form>
<iframe id="youriframe" width="640" height="360" ></iframe>
</body>
</html>
结果
搜索框和播放器加载。但是,无论您搜索什么,都会加载相同的播放列表。
如果我右键点击视频并查看嵌入HTML,结果就是:
<iframe width="640" height="360" src="http://www.youtube.com/embed/6DYngiqZim0?
feature=player_embedded" frameborder="0" allowfullscreen></iframe>
正如您所看到的,src已经改变。 YouTube可能会阻止这种行为吗?也许我的网址错了?
请帮助!
答案 0 :(得分:3)
只需在第12行更改“text”选项
<html>
<head>
<title>Youtube playlist search</title>
</head>
<body>
<script type="text/javascript">
function go_get(){
var base_url = 'http://www.youtube.com/embed?listType=search&list=';
var search_field = document.getElementById('yourtextfield').value;
var target_url = base_url + search_field;
var ifr = document.getElementById('youriframe');
ifr.src = target_url;
return false;
}
</script>
<form onsubmit="go_get(); return false;" >
<input type="text" id="yourtextfield"/>
<input type="submit" value="Search Playlists" />
</form>
<iframe id="youriframe" width="640" height="360" ></iframe>
</body>
</html>
答案 1 :(得分:-1)
更改:
var search_field = document.getElementById('yourtextfield').text ;
到:
var search_field = document.getElementById('yourtextfield').value ;