Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / window.onload не работает в IE / 13 сообщений из 13, страница 1 из 1
23.04.2009, 19:19
    #35951042
KaTaJIu3aToP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
Здравствуйте!

window.onload не работает в IE. Предложите варианты решения данной проблемы.

Спасибо за внимание.
...
Рейтинг: 0 / 0
23.04.2009, 19:34
    #35951074
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
KaTaJIu3aToP
window.onload не работает в IE

window.onload работает в IE
KaTaJIu3aToP
Предложите варианты решения данной проблемы

Внимательно ознакомьтесь с этим
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23.04.2009, 19:43
    #35951086
KaTaJIu3aToP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
Ex_Soft
KaTaJIu3aToP
window.onload не работает в IE

window.onload работает в IE
KaTaJIu3aToP
Предложите варианты решения данной проблемы

Внимательно ознакомьтесь с этим
_________________
"Helo, word!" - 17 errors 56 warnings


Огромное спасибо за дельный совет. Теперь все стало на свои места!

Нарыл такое решение :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
function init() {
	// quit if this function has already been called
	if (arguments.callee.done) return;
	
	// flag this function so we dont do the same thing twice
	arguments.callee.done = true;
	
	// kill the timer
	if (_timer) {
		clearInterval(_timer);
		_timer = null;
	}
       alert('Loading fineshed!');
};

/* for Mozilla */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init(); // call the onload handler
		}
	};
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			init(); // call the onload handler
		}
	},  10 );
}

/* for other browsers */
window.onload = init;

Возможно, кто-то знает более изящное решение?
...
Рейтинг: 0 / 0
23.04.2009, 23:20
    #35951349
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
За Safari не отвечаю, а для M$ IE && Mozilla
Код: plaintext
1.
<body ... onload="init()" ...>
||
Код: plaintext
1.
2.
3.
4.
5.
6.
if(window.attachEvent)
	window.attachEvent("onload",init);
else if(window.addEventListener)
	window.addEventListener("load",init,false);
else
	window.onload=init;
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
24.04.2009, 00:30
    #35951401
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
а причем вообще тут window.onload?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><title> New Document </title>
<script>
	var _timer;
	function init() { 
		if (arguments.callee.done) return;
		arguments.callee.done = true;
		if (_timer) {
			clearInterval(_timer);
			_timer = null;
		}
		alert('Loading fineshed!');
	}
	window.onload = init;
</script>
</head>
<body></body>
</html>
отлично работает. В том числе и в ИЕ (6). И в Mozilla, и в Opera. Смотрите внимательнее, что у Вас этот _timer делает.

П.С. Отдельный восторг вызвал закомментированный код, который "/* for Internet Explorer */". Это чё вообще такое? Такой БУБЕН вижу впервые :-).
...
Рейтинг: 0 / 0
24.04.2009, 12:38
    #35952294
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
illion,

читал несколько раз, не понял связь вопроса с отрезанным куском кода. в отрезанном куске кода в методе init лишнее все кроме последнего алерта (если рассматривать все это как конечный вариант).
найденный пример решает проблему т.н. кроссбраузерного события DOMLoad, window.onload в самом конце - это ничто иное как fallback если ни один известный метод не проходит. Уверен ты знаешь, но для тех кто не знает поясню:
DOMLoad - событие, возникающее когда загружена и готова к работе модель документа, но ресурсы ещё могут подгружаться. Не является стандартом де-факто так что производители браузеров извращались по-разному (а кто-то даже не задумывался и для них придумали разные трюки).
window.onload - довольно тупое событие, возникает когда загружен весь документ включая все ресурсы, т.е. когда браузер перестает что-то ещё подгружать. Обычно пользвоатель видит страницу намного раньше, чем возникает это событие, так что если хочется сделать какие-то инициализирующие действия на странице - этот вариант не очень подходит.

по поводу комментариев - это т.н. conditional compilation, домашние пирожки от M$
...
Рейтинг: 0 / 0
24.04.2009, 15:47
    #35952903
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
зы...домашние пирожки...
соблазнитель! Теперь хочу домашних пирожков. Напечь что ли....
...
Рейтинг: 0 / 0
24.04.2009, 18:25
    #35953324
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
зы
DOMLoad

Что-то я его в DOM Level 3 Events не нахожу... Это в проекте?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.04.2009, 22:17
    #35953531
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
Ога. Столкнулись.
...
Рейтинг: 0 / 0
24.04.2009, 22:21
    #35953537
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
Доктайп интересен.
...
Рейтинг: 0 / 0
25.04.2009, 00:28
    #35953623
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
Ex_Soft
Что-то я его в DOM Level 3 Events не нахожу... Это в проекте?

я не в настроении играть в детский сад
...
Рейтинг: 0 / 0
25.04.2009, 10:21
    #35953763
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
зы
играть в детский сад

/me думает: при чем тут детсад? Вы озвучили DOMLoad : google прямого ничего не дал. Из Mozilla пришел на DOM Level 3 Events и его там не увидел. Можете дать тынць на первоисточник?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.04.2009, 21:55
    #35954846
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
window.onload не работает в IE
DOMLoad - общее название некоего события, интересующего программиста, применяемое для обозначения момента окончания загрузки документа. Все реализуют по-разному, поэтому это и не является стандартом, как я и написал.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / window.onload не работает в IE / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]