Как я могу выгрузить ресурс JavaScript со всеми его определенными объектами из DOM?
Im разрабатывает простую структуру, которая позволяет загружать фрагменты html в "основной" html. Каждый фрагмент является самодостаточным и может включать ссылки на дополнительные файлы JS и CSS. Ресурсы JS и CSS анализируются и динамически добавляются в html. Когда фрагмент удаляется/заменяется из DOM, я хочу удалить его JS и CSS.
Если я удалю элемент script в приведенном ниже примере, функции, определенные в page1.js, все еще доступны.
<html>
<head>
<script src="page1.js" type="text/javascript"></script>
</head>
<body>
...
Есть ли способ выгрузить объекты page1.js из DOM?
========= Код проверки, который я использую =======
Я попробовал совет, который я получил в комментариях ниже; для удаления добавленных объектов с помощью функции очистки - но даже это не удается. Источники, которые я использовал для тестирования:
<html>
<head>
<script type="text/javascript">
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));
}
</script>
</head>
<body>
Hello JavaScript Delete
<br/>
<button onclick="loadJSFile();">Click to load JS</button>
<br/>
<button onclick="foo();">call foo()</button>
<br/>
<button onclick="unloadJSFile();">Click to unload JS</button>
</body>
</html>
simple.js источник:
var foo = function(){
alert("hello from foo");
}