スクリプトタグを動的に作成して属性をtrue
に設定すると、正しくDOMに表示されますが、ネットワークタブを見ても別の話が表示されます。最初にロードされるファイルとスクリプトタグの間に大きなギャップがあるのはなぜですか?ブラウザスクリプトタグ「async」属性が機能しない
DOM
ネットワークタブ
index.htmlを
<head>
<meta charset="UTF-8">
<title>React App</title>
<script>
function loadjscssfile(BASE, filename, filetype) {
if (filetype == "js"){ //if filename is a external JavaScript file
filename = BASE + jsManifest[filename];
var fileref = document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
fileref.setAttribute("async", "true")
}
else if (filetype == "css"){ //if filename is an external CSS file
filename = BASE + cssManifest[filename];
var fileref = document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref != "undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
</script>
<!-- dynamically load hashed CSS files -->
<script src="./css-manifest.js"></script>
<script src="./js-manifest.js"></script>
<script>
var BASE = '../stylesheets/';
for (var key in cssManifest) {
loadjscssfile(BASE, key, 'css');
}
</script>
</head>
<body>
<div id="app"></div>
<!-- dynamically load hashed JS files -->
<script>
var BASE = '../prod/';
for (var key in jsManifest) {
loadjscssfile(BASE, key, 'js');
}
</script>
</html>
awesome!私のためにすべてを明らかにしてくれてありがとう:) – Clement