如何从DOM中卸载所有定义的对象的
JavaScript资源?
我开发了一个简单的框架,可以将html片段加载到“主”html中.每个片段都是自包含的,可能包含对其他JS和CSS文件的引用. JS和CSS资源被解析并动态添加到html中.当从DOM中删除/替换片段时,我想删除它的JS和CSS.
如果我删除下面示例中的脚本元素,page1.js中定义的函数仍然可用.
...
有没有办法从DOM中卸载page1.js对象?
=========测试代码我使用=======
我尝试了我在下面的意见中提出的建议;使用清除功能删除添加的对象 – 但即使这样也会失败.我用来测试的来源:
function loadJSFile(){
var scriptTag = document.createElement("script");
scriptTag.setAttribute("type", "text/javascript");
scriptTag.setAttribute("src", "simple.js");
var head = document.getElementsByTagName("head")[0];
head.appendChild(scriptTag);
}
function unloadJSFile(){
delete window.foo;
delete window.cleanup;
alert("cleanedup. typeof window.foo is " + (typeof window.foo));
}
Hello JavaScript Delete
Click to load JS
call foo()
Click to unload JS
simple.js源码:
var foo = function(){
alert("hello from foo");
}