Динамическое удаление js файла
$.ajax({
type: "GET",
url: js,
dataType: "script"
});
Идет загрузка и выполнение скрипта, при переходе на следующую страничку мне нада сделать чтобы этот скрит удалился, ну или хотябы остановить его. |
При переходе на другую страницу браузер полностью останавливает все скрипты и выгружает все из памяти. Если конечно вы не используете history.pushState()
|
я пользуюсь history.pushState() в меня странички динамически подгружаются...
|
в есть одна страничка, где я подгружаю скрипты там есть setInterval() после каждого раза, когда я захожу на эту страничку в меня получается уже несколько setInterval и уже норм не работает...
|
clearInterval() вам в помощь
|
я думал над этим, но в идеале было бы динамически удалить скрипт как то...
|
Какой еще идеал? Что значит удалить скрипт? Браузер его загрузил с сервера (или из кэша), передал javascript-движку исходный код, тот его распарсил, заeval'ил, поместил в память созданные объекты, функции и т.п. Теперь неважно что там с тегом script (источником).
Не нужен объект - удали все ссылки на него, сборщик мусора высвободит память. Не нужно выполнять функцию по установленному интервалу - вызывай clearTimeout( timerId ). Или подумай об изменении архитектуры приложения - зачем постоянно запускать и останавливать одни и те же функции? |
это бред
не нужно нечего удалять даже если вы два раза умудряетесь подключить скрипт, то и это непроблема пример ниже два раза подключает скрипт, но работает только первый из них хотя по уму, хорошобы избежать двойного подключения скриптов вообще. А скрипты инициализировать и перезапускать по событиям. Ну да хрен с ним, на безрыбье и рак рыба как говорится :)
первая копия скрипта
<script>
(function(){
if (window.flag) return;
window.flag=true;
setTimeout(function(){
alert("я первая копия скрипта");
},1000)
})()
</script>
<br/> вторая копия скрипта
<script>
(function(){
if (window.flag) return;
window.flag=true;
setTimeout(function(){
alert("я вторая копия скрипта");
},1000)
})()
</script>
|
лан спасибо большое ребята за объяснение, ща буду думать как исправить
|
olexand777,
Где то было сообщение от devote, где он поменял в библиотеке (если чел использует его history API и тема была на этот счет Ищите по нику devote |
| Часовой пояс GMT +3, время: 11:43. |