关于脚本在追加后何时执行的问题

Question about when a script is executed after appending it

本文关键字:何时 执行 问题 追加 于脚本 脚本      更新时间:2023-09-26

在我的代码中,我有一个javascript,它可以动态地向页面添加另一个脚本:

created_script=document.createElement('script');
created_script.src='other_script';
created_script.type='text/javascript';
document.head.appendChild(created_script);

在这个"其他脚本"中,我有一个名为reloader()的函数。

我遇到的问题是,在我动态添加脚本后,我试图调用函数reloader(),但我得到了一个reloader未定义的错误。这就像我正在做的:

created_script=document.createElement('script');
created_script.src='other_script';
created_script.type='text/javascript';
document.head.appendChild(created_script);
reloader();

有人能向我解释为什么这不起作用吗?我应该如何解决这个问题,以便在一个动态调用中附加脚本后可以调用reloader()(如果可能的话)?

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

在知道外部脚本已经完全加载之前,脚本不应该调用loader()。请参阅这个相关的问题:我如何才能延迟运行一些JS代码,直到我的所有异步JS文件下载?