在我的代码中,我有javascript动态地向页面添加另一个脚本:
created_script=document.createElement('script');
created_script.src='other_script';
created_script.type='text/javascript';
document.head.appendChild(created_script);
在这个'其他脚本'中,我有一个名为reloader()的函数。
我遇到的问题是,在我动态添加脚本之后,我尝试调用函数reloader(),但是我得到一个重新加载器没有定义错误。 这就像我在做的那样:
created_script=document.createElement('script');
created_script.src='other_script';
created_script.type='text/javascript';
document.head.appendChild(created_script);
reloader();
有人可以向我解释为什么这不起作用,我应该如何解决这个问题,以便在单个动态调用中附加脚本后可以调用reloader()?(
答案 0 :(得分:2)
像这样加载脚本是异步发生的。这意味着在您调用reloader()
时,外部脚本可能仍在加载。
在知道外部脚本已完全加载之前,您的脚本不应调用loader()
。请参阅此相关问题:How can I delay running some JS code until ALL of my asynchronous JS files downloaded?