当js的定义是异步加载时(如是放在iframe),有可能调用的函数执行比函数定义的代码要快,此时会出现函数未定义的错误.
解决方法:
1.如果可以修改加载进来的js文件,可用某个变量名(例如其文件名)定义为全局函数,
调用此文件的函数时,判断此变量名是否未定义即可知此文件是否被加载(把变量定义放在文件末,则可知此文件是否加载完成)
2.若不可以修改加载进来的js文件,则在调用其函数前,判断此函数是否已定义,否则进入延迟调用.
实战经验:
场景:要等页面中某个iframe中的js加载完成,才能执行checkSave函数
代码:
本文探讨了JavaScript异步加载时可能出现的函数未定义错误,提供了两种解决方案:一是通过修改加载进来的JS文件定义全局变量进行检查;二是不修改源文件的情况下延迟调用函数。

1725

被折叠的 条评论
为什么被折叠?



