javascript 加载不同步的解决方法

xiaoxiao2024-10-29  8

当js的定义是异步加载时(如是放在iframe),有可能调用的函数执行比函数定义的代码要快,此时会出现函数未定义的错误.

解决方法:

1.如果可以修改加载进来的js文件,可用某个变量名(例如其文件名)定义为全局函数,

调用此文件的函数时,判断此变量名是否未定义即可知此文件是否被加载(把变量定义放在文件末,则可知此文件是否加载完成)

2.若不可以修改加载进来的js文件,则在调用其函数前,判断此函数是否已定义,否则进入延迟调用.

实战经验:

场景:要等页面中某个iframe中的js加载完成,才能执行checkSave函数

代码:

if(typeof(fOnTBMouseOver) == 'undefined') setTimeout("checkSave('form_edit')",100); else checkSave('form_edit');

转载请注明原文地址: https://www.6miu.com/read-5018720.html

最新回复(0)