Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как повесить обработчик на событие load? (https://javascript.ru/forum/events/37057-kak-povesit-obrabotchik-na-sobytie-load.html)

skruks 06.04.2013 09:16

Как повесить обработчик на событие load?
 
Firefox. Запускаю в консоли Firebug:
function f(){alert('бла 6ла')};
window.onLoad = f;

Нажимаю кнопку Обновить в браузере. Сообщение не вылезает!
Вероятно потому что страница выходит из кэша. Хотя я пытался и кэш
чистить, и страницу новую загружать. Ничего!
Пробовал и addEventListener.
А вот событие onresize работает отлично:
function f(){alert('бла 6ла')};
window.onresize = f;

Помогите зелёному. Мож надо кэш как-то чистить или другие события использовать?

danik.js 06.04.2013 13:12

Ну тупо же. При обновлении страницы грузится новый document. А старый, вместе со скриптами улетает в небытие.

skruks 11.04.2013 15:21

А я разве на document цепляю скрипт-обработку события?! Я вроде его на window цепляю, а window остаётся старым.
Ну даже если так. Как мне тогда на окно то повешать обработчик?

danik.js 11.04.2013 15:29

Цитата:

Сообщение от skruks
Я вроде его на window цепляю, а window остаётся старым.

Не остается. Все обновляется.
Цитата:

Сообщение от skruks
Как мне тогда на окно то повешать обработчик?

Ну хотя бы через window.onload
Только l маленькая. Ну и само собой обработчик надо навешать до возникновения события load, иначе и смысла никакого нет :)

animhotep 11.04.2013 15:59

или выполнить функцию
function f(){alert('бла 6ла')};
window.onload = f();

danik.js 11.04.2013 16:06

Цитата:

Сообщение от animhotep
или выполнить функцию
function f(){alert('бла 6ла')};
window.onload = f();

И что это даст?
С тем же успехом можно написать

function f(){alert('бла 6ла')};
f();

или
(function (){alert('бла 6ла')})();

Причем тут window.onload ?

animhotep 11.04.2013 16:35

Цитата:

Сообщение от danik.js
Причем тут window.onload ?

не при чём)

SkyLight 11.04.2013 17:01

Цитата:

Сообщение от skruks
А я разве на document цепляю скрипт-обработку события?! Я вроде его на window цепляю, а window остаётся старым.
Ну даже если так. Как мне тогда на окно то повешать обработчик?

Вы не понимаете, как это работает. Когда вы что-то делаете с помощью JS, то оно будет работать ровно до того момента, как вы перегрузите страницу. Тогда все начинается заново. Если вам надо, чтобы ваш обработчик на onload срабатывал и после перезагрузки, так и пропишите его на странице, а не через файрбаг.

kotamirov 28.02.2014 14:21

localStorage)
 
Цитата:

Сообщение от skruks (Сообщение 244506)
Firefox. Запускаю в консоли Firebug:
function f(){alert('бла 6ла')};
window.onLoad = f;

Нажимаю кнопку Обновить в браузере. Сообщение не вылезает!
Вероятно потому что страница выходит из кэша. Хотя я пытался и кэш
чистить, и страницу новую загружать. Ничего!
Пробовал и addEventListener.
А вот событие onresize работает отлично:
function f(){alert('бла 6ла')};
window.onresize = f;

Помогите зелёному. Мож надо кэш как-то чистить или другие события использовать?

Я бы посоветовал хранить данные в localStorage, они не меняются при перезагрузке странички !

kostyanet 01.03.2014 00:35

Цитата:

Сообщение от skruks
Как мне тогда на окно то повешать обработчик?

В окне не видно события load

https://developer.mozilla.org/en/docs/Web/API/Window


Часовой пояс GMT +3, время: 18:53.