Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> событие window.onload и Ajax, наступает ли? 
:(
    Опции темы
Alex_B
Дата 26.5.2007, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.4.2007

Репутация: нет
Всего: 1



Есть закладки при нажатии на которые происходит Ajax взаимодействие с сервером и загрузка HTML кода в отведенный для этого контейнер DIV.

Необходимо совершить действие только когда загрузка HTML кода будет полностью закончена.
Аналог window.onload на обычных страницах без Ajax.

Как такое можно сделать?

Спасибо.

Добавлено через 4 минуты и 23 секунды
Наступает событие window.onload второй раз после динамического обновления HTML кода в контейнере DIV
PM MAIL   Вверх
12345c
Дата 26.5.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(Alex_B @  26.5.2007,  08:46 Найти цитируемый пост)
только когда загрузка HTML кода будет полностью закончена.
На это как раз используется req.onreadystatechange при req.readyState==4, показываемое во всех примерах.

PM WWW   Вверх
Alex_B
Дата 26.5.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.4.2007

Репутация: нет
Всего: 1



Спасибо. Вот так сделал

На событие, которое происходит когда Ajax запрос обработан
Код

req.onreadystatechange = function() {
    if (req.readyState == 4){
        действия когда запрос обработан...
    }
}

помимо вставки полученного HTML кода
document.getElementById('div_id').innerHTML = req.responseText;
Нужно подгружать JavaScript, т.е. выглядеть это должно примерно так:
Код

req.onreadystatechange = function() {
    if (req.readyState == 4){
        document.getElementById('div_id').innerHTML = req.responseText;
        подгрузка js файла
    }
}



Вопрос свелся к тому, как можно из Яваскрипта подгрузить и выполнить другой яваскрипт?
(желательно без eval)

Нашел оч. хорошее решение здесь на форуме:
Код

function change_src()
{var link = "scriptN.js";
var old_s = document.getElementById('dataloader');
if (old_s)
{old_s.parentNode.removeChild(old_s);            
}
var s = document.createElement('script');
s.setAttribute('type', 'text/javascript');
s.src = link;
s.id = 'dataloader';
document.getElementsByTagName('head')[0].appendChild(s);        
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.