Как загрузить 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, время: 21:54. |