Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как загрузить JavaScript после создание DOM? (https://javascript.ru/forum/misc/31055-kak-zagruzit-javascript-posle-sozdanie-dom.html)

Jeremen 24.08.2012 20:18

Как загрузить JavaScript после создание DOM?
 
Как загрузить JavaScript после создание DOM? Погулил и был ошеломлен, думал это будет найти проще простого, находил решения с подключением разных фреймворков но по моему это глупо подключать целый фрейморвк для решение данной проблемы, или может я не правильно вопросов завадал... Подскажите пожалуйста как это реализовать.

B@rmaley.e><e 24.08.2012 20:24

Google: onload или ondomready.

Deff 24.08.2012 20:31

Как Подключить загружаемый скрипт после подгрузки 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>

Jeremen 24.08.2012 21:10

Deff, а в вашем варианте походу нужно ждать загрузки картинок и прочего, а мне нужен код который мог бы как только DOM сформировался запускать скрипт.

Deff 24.08.2012 21:19

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>

Jeremen 24.08.2012 21:40

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;
  }
})();

Aetae 24.08.2012 21:54

http://javascript.ru/unsorted/top-10-functions


Часовой пояс GMT +3, время: 18:46.