|
|
|
| Приветствую. Проблема следующая.
Загружаю аяксом в определенный див html контент. Там и javascript присутствует, который не выполняется после загрузки в див. То есть даже самый простой алерт не работает.
Подскажите, как быть?
Как сделать, чтоб после того как я загрузил в див какойто текст/код включая javascript этот js выполнился?? | |
|
|
|
|
|
|
|
для: c-quence
(10.02.2011 в 18:07)
| | Возможно, он просто не интерпретируется. Но вообще, попробуйте так: загружаемый код оформите в функцию. После того, как вставите полученный код в див - вызовите функцию из родительского скрипта. Если не получится - значит нужно подгружать JS отдельно и делать eval. | |
|
|
|
|
|
|
|
для: c-quence
(10.02.2011 в 18:07)
| | Зарубите на носу:
аяксом Вы получаете не HTML-код, и не JS-код.
Вы вообще НИКАКОГО КОДА аяксом получить не можете.
Аяксом Вы получаете одну СТРОКУ СИМВОЛОВ - буквочки, циферки и всякие прочие значочки...
Получив эту строку, Вы можете её разобрать на несколько кусочков (подстрок).
1. Один кусочек - это будущий HTML-код.
Именно - БУДУЩИЙ.
Настоящим HTML-кодом он станет ТОЛЬКО ПОСЛЕ того, когда Вы этот кусочек строки символов (подстроку) присвоите в качестве значения свойства innerHTML какому-нить тегу на странице.
2. Второй кусочек - это, положим, будущий исполняемый JS-код.
Именно - БУДУЩИЙ.
Настоящим JS-кодом он станет ТОЛЬКО ПОСЛЕ того, когда Вы создадите тег <SCRIPT> и присвоите свойству text этого тега в качестве значения этот кусочек строки символов (подстроку).
http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=64575#post375669
3. Остаётся ОДИН вопрос: а как узнать - где что в полученной аяксом строке символов?
ОТВЕТ: а кто у нас PHP-скрипт пишет?
Вы или Пушкин?
Если - ВЫ, то тогда Вы и должны сформировать такой ответ сервера, чтобы в нём было можно отыскать: где начинается и где заканчивается будущий HTML-код. И - где начинается, и где заканчивается будущий JS-код.
Например, так:
Если будущий HTML-код имеет вид: <span>ля-яля-ля</span>
А будущий JS-код имеет вид: alert ('HELLO');
То PHP может сформировать следующий ответ:<span>ля-яля-ля</span>|||alert ('HELLO');
Скрипт на странице, получив эту строку, элементарно рассплитует её в массив по разделителю ||| и нулевой элемент массива использует как HTML-код, а первый элемент - как JS-код.
Понятно? Передайте это Вашему "Пушкину".
Если Вы (или Ваш "Пушкин", который Вам PHP-код пишет) этого понять не в состоянии и ОБЯЗАТЕЛЬНО засунет в ответ сервера теги <script></script> с JS-кодом между ними и будет ожидать исполнения JS-кода просто так, потому как именно так хочется, то передайте ему (и запомните сами) - так не выйдет.
-----
Метод eval () использовать не надо.
Никогда.
Никому.
Ни при каких обстоятельствах.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Абырвалг
(10.02.2011 в 19:31)
| | Спасибо. Все понял. С "проблемой" разобрался. | |
|
|
|