| Автор |
Сообщение |
Сообщения: 739
Страна: Россия |
 25.07.2008 в 22:16
Есть страница, на нее подкачиваются данные через ajax, данные - это html код формы и js-скрипт в стандартном теге <script></script>. После подгрузки данных закачанный js-скрипт не отрабатывается. Собственно и вопрос: как надо подкачивать скрипт?
|
Сообщения: 29
Страна: Россия |
 25.07.2008 в 23:29
Заюзайте prototype.js там явно можно указать: скрипт подгружаемые аяксом исполнять или нет. А так там сделано просто: выбираем регуляркой текст между тегами <скрипт> и eval его.
|
Сообщения: 36
Страна: Россия |
 25.07.2008 в 23:36
Код в студию..
|
Сообщения: 739
Страна: Россия |
 26.07.2008 в 10:00
Хорошо, а помимо eval есть еще какие-нибудь способы?
|
Сообщения: 29
Страна: Россия |
 26.07.2008 в 10:21
Цитата (SolNikolay): Хорошо, а помимо eval есть еще какие-нибудь способы?
выполнить скрипт подгружаемый аяксом? Мне кажется кроме eval-а никак.
|
Сообщения: 590
Страна: Россия |
 26.07.2008 в 13:40
Скрипт это скрипт, html это html. eval() надо вызывать только для текста скрипта, без всяких тэгов.
|
Сообщения: 29
Страна: Россия |
 26.07.2008 в 16:02
Цитата (Pilat66): Скрипт это скрипт, html это html. eval() надо вызывать только для текста скрипта, без всяких тэгов.
это вы к чему?
|
Сообщения: 41
Страна: Россия |
 26.07.2008 в 19:40
Использую jQuery. Все подгруженные скрипты выполняются автоматически.
|
Сообщения: 590
Страна: Россия |
 27.07.2008 в 02:26
Цитата (kronos_vano): Цитата (Pilat66): Скрипт это скрипт, html это html. eval() надо вызывать только для текста скрипта, без всяких тэгов.
это вы к чему?
вот к этому - "js-скрипт в стандартном теге <script></script>"
|
Сообщения: 14
Страна: Украина |
 27.07.2008 в 03:46
Согласен с Pilat66 : выполнить евалом, и потом к нему обращаться ...
помимо евала можно что-то придумать, но я думаю это будет геморно ...
|
Сообщения: 739
Страна: Россия |
 27.07.2008 в 10:57
Цитата (Pilat66): вот к этому - "js-скрипт в стандартном теге <script></script>"
Не совсем понял вашу логику.
Всем спасибо, про eval усвоил 
|
Сообщения: 14
Страна: Украина |
 27.07.2008 в 15:29
Имелось ввиду :
если получаем <script>alert('йа яфаскриптеГ')</script>,
то выполнять его евалом нужно убрав '<script>', '</script>'.
|
Сообщения: 739
Страна: Россия |
 27.07.2008 в 19:11
-Caesar-, kronos_vano еще в первом своем посте написал
Цитата (kronos_vano): А так там сделано просто: выбираем регуляркой текст между тегами <скрипт> и eval его.
из чего и следует, что тэги отбрасываются. Поэтому и не понятно что уточнял Pilat66.
|
Сообщения: 590
Страна: Россия |
 27.07.2008 в 21:46
Ну ладно, ладно - не заметил Ваш ответ. Чего раздувать из этого тему?
|
Сообщения: 29
Страна: Россия |
 27.07.2008 в 22:55
=)
|
Сообщения: 47
Страна: Россия |
 28.07.2008 в 12:24
А еще есть JSONP
|
Сообщения: 590
Страна: Россия |
 02.08.2008 в 22:33
JSONP немного для другого сделан.
|
Сообщения: 50
Страна: Россия |
 03.08.2008 в 14:29
А создать documentElement script и вставить в него полученный код нельзя?
document.write('<script>alert(1);</script>') очень хорошо работает, причем без eval
|
Сообщения: 11
Страна: Россия |
 03.08.2008 в 19:27 [Отредактировано: 03.08.2008 в 19:27]
Чтобы скрипт работал в скрипте, надо модифицировать один из скриптов как то примерно так
<'sc'+'ript'>...<'scr'+'pt'>
Дело в том, что при обработке скриптов, браузер считает концом скрипта тег <script> и останавливается на первом встреченом теге...
Кокда мы заменяем на сумму составляющих, все должон проходить без вопросов...
|
Сообщения: 739
Страна: Россия |
 03.08.2008 в 21:48 [Отредактировано: 03.08.2008 в 21:50]
Цитата (sa_t_an): Чтобы скрипт работал в скрипте, надо модифицировать один из скриптов как то примерно так
<'sc'+'ript'>...<'scr'+'pt'>
Дело в том, что при обработке скриптов, браузер считает концом скрипта тег <script> и останавливается на первом встреченом теге...
Кокда мы заменяем на сумму составляющих, все должон проходить без вопросов...
Эмммм, а как вы собрались стандартный HTML так модифицировать?
Вообще хотелось использовать что-то типа
Код:
<script>
function show()
{
alert('OK');
}
</script>
<form>
<input type="button" onclick="javascript: show();">
</form>
и добавлять его на страницу через innerHtml. Как и советовали ранее придется использовать eval для этого.
|