Николай С.
710 сообщений
#16 лет назад
Есть страница, на нее подкачиваются данные через ajax, данные - это html код формы и js-скрипт в стандартном теге <script></script>. После подгрузки данных закачанный js-скрипт не отрабатывается. Собственно и вопрос: как надо подкачивать скрипт?
Гость
28 сообщений
#16 лет назад
Заюзайте prototype.js там явно можно указать: скрипт подгружаемые аяксом исполнять или нет. А так там сделано просто: выбираем регуляркой текст между тегами <скрипт> и eval его.
Тест Тест
61 сообщение
#16 лет назад
Код в студию..
Николай С.
710 сообщений
#16 лет назад
Хорошо, а помимо eval есть еще какие-нибудь способы?
Гость
28 сообщений
#16 лет назад
Цитата ("SolNikolay"):
Хорошо, а помимо eval есть еще какие-нибудь способы?

выполнить скрипт подгружаемый аяксом? Мне кажется кроме eval-а никак.
Константин Т.
589 сообщений
#16 лет назад
Скрипт это скрипт, html это html. eval() надо вызывать только для текста скрипта, без всяких тэгов.
Гость
28 сообщений
#16 лет назад
Цитата ("Pilat66"):
Скрипт это скрипт, html это html. eval() надо вызывать только для текста скрипта, без всяких тэгов.

это вы к чему?
Роман Б.
75 сообщений
#16 лет назад
Использую jQuery. Все подгруженные скрипты выполняются автоматически.
Константин Т.
589 сообщений
#16 лет назад
Цитата ("kronos_vano"):
Цитата ("Pilat66"):
Скрипт это скрипт, html это html. eval() надо вызывать только для текста скрипта, без всяких тэгов.

это вы к чему?


вот к этому - "js-скрипт в стандартном теге <script></script>"
Сергей Шпак
596 сообщений
#16 лет назад
Согласен с Pilat66 : выполнить евалом, и потом к нему обращаться ...
помимо евала можно что-то придумать, но я думаю это будет геморно ...
Николай С.
710 сообщений
#16 лет назад
Цитата ("Pilat66"):
вот к этому - "js-скрипт в стандартном теге <script></script>"


Не совсем понял вашу логику.

Всем спасибо, про eval усвоил
Сергей Шпак
596 сообщений
#16 лет назад
Имелось ввиду :
если получаем <script>alert('йа яфаскриптеГ'</script>,
то выполнять его евалом нужно убрав '<script>', '</script>'.
Николай С.
710 сообщений
#16 лет назад
-Caesar-, kronos_vano еще в первом своем посте написал
Цитата ("kronos_vano"):
А так там сделано просто: выбираем регуляркой текст между тегами <скрипт> и eval его.

из чего и следует, что тэги отбрасываются. Поэтому и не понятно что уточнял Pilat66.
Константин Т.
589 сообщений
#16 лет назад
Ну ладно, ладно - не заметил Ваш ответ. Чего раздувать из этого тему?
Гость
28 сообщений
#16 лет назад
=)
Тут М.
626 сообщений
#16 лет назад
А еще есть JSONP
Константин Т.
589 сообщений
#16 лет назад
JSONP немного для другого сделан.
Вадим С.
49 сообщений
#16 лет назад
А создать documentElement script и вставить в него полученный код нельзя?
document.write('<script>alert(1);</script>' очень хорошо работает, причем без eval
Tan Sa
127 сообщений
#16 лет назад
Чтобы скрипт работал в скрипте, надо модифицировать один из скриптов как то примерно так
<'sc'+'ript'>...<'scr'+'pt'>
Дело в том, что при обработке скриптов, браузер считает концом скрипта тег <script> и останавливается на первом встреченом теге...
Кокда мы заменяем на сумму составляющих, все должон проходить без вопросов...
Николай С.
710 сообщений
#16 лет назад
Цитата ("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 для этого.