- 硬编码回调
让外部脚本调用行内代码里的函数。但是我们往往不太可能把回调嵌入第三方JavaScript模块中,这种方法也不灵活。 - Window Onload
监听window的onload事件来触发行内代码的执行。当着需要确保外部脚本在window.onload之前下载执行。
以下的异步加载技术能确保这点: - Script in Iframe
- Script DOM Element
- Script Defer
该方法缺点: - 必须确保异步加载脚本是通过阻塞onload事件的方式加载的。
- 可能会导致行内代码的延迟执行。
- 如果页面还有更多的资源(图片等),那么需要等这些资源加载完,才会触发onload事件。
- 定时器
通过定时器轮询,来保证在行内代码执行之前所依赖的外部脚本已经加载。 - Script Onload
Script Onload 技术是整合异步加载外部脚本和行内脚本的首选。
前面的整合技术会增加页面的脆弱性,延迟和开销。而Script Onload是通过script元素上的onload和onreadystatchange事件处理程序,监听脚本的onload事件。 - 降级使用script标签
该方法使用script标签来包含外部脚本和使用它的行内代码,如下: