我有一个从数据库中获取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),但是播放/暂停/停止等均不起作用。有人知道如何解决这个问题吗?

它在服务器上而不是本地上运行。

谢谢

最佳答案

您的objectembed标记都具有相同的ID="ytplayer",这在DOM中是不允许的。尝试更改其中之一。

关于javascript - Youtube javascript API(带有ASP)功能不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10059496/

10-14 14:18
查看更多