Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.07.2011, 14:53
Интересующийся
Отправить личное сообщение для Nataly12 Посмотреть профиль Найти все сообщения от Nataly12
 
Регистрация: 05.07.2011
Сообщений: 29

Очень нужна помощь, простой вопрос
Пересмотрела множество тем в интернете , так и не получилось сделать простую вещь - вызвать init(); после загрузки страницы в ие. (Для остальных браузеров получилось сделать.) Подскажите пожалуйста способы.
Ответить с цитированием
  #2 (permalink)  
Старый 19.07.2011, 15:00
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

а как делали для других браузеров?
Ответить с цитированием
  #3 (permalink)  
Старый 19.07.2011, 15:08
Интересующийся
Отправить личное сообщение для Nataly12 Посмотреть профиль Найти все сообщения от Nataly12
 
Регистрация: 05.07.2011
Сообщений: 29

А это имеет значение?
Вот весь код но для ие он не работает

// ff, opera
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, false);
}






// ie
/*@cc_on @*/

document.write("<script id=__ie_onload defer src=javascript:void(0)>");
document.write("<\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
    if (this.readyState == "complete") {
        init();
    }
};
/*@end @*/

// safari
if (/WebKit/i.test(navigator.userAgent)) {
    var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            clearInterval(_timer);
            delete _timer;
            init();
        }
    }, 10);
}

// others
window.onload = init;
]
Ответить с цитированием
  #4 (permalink)  
Старый 19.07.2011, 15:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

мне просто с дуба хочется рухнуть. бедная собака Якоба Нильсена. (htmlbook.ru)

после загрузки страницы?

прочитайте это тут все ясно расписано. не надо писать такие хитрые конструкции
Ответить с цитированием
  #5 (permalink)  
Старый 19.07.2011, 15:36
Интересующийся
Отправить личное сообщение для Nataly12 Посмотреть профиль Найти все сообщения от Nataly12
 
Регистрация: 05.07.2011
Сообщений: 29

Спасибо, сейчас попробую(он кстати тоже не короткий). Я новичок в этом в интернете море методов, большинство из которых не работают. Неужели это такой сложный вопрос?
Ответить с цитированием
  #6 (permalink)  
Старый 19.07.2011, 15:41
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

нет, просто много тонкостей

легче всего положить <script> под <body>.. конечно.. легче всего, и кроссбраузерно ...но разве это интересно?
Ответить с цитированием
  #7 (permalink)  
Старый 19.07.2011, 15:41
Интересующийся
Отправить личное сообщение для Nataly12 Посмотреть профиль Найти все сообщения от Nataly12
 
Регистрация: 05.07.2011
Сообщений: 29

Абсолютно ничего не поняла в этом коде. Куда вставить мою уже готовую функцию init() , чтобы она работала при загрузке старницы?
Ответить с цитированием
  #8 (permalink)  
Старый 19.07.2011, 15:42
Интересующийся
Отправить личное сообщение для Nataly12 Посмотреть профиль Найти все сообщения от Nataly12
 
Регистрация: 05.07.2011
Сообщений: 29

А можно мне самый неинтерестный метод, но чтоб работало и прям сейчас?
Ответить с цитированием
  #9 (permalink)  
Старый 19.07.2011, 15:43
Интересующийся
Отправить личное сообщение для Nataly12 Посмотреть профиль Найти все сообщения от Nataly12
 
Регистрация: 05.07.2011
Сообщений: 29

Под боди не получится так как у меня боди в шаблоне сайта, а скрипт только в шаблоне одного модуля
Ответить с цитированием
  #10 (permalink)  
Старый 19.07.2011, 15:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

там есть работающий код
Пример: отрывок из статьи..
<script>
function init(){ alert('function "init" '); }

bindReady( init );

function bindReady(handler){

	var called = false

	function ready() { // (1)
		if (called) return
		called = true
		handler()
	}

	if ( document.addEventListener ) { // (2)
		document.addEventListener( "DOMContentLoaded", function(){
			ready()
		}, false )
	} else if ( document.attachEvent ) {  // (3)

		// (3.1)
		if ( document.documentElement.doScroll && window == window.top ) {
			function tryScroll(){
				if (called) return
				if (!document.body) return
				try {
					document.documentElement.doScroll("left")
					ready()
				} catch(e) {
					setTimeout(tryScroll, 0)
				}
			}
			tryScroll()
		}

		// (3.2)
		document.attachEvent("onreadystatechange", function(){

			if ( document.readyState === "complete" ) {
				ready()
			}
		})
	}

	// (4)
    if (window.addEventListener)
        window.addEventListener('load', ready, false)
    else if (window.attachEvent)
        window.attachEvent('onload', ready)
    /*  else  // (4.1)
        window.onload=ready
	*/
}
</script>
<body>
body!
</body>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Очень нужна помощь с Ext JS dcbal ExtJS 1 09.07.2010 13:15
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17
Очень нужна помощь! sdff Общие вопросы Javascript 3 12.10.2009 15:05
Очень простой как даже по мне вопрос по поводу setTimeout & setInterval Хранитель Света Общие вопросы Javascript 5 12.07.2008 20:34