有关何时附加脚本后执行脚本的问题

时间:2011-06-29 01:46:07

标签: javascript

在我的代码中,我有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()?(

1 个答案:

答案 0 :(得分:2)

像这样加载脚本是异步发生的。这意味着在您调用reloader()时,外部脚本可能仍在加载。

在知道外部脚本已完全加载之前,您的脚本不应调用loader()。请参阅此相关问题:How can I delay running some JS code until ALL of my asynchronous JS files downloaded?