我想像这样动态生成脚本标签: .
对于“异步”和“延迟”,我知道我们可以执行以下操作: 我们可以像下面那样做“s.async=true”或“s.defer=true”。
function script(url) {
var s = document.createElement('script');
s.async = true;
s.src = url;
console.log(s);
var x = document.getElementsByTagName('head')[0];
x.appendChild(s);
}
获取动态生成的标签,例如
<script async src="abc.com"></script>
但是对于“nomodules”,我没有得到想要的结果。 我尝试执行“s.nomodule=true”但无济于事。 我尝试执行以下操作。
function script(url) {
var s = document.createElement('script');
s.nomodule = true;
s.src = url;
console.log(s);
var x = document.getElementsByTagName('head')[0];
x.appendChild(s);
}
但我只得到了<script src="abc.com"></script>
我怎样才能得到这样的结果
<script nomodule src="abc.com"></script>
动态地。
最佳答案
该属性称为 noModule
.与 HTML 不同,JavaScript 区分大小写!
function script(url) {
var s = document.createElement('script');
s.noModule = true;
// ^
s.src = url;
console.log(s);
var x = document.getElementsByTagName('head')[0];
x.appendChild(s);
}
或者,s.setAttribute("nomodule", "")
也可以。
关于javascript - 将 "nomodule"属性动态添加到 <script nomodules src ="abc.com">,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54480305/