Как загрузить JavaScript после создание DOM?
Как загрузить JavaScript после создание DOM? Погулил и был ошеломлен, думал это будет найти проще простого, находил решения с подключением разных фреймворков но по моему это глупо подключать целый фрейморвк для решение данной проблемы, или может я не правильно вопросов завадал... Подскажите пожалуйста как это реализовать.
|
Google: onload или ondomready.
|
Как Подключить загружаемый скрипт после подгрузки DOM <html> <body> <script type="text/javascript"> document.body.onload = function() { //ondomready var script=document.createElement('script'); script.src='http://hostjs-mybb2011.narod.ru/js/alert_tst.js'; document.body.appendChild(script) } </script> </body> </html> |
Deff, а в вашем варианте походу нужно ждать загрузки картинок и прочего, а мне нужен код который мог бы как только DOM сформировался запускать скрипт.
|
Jeremen,
</body> <html> <body> Тут Код Страницы <div id=footer> <script type="text/javascript"> var script=document.createElement('script'); script.src='http://hostjs-mybb2011.narod.ru/js/alert_tst.js'; document.body.appendChild(script) </script> </div> </body> </html> |
Deff, понятно.
Вот нагуглил "onDomReady без jQuery". Исходный код взят с jQuery. (function(){ var readyBound = false; var bindReady=function(){ if ( readyBound ) return; readyBound = true; if ( document.addEventListener ) { document.addEventListener( "DOMContentLoaded", function(){ document.removeEventListener( "DOMContentLoaded", arguments.callee, false ); ready(); }, false ); } else if ( document.attachEvent ) { document.attachEvent("onreadystatechange", function(){ if ( document.readyState === "complete" ) { document.detachEvent( "onreadystatechange", arguments.callee ); ready(); } }); if ( document.documentElement.doScroll && window == window.top ) (function(){ if ( isReady ) return; try { document.documentElement.doScroll("left"); } catch( error ) { setTimeout( arguments.callee, 0 ); return; } ready(); })(); } if (window.addEventListener) window.addEventListener('load', ready, false); else if (window.attachEvent) window.attachEvent('onload', ready); else window.onload=ready; } var isReady=false var readyList= []; var ready=function() { if ( !isReady ) { isReady = true; if ( readyList ) { var fn_temp=null while(fn_temp=readyList.shift()){ fn_temp.call( document); } readyList = null; } } } domReady=function(fn) { bindReady(); if ( isReady ) fn.call(document); else readyList.push( fn ); return this; } })(); |
|
Часовой пояс GMT +3, время: 23:23. |