为什么Chrome在执行Javascript之前会等待DOM?

为什么Chrome在执行Javascript之前会等待DOM?,javascript,html,google-chrome-devtools,Javascript,Html,Google Chrome Devtools,我挠头想弄明白为什么我的脚本没有按照HTML中指定的顺序执行。我正在使用一个简单的设置进行测试,加载所需的样式表(jquery ui是异步的),然后立即发出警报: 警惕(“我很警惕!”) 但是,我没有立即看到警报。相反,它似乎要等到每个源完全加载(包括之前的源)之后才显示警报。这可以在这个屏幕截图中看到——注意这里列出的大多数资源都不在head标签中 DOMContentLoaded事件在关闭警报后立即激发。为什么Chrome在解析脚本之前加载所有内容?(Edge似乎不这样做)有没有更好的

我挠头想弄明白为什么我的脚本没有按照HTML中指定的顺序执行。我正在使用一个简单的设置进行测试,加载所需的样式表(jquery ui是异步的),然后立即发出警报:


警惕(“我很警惕!”)
但是,我没有立即看到警报。相反,它似乎要等到每个源完全加载(包括
之前的源)之后才显示警报。这可以在这个屏幕截图中看到——注意这里列出的大多数资源都不在head标签中

DOMContentLoaded事件在关闭警报后立即激发。为什么Chrome在解析脚本之前加载所有内容?(Edge似乎不这样做)有没有更好的方法来控制事物的顺序?如果您能对这种情况有所了解,我们将不胜感激

上下文:我希望尽快启动一个非常缓慢的Ajax加载,但在加载其他源代码之前,无法运行任何脚本

编辑:为了清晰起见,删除了完整性。请注意,所有外部脚本都具有crossorigin=“anonymous”和完整性(如果重要的话)
Edit2:添加了一些页脚脚本以完成HTML的奇怪<代码>至少两次。。。运行
中的脚本,然后执行
提示,当警报框打开时,Chrome可能正在异步下载资源。但Chrome不太可能以错误的顺序执行JavaScript。@JaromandaX我认为这只是因为一个换行问题(现已修复)。(我认为)是正确地包装在per@D.Pardal中的,这也是我所期望的——例如,我不明白为什么Chrome似乎要等待HTML中最后一个外部资源加载,然后才执行我在正文末尾之前拥有的内联脚本。在DOM设置完成之前,我似乎无法控制事情发生的顺序。Chrome可能会在处理
中的任何内容之前加载
中的所有内容,以避免出现这种情况。