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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> onload - разница в работе, почему, непонятка 
:(
    Опции темы
Иль
Дата 4.4.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Второй вариант не работает правильно, если его написать до <body>. Можно что-то сделать?
Код

<body onLoad="something()">
Код

var body=document.getElementsByTagName("BODY");
body.onload=something();

Функция something меняет отображение элементов страницы


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 4.4.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



А до функции создания body его нет в документе?
PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 4.4.2005, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Да. Я сначала пишу в <HEAD> в <script> эти две строчки и описываю тамже something(), а потом у меня <BODY> идет.
Видимо в этом причина.
А можно что-то сделать чтоб не писать скрипт и не присоединять .js фаил в самом <BODY>?
Конечно не хорошо спрашивать кокда есть проверенное годами решение инлайн, просто недопонимаю


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 4.4.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата
А можно что-то сделать чтоб не писать скрипт и не присоединять .js фаил в самом <BODY>?

Хоть убейте не пойму что тут написано 8))
Если у тебя уже есть блок - поидеи нельзя его генерить )) Потом, есть, действительно, инлайн.
А вообще, body.onload - это не есть хорошо. Тогда бы уж нужно бы было сменить имя переменной, иначе скрипт путается. А вообще, читай статью «Все о событиях» [ http://forum.vingrad.ru/index.php?showtopic=32350 ]. Подведу итог:
Либо inline, либо так:
Код

window.onload = myfucntion();

PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 4.4.2005, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Aliance, window.onload - оно. Не знал, спасибо. Сказывается моя неопытность и не smileграмотность
Чувствую, что надо 32350 опять перечитать и зазубрить smile

Это сообщение отредактировал(а) Иль - 4.4.2005, 20:46


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Иль
Дата 4.4.2005, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Все работает, но почему-то, когда я убираю строчку
Код

window.onload=alert("123");

в присоединяемый .js фаил ИЕ выдает сообщение об ошибке (не поддерживается), хотя работает.



--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 4.4.2005, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Т.к. файл должен сам загрузиться... вообще, IE для этого не лучший тестёр. Попробуй задержку нулевую поставить, но вообще так нельзя.

Незачто. Советую тебе потыкать в моей подписи, пришлось пожертвовать ею ради JSа =)))
Найдешь много чего интересного и полезного smile

Это сообщение отредактировал(а) Aliance - 4.4.2005, 22:08
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 5.4.2005, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Да, document.body не сучествует пока одноимённый тег не будет прочтён браузером, либо страница не закончится.

Цитата
в присоединяемый .js фаил ИЕ выдает сообщение об ошибке (не поддерживается), хотя работает.

Подробнее об этом?

Кстати не советую пользоватся (body|window).onload, бывает так что баннер не загружается и браузер просто минуту простаивает. Лучше в самом конце страницы вызвать dosomething() в ручную.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 5.4.2005, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Цитата(Sardar @ 5.4.2005, 01:06)
Подробнее об этом?

Я разобрался, дело в скобках после функции
Код

window.onload = myfucntion();//только ИЕ говорит об ошибке и не работает. Мазилла без проблем
window.onload = myfucntion;//работают обе бродилки




--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Иль
Дата 5.4.2005, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Sardar, спасибо за информацию.
Я правильно понял, лучше не <body onLoad="myfucntion()">, а именно в конце страницы?


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 5.4.2005, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Иль
Тьфу ты, извени. Канечно же это моя ошибка. Не нужны скобки. Я просто копировал код не вырезая с твоего... сори =)
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 5.4.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Я разобрался, дело в скобках после функции

В первом случае работать не должно вообще, т.к. функция отработает, а результат её будет записан в window.onload. Впрочем если ты результатом возвращаешь функцию, то проблем не будет smile

Цитата
Я правильно понял, лучше не <body onLoad="myfucntion()">, а именно в конце страницы?

Да, некоторые браузеры не запускают вовсе либо с задержкой событие onload если на странице есть какие то тормозные на загрузку элементы(баннеры, большие картинки и т.п.)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 5.4.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 14



Цитата(Sardar @ 5.4.2005, 17:54)
Впрочем если ты результатом возвращаешь функцию, то проблем не будет

Тонко! Буду помнить.


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


 




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


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

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