……とは言っても、 script
要素で type="module"
にするだけですね。
<script src="
SCRIPT-FILE" type="module" async></script>
元から strict モードだったので、表面的にはあまり変わりません。 defer
が無効だとか、自動的に strict モードになるとかはありますが。
……とは言っても、 script
要素で type="module"
にするだけですね。
<script src="
SCRIPT-FILE" type="module" async></script>
元から strict モードだったので、表面的にはあまり変わりません。 defer
が無効だとか、自動的に strict モードになるとかはありますが。
次のようなコードを書いてみたが穴はないだろうか。
((scriptId, init) => {
if ("commonmark" in window) {
init();
}
else {
let script = document.getElementById(scriptId);
script.addEventListener("load", function () {
init();
});
}
})("commonmark-script", () => {
window.console.log("init!");
});
更新: 初出時コード中の改行が反映されていなかったので訂正しました。
スタイルシートのフェッチを早くする目的で、プリロードを利用しようとして、
<link rel="preload" as="style" href="…" crossorigin="anonymous" integrity="…">
のあとに、
<link rel="stylesheet" href="…" crossorigin="anonymous" integrity="…">
としてみたところ、現バージョンの Chrome では両方ともフェッチしてむしろ無駄が増えることが判明したので、 SRI との併用は断念しました。
関連のバグは以下のようです。
https://bugs.chromium.org/p/chromium/issues/detail?id=677022