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

Читайте туториалы DOM. Всё, что вам надо сделать, это сделать removeChild() для этого элемента <script>, а затем, создав новый вставить его через appendChild(). Это будет выглядеть примерно так (возможны ошибки, поэтому лучше сами прочтите материалы по этой теме):
var scriptElement = document.getElementsByTagName('script')[0];
var newScriptElement = document.createElement('script');
// Выполняем действия с новым элементом скрипт:
newScriptElement.type = 'text/javascript';
if(scriptElement.parentNode)
{
   var scriptParent = scriptElement.parentNode;
   scriptParent.removeChild(scriptElement);
   scriptParent.appendChild(newScriptElement);
}


Пока писал мне пришла в голову идея лучше. Собственно, зачем вам вставлять тег скрипт через javascript в тело html? Если только для того, что бы выполнить модифицированный код, то воспользуйтесь функцией eval(), например так:
var scriptElement = document.getElementsByTagName("script")[0];
var scriptContent = scriptElement.text;
// ... Тут выполняем действия с scriptContent ...
eval(scriptContent);

А если вам нужно "хранить" этот скрипт, то подходящим контейнером не обязательно должен быть какой-то элемент html, храните её в переменной.

Последний раз редактировалось Андрей Параничев, 24.05.2008 в 01:21.
Ответить с цитированием