如何删除加载的脚本和添加新的脚本

How to remove loaded script and add new script?

本文关键字:脚本 添加 加载 何删除 删除      更新时间:2023-09-26

我正在创建一个演示,我在URL中添加了一个查询字符串。当我加载我的HTML,我得到我的查询值。我想让它,如果查询字符串的值为"简单",它删除JS文件加载。

如果它发现一个值不是"simple",它应该加载另一个JS文件。

我用谷歌搜索了一下,但没有任何效果。

这是我的HTML:
<!DOCTYPE html>
<html>
<head>
    <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
    <script src="js/copynode.js" type="text/javascript" id="dynamic_files"></script>
<script type="text/javascript">
    $(window).load(function(){
        // full load
        var query = decodeURIComponent(window.location.search.substring(1));
        console.log("---------------------");
        var index=query.indexOf("=")
        query=query.substr(index+1,query.length);
        console.log(query);
        if(query=="simple"){
       alert('if--');
            //$('#dynamic_files').remove();
        }else{
            alert('else--');
            $('#dynamic_files').remove();
            var script = document.createElement('script');
            script.src = 'js/index.js';
            document.getElementsByTagName('div')[0].appendChild(script);
        }
    });
</script>
</head>
<body >
    <h1>My Web Page</h1>
    <p id="demo">A Paragraph.</p>
    <button type="button" onclick="loadScript()">Load Script</button>
</body>
</html> 

您可以先检查String的值,然后编写如下函数:

function checkString(){
 if($('#ID_OF_ELEMENT_OF_THE_STRING').value == "simple"){
    //load the script needed
    var head = document.getElementsByTagName('head').item(0);
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', 'http://mysite/my.js');
    head.appendChild(script);
 }else{
    //load the other part.
 }
}