Is it possible to rem...">

Download external javascript file after onload ()

I use this in the tag head:

<script src="js/lightbox.js"></script>

Is it possible to remove this from the header and download this file with onload()?

<body onload="...">...</body>

Note. This is not a function, it is an external js file with several functions.

Thank!

+3
source share
5 answers
<script>
function loadJS(src, callback) {
    var s = document.createElement('script');
    s.src = src;
    s.async = true;
    s.onreadystatechange = s.onload = function() {
        var state = s.readyState;
        if (!callback.done && (!state || /loaded|complete/.test(state))) {
            callback.done = true;
            callback();
        }
    };
    document.getElementsByTagName('head')[0].appendChild(s);
}
loadJS('/script/script.js', function() { 
    // put your code here to run after script is loaded
});
</script>

I still think it's better to load it into jQuery and use $ .getScript instead, since you have a lot of goodies there.

You can cause this when loading the body.

+4
source
onload="blabla();"

function blabla()
{
    $.getScript( 'url to your js file', function( data, textStatus, jqxhr ) {
        // do some stuff after script is loaded
    });
}

You can learn more here.

Source

+2
source

jQuery,

function addScript(filename)
{
 var scriptBlock=document.createElement('script')
 scriptBlock.setAttribute("type","text/javascript")
 scriptBlock.setAttribute("src", filename)
 document.getElementsByTagName("head")[0].appendChild(scriptBlock)
}

<body onload="addScript('myFile.js')". , , .

+2
source

Use $ (document) .ready () and from this function load javascript. It sounds crazy, but can be done. please follow http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

+1
source

var JS = {
  load: function(src, callback) {
    var script = document.createElement('script'),
        loaded;
    script.setAttribute('src', src);
    if (callback) {
      script.onreadystatechange = script.onload = function() {
        if (!loaded) {
          callback();
        }
        loaded = true;
      };
    }
    document.getElementsByTagName('head')[0].appendChild(script);
  }
};

// Example with callback

JS.load("http://www.someawesomedomain.com/some.js", function() {
    //Do your thing.
});

0
source

All Articles