Как говорится в заголовке, если я удаляю тег script из DOM, используя:
$('#scriptid').remove();
Является ли сам javascript в памяти или очищается?
Или... я полностью не понимаю, как браузеры обрабатывают javascript? Это вполне возможно.
Для тех, кто интересуется моей причиной, пожалуйста, см. ниже:
Я перемещаю некоторые обычные javascript-взаимодействия из статических script файлов в динамически сгенерированные в PHP. Которые загружаются по требованию, когда пользователь требует их.
Причина этого заключается в том, чтобы переместить логический сервер и запустить небольшой script, возвращенный с сервера, clientide. Вместо того, чтобы иметь большой script, который содержит огромное количество логики, clientide.
Это аналогичный подход к тому, что делает facebook...
Facebook обсуждает frontend javascript
Если мы возьмем простой диалог, например. Вместо того, чтобы генерировать html в javascript, добавляя его к dom, а затем используя виджет диалогового окна jqueryUI для его загрузки, я делаю следующее.
- Запрос Ajax выполняется в dialog.php
- Сервер создает html и javascript, специфичные для этого диалога, затем кодирует их как JSON
- JSON возвращается клиенту.
- HTML добавляется к
<body>
, а затем, когда это визуализируется, javascript также добавляется в DOM.
javascript выполняется автоматически при вставке и открывается динамический диалог.
Это уменьшило количество javasript на моей странице, но я обеспокоен очисткой вставленного javascript.
Очевидно, как только диалог был закрыт, он удаляется из DOM с помощью jQuery:
$('#dialog').remove();
javascript добавляется с идентификатором, и я также удаляю его из DOM с помощью того же метода.
Однако, как указано выше, использование jQuery.remove() действительно очищает javascript из памяти или просто удаляет элемент <script>
из DOM?
Если да, есть ли способ очистить это?