添加加载嵌入YouTube播放器的搜索框

时间:2013-01-07 04:38:16

标签: search iframe youtube embed playlist

我看了之后尝试了不同代码的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可能会阻止这种行为吗?也许我的网址错了?

请帮助!

2 个答案:

答案 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 ;