Выполнение JS внутри страницы запрашиваемой AJAX'ом
Приветствую, Булчане.
Есть небольшая проблемка. Перепиливаю систему окошек у себя на сайте, всё красиво и работает. Но, мне не нравится что содержимое окошек подготавливается сразу при загрузке страницы, даже если я эти окошки не буду открывать, и, собственно, сама страница весит дюже дофига. Решил сделать запрос содержимого окошек ajax'ом при открытии каждого окошка (то что такое окошко будет открываться с временнЫм лагом при тормозном интернете - за проблему не считаю пока что). Собственно, всё бы хорошо, но у меня на запрашиваемой ajax'ом странице поля ввода (input обыкновенные) создаются через функцию js (допустим, createInput с какими то там параметрами). Я понимаю что не есть хорошо, гораздо проще нормально html-инпутов навешать. Но так есть (остаток от предыдущего программиста проекта), и, выпилить всё это безобразие времени не хватает. Так вот. Как можно эти js функции выполнить внутри страницы, которую я спрашиваю аяксом? Схематичный пример: страничка window1.php: PHP код:
PHP код:
PHP код:
Каким способом можно запустить этот js внутри запроса? Eval не предлагать. Даже не беря во внимание небезопасность его использования, его всё равно использовать не получится - внутри window1.php есть код php, на котором Eval сразу же и умирает. |
Ответ: Выполнение JS внутри страницы запрашиваемой AJAX'ом
ты уверен что скрипт не выполняется?
добавь строчку debugger; открой средства разработки хрома отладчик должен остановится на этой сроке (как на брейкпоинте) |
Ответ: Выполнение JS внутри страницы запрашиваемой AJAX'ом
Я обычно так делаю в похожих ситуациях.
Допустим, каждое окошко должно пройти определённую обработку JavaScript'ом (например, на каждый input навесить какое-то событие). Окошки грузятся ajax'ом, их может быть сколько угодно. Я создаю функцию типа такой, которая будет эту обработку выполнять: PHP код:
(предполагается, что пыха высирает json с вёрсточкой в поле html) PHP код:
Слухи о небезопасности eval на javascript'е (при пряморуком использовании) сильно преувеличены. |
Часовой пояс GMT +4, время: 05:07. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot