Я использую прототип для загрузки внешнего js-файла (на самом деле это php-файл) динамически. Как это:Динамическая загрузка js-файла с использованием Prototype?
function UpdateJS(file)
{
var url = 'main_js.php?file='+file;
var myAjax = new Ajax.Request(url, {method: 'get', onComplete: showResponseHeader});
}
function showResponseHeader (originalRequest)
{
$('jscode').innerHTML = originalRequest.responseText;
}
Контейнер "jscode" определяется следующим образом:
<script type="text/javascript" id="jscode"></script>
И это работает! Но если вызывается какой-то другой файл, все функции из предыдущего сохраняются. И я не хочу этого. Кто-нибудь знает, как «выгрузить» первый файл js при вызове второй?
(я также попытался использовать функцию Ajax.Updater, но результат тот же.)
Update: Оказывается, что есть большая проблема: она загружает только если функция «UpdateJS» находится в window.onload поэтому после этого ничего не загружает. Итак, обновление прототипов, возможно, не так хорошо подходит для этого ...
Я был читать об этом, а также проблема, кажется, что он удаляет узел сценария, но не на самом деле определенные свойства из памяти, и это была точка не так ли? –
Нет, на самом деле это не так. Но да, я думал, что это проблема. Если мой новый .js-файл загружает функцию, которая имеет то же имя, что и в первом .js-файле, она будет использовать вторую, и это то, что я хотел. – domagojk