Очень нужна помощь, простой вопрос
Пересмотрела множество тем в интернете , так и не получилось сделать простую вещь - вызвать init(); после загрузки страницы в ие. (Для остальных браузеров получилось сделать.) Подскажите пожалуйста способы.
|
а как делали для других браузеров?
|
А это имеет значение?
Вот весь код но для ие он не работает // 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;] |
мне просто с дуба хочется рухнуть. бедная собака Якоба Нильсена. (htmlbook.ru)
после загрузки страницы? прочитайте это тут все ясно расписано. не надо писать такие хитрые конструкции |
Спасибо, сейчас попробую(он кстати тоже не короткий). Я новичок в этом в интернете море методов, большинство из которых не работают. Неужели это такой сложный вопрос?
|
нет, просто много тонкостей :)
легче всего положить <script> под <body>.. конечно.. легче всего, и кроссбраузерно ...но разве это интересно? |
Абсолютно ничего не поняла в этом коде. Куда вставить мою уже готовую функцию init() , чтобы она работала при загрузке старницы?
|
А можно мне самый неинтерестный метод, но чтоб работало и прям сейчас?
|
Под боди не получится так как у меня боди в шаблоне сайта, а скрипт только в шаблоне одного модуля
|
там есть работающий код
Пример: отрывок из статьи..
<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> |
Часовой пояс GMT +3, время: 21:59. |