| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > выполнение подзагруженного AJAX'ом скрипта |
| Автор: Alix36 19.4.2007, 19:58 | ||||||||
| Вот такой скриптик. ajax.htm
TEMP.php
там нет никого скрипта пока, просто ради теста, ибо будующий скрипт будет выводить именно алерт цель- сделать по этой схеме, чтобы раз в N мсек создавался алерт(цель можно достичь намного более простым способом, но мне важен именно сам процесс обмена AJAX ) Величайшее изобретение fireBug ajax возвращает не просто текст, а текст кокто размеченный
на мой взгляд из-за этого и не пашет, но как избавится от всего этого я невкурсе( скорее всего причина в Zxml творение http://nczonline.net/downloads/zXml.zip от но там ничего немогу понять Чтож я хочу от вас. Укажите мне хотябы путь в котором рыть, но лучше тыкните в определенную стрку. Добавлено через 2 минуты и 53 секунды Возможно можно не править сам ZXML а добавить доп обработчик транслируемого текста в функции
где sText - текст возвращаемый ajax/ |
| Автор: Alix36 20.4.2007, 18:25 |
| Мохбыть кто знаает другие кроссбраузеры |
| Автор: skyboy 20.4.2007, 19:48 | ||
чтоб инициировать выполнение блока script надо переписать аттрибут src. например, так:
не знаю, как насчет кроссбраузерности(не нашел в IE JavaScript - консоли Собственно, если вставлять в созданный скрипт содержимое, пришедшее по AJAX - разницы особой я не вижу... --------------- подытожим: для запуска скрипта лучше использовать методы DOM, а не innerHTML |
| Автор: vasac 20.4.2007, 19:50 |
| eval() есть такая функция. а для подгрузки исполняемого js-кода гораздо правильнее идеологически, проще и кроссбраузернее — динамическое создание элемента SCRIPT. ну или json на худой конец. ___ опять Скайбой опередил |
| Автор: Alix36 20.4.2007, 22:45 |
| skyboy, vasac, Во-первых спасибо что откликнулись, а про то что предложил skyboy я несовсем понял, ты предлагаеш вместо всего кода это вставить, т.е. я несовсем врубился в принципе и целе твоего кода. --- --- --- --- Немного подумав --- --- --- --- Кажись доперло это ты предлагаеш посылать из PHP файла? |
| Автор: Alix36 21.4.2007, 07:23 | ||
| --- --- --- --- Немного подумав2 --- --- --- --- Я понял этот скрипт в ajax.html ты предлагаешь. Тока кинь ссылку на статью о свойстве Scr У мя такая идея может для экономии трафика PHP скрипт будет возвращать только 1 или2 или 3(там будет всетаки скрипт который динамически изменяется.) а тогда в ajax.html можно делоть из результата серверного скрипта переменную, и по ее значению делать определенный евал. Добавлено через 14 минут и 12 секунд
Примерно так |
| Автор: skyboy 21.4.2007, 08:38 | ||||
| я динамически создаю элемент <script>(переменная Scr - имя её никак не влияет на код, а свойства этой переменной - как атрибуты у элемента script), вот его http://wdh.suncloud.ru/dhtml08.htm#ref4841. Он наследует http://wdh.suncloud.ru/dhtml06.htm#ref464, который в свою очередь наследует http://wdh.suncloud.ru/dhtml04.htm#ref442, а он уналедовался от http://wdh.suncloud.ru/dhtml03.htm#ref431. Благодаря этим ссылкам, я думаю, узнаешь много чего интересного... Я код привел для демонстрации динамической вставки скрипта в страницу и запуска этого блока на выполнение. Только и всего. Хочешь прикрутить этот код к своему AJAX'у - вместо
сделай вставку в элемент своего текста
или ещё как... |
| Автор: Alix36 21.4.2007, 13:51 | ||||
| я сделал по своему всетаки. см пост выше Но есть такая трабла, почемуто с каждым разом скрипт посылает все больше и больше запросов к серверу, и я немогу понять почему. еще раз JS код.
помойму все дело в этом.
но без него тоже работать не будет. Добавлено через 6 минут и 39 секунд в почемуто еще иногда вылетает ошибка [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://test1.ru/lib/ajax/Chatloc.js :: anonymous :: line 15" data: no] [Break on this error] if (oXmlHttp.status == 200) { Добавлено через 9 минут и 42 секунды гы получается клевая прогрессия 1-1-2-3-5-7-10-12 тока она не совсем прогрессия) Этоя про количество запросов раз от раза |
| Автор: Alix36 21.4.2007, 19:10 |
| Может быть это из за кэша? |
| Автор: Sardar 4.5.2007, 17:00 |
| Лиса кидает исключение если в ответ приходит не 2хх, при чём делает это она на вызове .send(), который в асинхронном режиме уже по идее завершился. Хотя это удобно, обернул в try/catch, вызвал обработчик ошибки. |