Показать сообщение отдельно
  #7 (permalink)  
Старый 24.05.2008, 15:34
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Vladimir,
Давайте немного разберёмся. Во-первых, все изменения и, собственно, текущее состояние документа отражено только в DOM. Значит, удалив <script> из DOM он удалится из текущего открытого документа. Вполне ожидаемо, что если вы посмотрите html код этого документа он будет первоначальный. Т.к. все изменения происходят только с текущим экземпляром, а не его "исходным" файлом. Хотя думаю вопрос не в этом. Во-вторых, удалив <script> мы не удаляем уже выполнившийся в нём код, так что если в нем была объявлена какая-то функция, она будет работать, даже после удаления этого элемента со страницы. И в третьих, если я не ошибаюсь, если вставить в DOM элемент <script>, содержащий javascript-код, этот код всё равно не будет выполнен. Этим способом можно только прикрепить <script> с определённым src, но не переписать уже загруженный код, а для выполнения кода есть функция eval().

Попробуйте подробнее описать задачу, которая перед вам стоит, наверно ответ тогда будет найден быстрее. Как я понимаю, вам надо переделать загруженный в страницу код, что-бы он выполнялся вместо уже загруженного кода? Тогда вы можете переопределить его, выполнив изменённый через eval() - все функции переопределятся и при их вызове будет выполнятся уже изменённый код.
Ответить с цитированием