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>