我有一个从数据库中获取Youtube URL的程序,但是在使用Youtube javascript API时遇到了麻烦。
在我的后台代码中,我正在调用以下代码:
Table1.Rows(0).Cells(0).Text = "<object style=""height: 390px; width: 640px"" id=""ytplayer"">" & _
"<param name=""movie"" value=""https://www.youtube.com/v/UASyS-jUKKI?version=3&feature=player_embedded&controls=0&enablejsapi=1&showinfo=0&iv_load_policy=3&playerapiid=ytplayer"">" & _
"<param name=""allowfullscreen"" value=""true"">" & _
"<param name=""allowscriptaccess"" value=""always"">" & _
"<embed src=""https://www.youtube.com/v/UASyS-jUKKI?version=3&feature=player_embedded&controls=0&enablejsapi=1&showinfo=0&iv_load_policy=3&playerapiid=ytplayer"" type=""application/x-shockwave-flash"" allowfullscreen=""true"" allowscriptaccess=""always"" width=""425"" height=""344"" id=""ytplayer""></object>"
(在这里我将引用源引用到数据库中的记录)。
它将其很好地嵌入到页面中,并且可以播放,但是我想使用对我不起作用的API函数。
var vid;
function onYouTubePlayerReady(id) {
vid = id;
var video = document.GetElementById(vid);
video.playVideo()
}
function play() {
var vobj;
if (vid) {
vobj = document.getElementById(vid);
alert(vobj);
vobj.playVideo();
}
}
<a href="javascript:void(0);" onclick="play();">Play</a>
我知道它已成功调用'onYouTubePlayerReady'函数(并返回ID),但是播放/暂停/停止等均不起作用。有人知道如何解决这个问题吗?
它在服务器上而不是本地上运行。
谢谢
最佳答案
您的object
和embed
标记都具有相同的ID="ytplayer"
,这在DOM中是不允许的。尝试更改其中之一。
关于javascript - Youtube javascript API(带有ASP)功能不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10059496/