从html页面

时间:2015-04-29 08:25:25

标签: javascript jquery html5

我开发了一个网站,通过调用如下所示的加载函数,我从主页导航不同的html页面:

$("#content").load('page.html', function (response, status) {});

page.html包含一些也在主页中加载的脚本文件。我正在尝试做的是当我导航不同的页面时动态删除脚本文件 像那样

$("#content").load('another_page.html', function (response, status) {
   if (status = "success") {
      //Remove script file in page.html
   }
});

以下我已申请通过谷歌

找到
function removejscssfile(filename, filetype) {
   var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none" //determine element type to create nodelist from
   var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none" //determine corresponding attribute to test for
   var allsuspects = document.getElementsByTagName(targetelement)

   for (var i = allsuspects.length; i >= 0; i--) { //search backwards within nodelist for matching elements to remove
      if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1)
         allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
   }
}

但脚本文件仍然存在。

1 个答案:

答案 0 :(得分:1)

删除脚本标记或删除JS文件标记不会丢弃JS。他还在装。所以你还需要告诉他删除这段代码。

一种可能的方法是将Javascipt文件封装到一个函数中,然后重新定义此函数。例如:

function foo(){
    //Your javascript here
}

然后:

foo= function(){};

但是如果你的函数包含事件,你仍然需要手动取消绑定它们。