Загрузка Javascript через AJAX (модульность веб-приложения)

программирование JavaScript AJAX веб скрипты

У меня такова ситуация: есть сайт, на котором через АЯКС обновляется контент. Каждый контент представляет собой XML-дерево, где содержится разнообразная мета-информация и HTML. Вставка HTML и обработка XML - это всё просто. Но вот проблема, некоторые загружаемые через АЯКС страницы должны содержать формы и скрипты, которые их обрабатывают (линейная обработка - обработка DOM загруженного контента, реакция на кнопки формы и их состояние). Если загружать скрипты через динамический тег <script>, то всё его содержание будет оставаться в памяти до перезагрузки страницы и будет принадлежать пространству имен объекта Window (функции ведь командой delete не удаляются). Единственный способ, который приходит на ум, это использовать eval и выполнять загруженный скрипт в нём. Есть ли иные способы?

Примечание:
Марат Гизатуллин, а как быть с ifarme если XHTML strict? Хотя про фреймы я тоже думал, только вот смущает вопрос спецификации XHTML.
Ответы:
на eval тебе половина антивирусов заявит о злобном html-вирусе :)
на eval не должны антивирусники сыпать предупреждения, ведь большая часть web2.0 на eval'е json'а держится.
функции похоже удалить никак не сможешь. просто не парься на эту тему, как делают все сприптовые программеры, авось GC их скушает со временем


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.