我有一个html
页面和一个script
,我想要以特定方式处理它:在它被加载之后但在它被执行之前。基本上我想预先加载脚本,但在满足特定条件时执行。脚本不依赖于其他脚本,所以我让非阻塞(async
):在执行之前处理外部JavaScript脚本加载事件
<script onload='onScripLoad()' scr='...' async></script>
我想要的是类似onload
的东西,但它的下载脚本之前执行。可能吗?
这里的问题是,我可以预加载脚本,但无法与我的应用生命周期中所需的事件同步。执行onScripLoad
after
脚本已被加载AND
after
它已被执行。我需要的是在脚本执行时进行控制(推迟执行)。
添加更多详细信息我想预加载脚本并在body
中有某个元素可用时执行它,但是我无法将该脚本放在该元素之后,因为在这种情况下,它会与其他一些资源正在下载的head
。因此,我想将我的脚本放在head
中,使其成为async
,一旦下载完成,只有在特定元素可用时(或者在执行之前创建该元素的事件)才执行。我不能让它不是异步的,因为它是一个我无法控制的脚本,并且不希望我的整个页面依赖它。
难道你不能把外部脚本中的代码放在一个函数中,然后只有在两个条件都为真时才调用该函数? – nnnnnn
难道你不能只将外部脚本中的逻辑放在一个函数中,该函数会提前加载,然后在特定条件为真时从辅助脚本中调用该函数? –
这就是我如何控制外部脚本的方式。不幸的是它是一个三维派对库,它有一定的JavaScript,开始下载后立即执行。 –