动态地将“ nomodule”属性添加到<script nomodules =“” src =“ abc.com”>

时间:2019-02-01 13:13:56

标签: javascript ecmascript-6

我想动态生成这样的脚本标签:   

对于“异步”和“延迟”,我知道我们可以执行以下操作: 我们可以像下面那样执行“ s.async = true”或“ s.defer = true”。

<预> 函数脚本(URL){             var s = document.createElement('script');             s.async = true;             s.src = url;             console.log(s);             var x = document.getElementsByTagName('head')[0];             x.appendChild(s);           }

获取动态生成的标签,例如  

但是对于'nomodules',我没有理想的结果。 我试图做“ s.nomodule = true”,但无济于事。 我尝试执行以下操作。

<预> 函数脚本(URL){             var s = document.createElement('script');             s.nomodule = true;             s.src = url;             console.log(s);             var x = document.getElementsByTagName('head')[0];             x.appendChild(s);           }

但是我只有

我怎样才能得到这样的结果。

动态。

1 个答案:

答案 0 :(得分:3)

该属性称为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", "")也可以。