4

以下代码在播放器中加载 youtube 视频。

如果我删除两个“警报”,它就不再起作用了......

ytplayer = document.getElementById("ytPlayer");
alert('ok');
if (ytplayer) {
    alert('ok');
    loadVideo(url, start);
}

有人能帮我吗?

4

4 回答 4

10

您可能在页面加载之前调用代码。随着警报,js 执行停止,允许页面加载。如果这是正确的,您需要查看window.onload回调或可能document.ready

window.onload = function(){
   // load the vid here
}
于 2012-07-13T14:56:58.907 回答
2

在页面完全加载后调用该函数。

window.onload = function() {
    loadVideo(url, start);
}
于 2012-07-13T14:59:26.437 回答
2

我解决了以下问题:

ytplayer = document.getElementById("ytPlayer");

if (ytplayer) {
    setTimeout( function() { loadVideo(url, start); }, 1000);
}

感谢您的回答。

于 2012-07-17T14:16:33.227 回答
1

你用过 Ajax 请求吗?

如果是,那么把你的代码放在最后

AjaxObject.onreadystatechange = function () {
       if (AjaxObject.readyState == 4) {
           .
           .
           .
           .
           .

      // PUT HERE
        }
   }

然后 IF NO 将您的代码放入函数中并返回 false 或 true

像这样

ytplayer = document.getElementById("ytPlayer");
alert('ok');
if (ytplayer) {
    //alert('ok');
    loadVideo(url, start);   
return true;     
}

希望有帮助

于 2016-06-28T04:46:09.873 回答