Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение javaScript, Выполнение javaScript 
:(
    Опции темы
taral
Дата 9.9.2008, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Допустим у меня есть HTML.
И там встречается 
Код

<script type="text/javascript">
    alert();
</script>

При обычной загрузке страницы сообщение выводится. А если этот код я вставляю используя ajax.
$('ddd').innerHTML = result. То понятное дело ничего не выводится. Почему это так я понимаю. Тут ajax не причем. Но проблему решить сам не могу) Помогите пожалуйста.
PM MAIL   Вверх
chertoss
Дата 9.9.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 28.7.2008

Репутация: 1
Всего: 2



Цитата

При обычной загрузке страницы сообщение выводится. А если этот код я вставляю используя ajax.
$('ddd').innerHTML = result.


что это? где тут ajax? имеется ввиду использование фреймворка? если да, то какого?

Цитата

Почему это так я понимаю. Тут ajax не причем.


не совсем понятен смысл фразы

Это сообщение отредактировал(а) chertoss - 9.9.2008, 13:21
PM MAIL   Вверх
taral
Дата 9.9.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Я использую прототайп библиотеку.
Допустим такой пример.
Код

var pars = $H({
     id:$F('id_text')
 });
new Ajax.Updater("basic", "http://test/first.php", {method:"post", parameters:pars});

Допустим так. И скрипт first.php возвращает HTML. в котором встречается
Код

<script type="text/javascript">
    alert();
</script>

При выполнении запроса. Обновляется блой с id - basic.
Туда вставляется HTML код что возвращает first.php. Но javaScript что он возвращает не выполняется. Почему это так ясно, но мне нужно чтобы выполнялся)
Пока что я нашел такой вариант решения. Передавать JSON строку. В которой будут 2 элемента. Первый это HTML который нужно показать. А второй javaScript что нужно выполнить. Использовать не  Ajax.Updater а Ajax.Request. Вставить HTML и выполнить код. Но это решение мне не нравится.

PM MAIL   Вверх
Sanchezzz
  Дата 9.9.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



при вставке текста innerHTML в документ не какой JS код работать не будет так как браузер о нем не знает.. альтернатива создавать елимент script и указывать путь до скрипта на сервере только так еще и будет работать... сам столкнулся с подобным...

ну если я ошибаюсь покажите без фреймворка...  smile 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
taral
Дата 9.9.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Цитата(chertoss @  9.9.2008,  13:21 Найти цитируемый пост)
не совсем понятен смысл фразы

Да что-то я и правда высказался неудачно) Я имел в виду вот что. Когда мы открываем страницу браузер выполняет js  код качает картинки и формирует структуру страницы, создает обьекты HTML элементов и т.д.
А я загружаю страницу через AJAX. Выходит что я просто получаю текст. И потом его вставляю в нужный мне элемент. И код не выполняется. Ой что-то опять запутанно вышло. Я сам понимаю что хочу сказать. В словами высказать что-то не выходит...
Возможно такой пример покажет что я хочу.
Код

$('aa').innerHTML = '<script type="text/javascript"> alert(); </script>';
<div id="aa"></div>

Пример конечно не рабочий.
PM MAIL   Вверх
taral
Дата 9.9.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Цитата(Sanchezzz @  9.9.2008,  14:43 Найти цитируемый пост)
при вставке текста innerHTML в документ не какой JS код работать не будет так как браузер о нем не знает.. альтернатива создавать елимент script и указывать путь до скрипта на сервере только так еще и будет работать... сам столкнулся с подобным...

Да я знаю почему не работает. Я думал что может есть решение.
PM MAIL   Вверх
Sannis
Дата 9.9.2008, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: нет
Всего: 13



Есть решение. Берётся пришедший HTML, из него регуляркой вырезается код(он между <script .*> и </script>) и eval'ится.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.