为什么这个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!然后它就起作用了。