Если писать веб приложение на JS то возникает необходимость подгрузки скриптов во время выполнения...да подгрузить вопросов нет...
this.script=$C('script','',head);
this.script.type="text/javascript";
this.script.onreadystetechange=function() {if(this.readyState=='complete')this.onLoaded();}.bind(this);
this.script.onload=function(){this.onLoaded();}.bind(this);
this.script.src=this.Source;
но вот высвободить его с памяти никак...удаляешь его DOM узел , src в '' и сам объект в null все ровно браузер его не освобождает...и даже святой бубен не помогает..
Тут то и проблема, если скриптов всего 10 подгружаемых (не одновременно конечно)...ну то пусть в памяти остаются, но если их скажем 100 разных держать в памяти сотню мб изврат..
Есть пока идея подгружать сам код через ajax потом динамически создавать функцию =new Function(code) и выполнять в ней код подгружаемого модуля..по окончании работы вызывать специальный метод модуля для деинициализации чтоб по удалять все им созданные функции и потом подчищать внешние ссылки на него...ну на подобие модуля того ж делфи..
В принципе оно как то работает в черновой реализации...правда наверно где то утечка памяти есть ибо при 1000 циклов подгрузки - выгрузки модуля уходит мб с 30-40 озу...
и очевиден минус - так как это не скрипт как таковой - не будет кеширования кода...хотя модули по 30 кб конечно стягивать заново не проблема..0,5 сек дела то )
Может есть какие то готовые реализации принципа погрузки-выгрузки кода? Не изобретаю ли я велосипед часом?