Javascript:动态添加的脚本可以';在另一个脚本中找不到以前定义的函数

Javascript:动态添加的脚本可以';在另一个脚本中找不到以前定义的函数,javascript,jquery,dynamic-script-loading,Javascript,Jquery,Dynamic Script Loading,我遇到了一个似乎非常简单的问题,我真的找不到解决方案: 在我的代码中,我在标题中加载了一个脚本: <script type="text/javascript" src="../js/viewdoc/index.js?v=1.33"></script> 以及: 然后,我将该文件加载到元素中,该元素具有loaderdocid: if ($('#loaderdoc').is(':empty')){ $('#loaderdoc').load('../viewdoc/we

我遇到了一个似乎非常简单的问题,我真的找不到解决方案:

在我的代码中,我在标题中加载了一个脚本:

<script type="text/javascript" src="../js/viewdoc/index.js?v=1.33"></script>
以及:

然后,我将该文件加载到元素中,该元素具有loaderdocid:

if ($('#loaderdoc').is(':empty')){
    $('#loaderdoc').load('../viewdoc/welcome.php');
}
我使用函数addResizeListener将函数绑定到窗口调整大小事件,这非常有效,index.js脚本结束

在加载的文件welcome.php的末尾,我添加了一行

<script src="../js/viewdoc/welcome.js"></script>

welcome.js是一个使用函数removeResizeListener和addResizeListener的脚本,但我得到了错误: 未捕获引用错误:未定义addResizeListener

为什么会这样?在将脚本添加到文档之前,是否定义并加载了函数

很抱歉,如果以前有人回答过这个问题,我就是找不到它,或者我还不知道该怎么搜索它


谢谢你的阅读

jQuery的
.load()
是异步的。因此,在定义函数之前,将执行
welcome.js
。您必须使用回调。请参阅jQuery的
。load()
是异步的。因此,在定义函数之前,将执行
welcome.js
。您必须使用回调。请参见

您是否在welcome.php上引用了“index.js”?我相信此症状表明
welcome.php
index.js
之前已完成加载。查看您的网络控制台并设置相应的断点进行验证。它似乎是在加载之后加载的,至少查看了chrome“网络”选项卡上的瀑布,但如果它是异步的,我就不指望它了。您是否有对“index.js”的引用在welcome.php上?我相信这个症状表明
welcome.php
index.js
之前就完成了加载。查看您的网络控制台并设置相应的断点进行验证。它似乎是在加载之后加载的,至少查看了chrome“网络”选项卡上的瀑布,但如果它是异步的,我就不会指望它了。有趣的是,这会是什么样子?类似于$(document)的东西。ready(函数(e){//load stuff}函数会工作吗?$(文档)。ready(函数(e){//load stuff}工作得很好!有趣,那会是什么样子?类似于$(文档)的东西。ready(函数(e){//load stuff}函数会工作吗?$(文档)。ready(函数(e){//load stuff}工作得很好!
if ($('#loaderdoc').is(':empty')){
    $('#loaderdoc').load('../viewdoc/welcome.php');
}
<script src="../js/viewdoc/welcome.js"></script>