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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Будет ли так работать onLoad 
:(
    Опции темы
Castro
Дата 5.10.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В одном файле у меня есть функция
Код

window.onload = function (){
    /*Create additional elements to view result */
        var hr = document.createElement("hr");
        document.body.appendChild(hr);
        var br1 = document.createElement("br");
        document.body.appendChild(br1);
        var text=document.createElement("h1");
        var result=document.createTextNode("Результаты тестирования");
        text.appendChild(result);
        document.body.appendChild(text);
        var div1 = document.createElement("div");
        div1.id="elemList";
        document.body.appendChild(div1);
        var br2 = document.createElement("br");
        document.body.appendChild(br2);
        var div2 = document.createElement("div");
        div2.id="log";
        document.body.appendChild(div2);

        crtElementsList();
        crtTable();
    }

я другом файле я делаю инклюд файла с этой функцией и по идее она должна сработать на onLoad, но почему что-то ничего не происходит. Но почему?Тоесть задача состоитв том чтобы заставить сработать в документе, который файл с функцией инклюдит 


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
Pokoinik
Дата 5.10.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

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



а не проще просто в <body> обработчик поставить?

Это сообщение отредактировал(а) Pokoinik - 5.10.2007, 16:57


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
Castro
Дата 5.10.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А как? У меня есть файл А с алертом. Он подключён в файл В и в нём на onLoad должен этот алерт сработать. Проблемма в том, что заранее ведь не известно, куда подключат файл А...  


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
solenko
Дата 5.10.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



помоему такое работать и нее должно.
Может стоит ввести какой-то стандартный интрефейс. Скажем, функция, инициализирующая модуль, называется имя_модуля_init()
Далее, загрузчик, загружает модуль и добавляет в его в некий стек.
Также есть функция, выполняющаяся по setInterval и проверяющая  complite объектов в этом самом стеке. Если complite, то вызываем init() и удаляем из стека.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 5.10.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(Castro @  5.10.2007,  17:04 Найти цитируемый пост)
...есть файл А с алертом. Он подключён в файл В и в нём на onLoad должен этот алерт сработать.

В этой доисторической модели (DOM 0), когда обработчики событий напрямую присваиваются соотв. свойствам объектов, на одно событие можно назначить лишь один обработчик. Поэтому если в файле B есть что-то вроде
Код

window.onload = function() {  .... alert(...); .... }

то все присвоенные выше обработчики onload-а будут просто перезатерты.

Нормальный выход - назначать обработчики "по-взрослому", через attachEvent|addEventHandler (см. прикрепленную тему про события). "Дубовый" выход в стиле "абы работало" - каждый раз при необходимости расширить функциональность оnload-а делать что-то вроде:
Код

var oldOnLoad = window.onload; // "бэкап" старого онлоада
window.onload = function() {
    oldOnLoad(); // вызываем старое
    .....          // добавляем новое
    alert(...);
    .....
}

Но лучше делать нормально, по крайней мере, если нет острой необходимости поддерживать музейные браузеры smile


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


 




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


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

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