为什么这个javascript工作......但这不是?

TIM*_*MEX 1 javascript jquery

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

<script type="text/javascript">loadNewVideo('u1zgFlCw8Aw',0)</script>
Run Code Online (Sandbox Code Playgroud)

它不起作用.但如果我用它替换它,它的工作原理:

<input type="submit" onclick="loadNewVideo('u1zgFlCw8Aw',0);" >
Run Code Online (Sandbox Code Playgroud)

在.JS文件中,这是函数:

function loadNewVideo(id, startSeconds) {
            alert('In-the-function');
          if (ytplayer) {
            alert('Found-ytplayer');
            ytplayer.loadVideoById(id, parseInt(startSeconds));
          }
        }
Run Code Online (Sandbox Code Playgroud)

显然,"ytplayer"在第一个中是假的!??

Ais*_*ina 9

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

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

编辑:如果这不起作用,您将不得不向我们提供更多信息.正如蒂姆和彼得在评论中问你的问题,你能告诉我们在哪里ytplayer定义它是什么?我假设它代表YouTube播放器,也许它是你打电话加载/定义的loadNewVideo

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