如何删除加载的脚本并添加新脚本?

时间:2014-06-27 07:37:51

标签: javascript jquery

我正在创建一个演示,其中我在URL中添加了一个查询字符串。当我加载我的HTML时,我得到了我的查询的值。我想要它,以便如果查询字符串具有值" simple",它将删除已加载的JS文件。

如果找到的值不是"简单"它应该加载另一个JS文件。

Google搜索了它的解决方案,但没有任何效果。

这是我的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> 

1 个答案:

答案 0 :(得分:1)

您可以先检查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.
 }

}