1
我正在动态创建脚本标记并将async
属性设置为true
,它正确显示在dom中,但查看网络选项卡会显示不同的故事。为什么在加载的初始文件和脚本标签之间存在如此大的差距以便动态加载?浏览器脚本标记“异步”属性不起作用
DOM
Network标签
的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>
太棒了!感谢澄清所有这些为我:) – Clement