| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Как запустить подгруженный скрипт |
| Автор: Tony 25.9.2006, 09:29 |
| На странице обнавляется контент 4ерз ajax.Проблема в том что в ответ возвращается html+<script type="text/javascript">alert('some_text')</script> Полу4енный скрипт не отрабативет на странице.Как заставить работать его |
| Автор: pythonwin 25.9.2006, 09:32 |
| может поместить в innerHTML тега <div/>? |
| Автор: skyboy 25.9.2006, 09:43 |
| как ты этот ответ вставляешь: через innerHTML или путем парсинга дерева для Response? |
| Автор: Tony 25.9.2006, 09:44 | ||||
ответ:
|
| Автор: 12345c 25.9.2006, 13:47 |
| На подобное вроде бы отвечали, что скрипт надо обернуть в функцию, а потом вызвать её по eval('имя_функции();');. |
| Автор: Tony 25.9.2006, 14:25 |
| eval не подходит.Как то по другому можно? |
| Автор: skyboy 25.9.2006, 15:22 |
| средствами DOM создаешь элемент типа SCRIPT, наполняешь его скриптом, меняешь свойство src на что угодно(например - " "), а потом - обратно обнуляешь. Насколько мне известно, скрипт "перезагрузится" с выполнением контента. |
| Автор: Tony 25.9.2006, 17:04 | ||
Ты предлогаешь разделить полу4енные данные на хтмл и скрипт(не покатит т.к. сервер рендерит одно целое).Тоесть сна4ала рендерится хтмл затем идёт яваскрипт,каторый регулурует предыдуший html http://forum.vingrad.ru/index.php?showtopic=110775 posmotitam vnizy <script type="text/javascript">document.onload=selectDefaultTab('s3475394dfbgf_1');</script> |
| Автор: pythonwin 25.9.2006, 17:07 | ||
Tony, ты это для TabControl делаешь? Добавлено @ 17:11 здесь посмотри - может это поможет? http://mochikit.com/doc/html/MochiKit/DOM.html http://mochikit.com/doc/html/MochiKit/index.html Добавлено @ 17:12 http://mochikit.com/doc/html/MochiKit/Async.html |
| Автор: skyboy 25.9.2006, 17:25 | ||
что-то я попутал
Алерт видно и под ФФ1.5.0.7, и под ИЕ 6.0 без изменения источника скрипта... |
| Автор: Tony 25.9.2006, 17:48 | ||||||||
угу.Спасибо посматрю. Добавлено @ 17:57
Ты предлагаешь эту страницу 4ерз ajax загрузить? |
| Автор: skyboy 25.9.2006, 17:59 |
| нет, конечно. я говорю, что при таком создании(а не через innerHTML) скрипт выполняется. только и всего. |
| Автор: Tony 25.9.2006, 18:05 |
| Конечно developer'ы будут перегружать отделный tab(содержимое таба) ,а не весь tabbedPane 4ерз аях.Тоесть это вопрос снимает,но...Если нужно будет весь tabbedPane ? |
| Автор: skyboy 25.9.2006, 18:19 |
| Tony, не совсем понятно. это ты к моему посту говоришь? у меня вот формируется ответ в виде валидного XHTML-кода. Полученное я парсю рекурсивно при помощи DOM функций, причём при объеме передачи 50-100 элементов критического падения скорости в сравнении с использованием innerHTML не наблюдаю. А ко всему имею полный контроль над воссозданием дерева. Потому для меня остаётся загадкой, почему ри передаче tabbedPanel должны быть проблемы. Впрочем, я вообще не знаю, что это такое. Шаблон, что ли? |
| Автор: Sardar 25.9.2006, 18:27 | ||
Нда, что "религя" с людьми делает... Если изначально получаем JS, то смысл пользовать XMLHttpRequest отпадает (ну ради POST запросов только), можно, как уже сказал skyboy, грузить инфу создавая <script>. Также можно глянуть в http://prototype.conio.net/ либу, там есть удобные функции вырезающие JS код из ответов, а затем кидающие его на eval (как будто догадывались парни о извратах что будет писать народ...
|
| Автор: Tony 25.9.2006, 21:59 | ||
net ne k tvoemu. Добавлено @ 22:02 a nasjot virezanij(prototype.js) posmotrju funkciju.Ok.Vsem spasibo za u4astie |
| Автор: Tony 25.9.2006, 22:31 | ||
Всё ресшил так
Правда опера ругается на скрипт.А так в ИЕ и ФФ срабатывает. |
| Автор: pythonwin 26.9.2006, 10:57 | ||||
У меня прекрасно работает. Tony, покажи пожалуйста весь код! |
| Автор: Tony 26.9.2006, 16:00 | ||
| ну а 4то показивать, просто исползуй prototype.js.С помощю него и перегружай содержимое дива.Саное глабное укажи evalScripts:true.
я и ранше его испoльзовал(Ajax.Updater),но не знал 4то есть evalScripts.Если 4тото не догоняешь напиши. |
| Автор: pythonwin 27.9.2006, 07:01 | ||
спасибо, за ссылку! |