Shu*_*dia 5 javascript performance page-load-time
无论如何,是否可以保留“延迟”或内联混合的脚本的执行顺序?
例如。考虑以下场景 -
<head>
<script src="/polyfills.js" />
<script>
// Small inline script that needs polyfills to work
</script>
<script src="/feature1.js" defer>
<script src="/feature2.js" defer>
</head>
Run Code Online (Sandbox Code Playgroud)
我的目标是让所有脚本都有defer行为并保持执行顺序。但是,在这里,我无法添加defer到 polyfills 脚本,因为这样做会破坏内联脚本。
polyfills (defer) => inline-script (how?) => feature1 => feature2
Run Code Online (Sandbox Code Playgroud)
内联脚本是一个很小的代码片段,不值得浪费一个请求。
例如,我可以编写一个函数来包装内联脚本并仅在填充填充加载后执行)吗?
如果您希望它保留夹层内联脚本的顺序,那么,关于延迟,我认为您已经被塞满了。
如果所有三个 src'd 脚本都被推迟,那么就没有自然发生的中间事件(在 polyfill 之后但在功能之前)来触发处理程序 - 这就是您想要的。
作为记录,以下是如何延迟内联脚本直到所有延迟脚本加载完毕,这可能会提供一些好处,但没有您希望的那么多。
<head>
<script src="/polyfills.js" defer></script>
<script src="/feature1.js" defer></script>
<script src="/feature2.js" defer></script>
<script>
window.addEventListener('load', function() {
// Small inline script that needs polyfills to work
});
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3612 次 |
| 最近记录: |