为什么这个javascript可以工作……但它不能';T

为什么这个javascript可以工作……但它不能';T,javascript,jquery,Javascript,Jquery,我在页面上加载所有内容。 最后,我有了这个脚本 <script type="text/javascript">loadNewVideo('u1zgFlCw8Aw',0)</script> 很明显,第一个“ytplayer”是假的 我不知道什么是ytplayer,但我想这个问题与DOM没有完全加载有关。你试过这个吗 <script type="text/javascript"> $(document).ready(function() { loadNewV

我在页面上加载所有内容。 最后,我有了这个脚本

<script type="text/javascript">loadNewVideo('u1zgFlCw8Aw',0)</script>

很明显,第一个“ytplayer”是假的

我不知道什么是
ytplayer
,但我想这个问题与DOM没有完全加载有关。你试过这个吗

<script type="text/javascript">
$(document).ready(function() {
  loadNewVideo('u1zgFlCw8Aw', 0);
});
</script>

$(文档).ready(函数(){
loadNewVideo('u1zgFlCw8Aw',0);
});
编辑:如果这不起作用,你必须给我们更多的信息。正如Tim和Peter在对您的问题的评论中所问,您能否告诉我们
ytplayer
的定义和定义?我假设它代表YouTube播放器,可能是在您调用
loadNewVideo
后加载/定义的


例如,如果上面的代码段位于文档中定义了
ytplayer
的部分之上,则在加载
ytplayer
之前仍会调用该代码段,具体取决于加载方式。正如我所说,请提供更多信息。

我不知道什么是
ytplayer
,但我想这个问题与DOM没有完全加载有关。你试过这个吗

<script type="text/javascript">
$(document).ready(function() {
  loadNewVideo('u1zgFlCw8Aw', 0);
});
</script>

$(文档).ready(函数(){
loadNewVideo('u1zgFlCw8Aw',0);
});
编辑:如果这不起作用,你必须给我们更多的信息。正如Tim和Peter在对您的问题的评论中所问,您能否告诉我们
ytplayer
的定义和定义?我假设它代表YouTube播放器,可能是在您调用
loadNewVideo
后加载/定义的


例如,如果上面的代码段位于文档中定义了
ytplayer
的部分之上,则在加载
ytplayer
之前仍会调用该代码段,具体取决于加载方式。正如我所说,请提供更多信息。

我想说这是因为DOM在那个阶段还没有完全加载。您想要钩住body onLoad事件,或者使用jQuery获取$(document).ready()钩子。

我想这是因为DOM在那个阶段还没有完全加载。您想钩住body onLoad事件,或者使用jQuery获取$(document).ready()钩子。

我没有答案,但这可能会帮助您确定ytplayer组件何时可以使用:

var startTimer = new Date().getTime();
function ytplayerReadyCheck() {
  var ready = !!ytplayer;
  if (!ready) {
    window.setTimeout(ytplayerReadyCheck,50);
  }
  else {
    var endTimer = new Date().getTime();
    alert('ytplayer is now ready!\n\nWe waited '+(endTimer-startTimer)+' milliseconds for it');
    loadNewVideo('u1zgFlCw8Aw', 0);
  }
}
ytplayerReadyCheck();
当然,这并不能取代首先确定ytplayer的定义!也许它是在文档加载后动态加载的.js文件中定义的


我强烈建议您掌握,这样您就可以更轻松地调试这类东西。

我没有答案,但这可能会帮助您确定ytplayer组件何时可以使用:

var startTimer = new Date().getTime();
function ytplayerReadyCheck() {
  var ready = !!ytplayer;
  if (!ready) {
    window.setTimeout(ytplayerReadyCheck,50);
  }
  else {
    var endTimer = new Date().getTime();
    alert('ytplayer is now ready!\n\nWe waited '+(endTimer-startTimer)+' milliseconds for it');
    loadNewVideo('u1zgFlCw8Aw', 0);
  }
}
ytplayerReadyCheck();
当然,这并不能取代首先确定ytplayer的定义!也许它是在文档加载后动态加载的.js文件中定义的


我强烈建议您掌握,这样您就可以更轻松地调试这类东西。

您应该显示完整的代码。ytplayer来自哪里?ytplayer是在哪里定义的?它是什么?如果你能给我们一个链接,那么我们可以看看Firebug,或者你可以…你应该显示完整的代码。ytplayer来自哪里?ytplayer的定义是什么?如果你能给我们一个链接,那么我们可以看看Firebug,或者你可以…确实你是对的;javascript在读取后立即运行,因此您需要确保所需的任何内容都已声明,或者(更好的是)在“加载”事件中执行所有操作(如您所演示的):)事实上,您是正确的;javascript在读取后立即运行,因此您需要确保所需的任何内容都已声明,或者(更好的是)在“加载”事件中执行所有操作(如您所演示的):)正确无误。玩家加载之前需要一些时间。因此,我在调用loadNewVideo函数之前设置了一个setTimeout!然后它就起作用了。对。玩家加载之前需要一些时间。因此,我在调用loadNewVideo函数之前设置了一个setTimeout!然后它就起作用了。