Динамическое удаление 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, время: 21:48. |