You might try

LABjs http://labjs.com/
or
HeadJS http://headjs.com/

Both are script loaders, and handle order or loading and execution of
external script files.

of course if you control the external javascript files, it would be much
better to concatenate the files together, unless of course they
are particularly large and you only need the functionality part of the time.

I tend to pack together files if they are < 2k its not worth the overhead of
a http request to load each file separately.

Rob


On Sat, Mar 5, 2011 at 5:46 PM, Jarek Foksa <ja...@kiwi-themes.com> wrote:

> Let's say that I have four scripts: init.js, script-1.js, script-2.js
> and script-3.js. Only init.js is declared in XHTML file, the other
> three scripts are loaded from init.js. The code for each file is as
> follows:
>
> init.js
> ----------------------------------------------------
> function loadScript(url) {
>  var script = document.createElement('script');
>  script.src= url + "?r=" + Math.floor(Math.random()*10000);
>  script.setAttribute("charset", "UTF-8")
>  document.querySelector('head').appendChild(script);
> }
> loadScript("script-1.js");
> loadScript("script-2.js");
> loadScript("script-3.js");
>
> script-1.js:
> ----------------------------------------------------
> console.log("Executing script-1.js");
>
> script-2.js
> ----------------------------------------------------
> console.log("Executing script-2.js");
>
> script-3.js
> ----------------------------------------------------
> console.log("Executing script-3.js");
>
>
> I'm always getting correct results in Google Chrome, Firefox and Opera:
> > Executing script-1.js
> > Executing script-2.js
> > Executing script-3.js
>
> But for some reason the scripts are loaded in random order by Safari:
> > Executing script-3.js
> > Executing script-1.js
> > Executing script-2.js
>
> It looks like loadScript() function runs asynchronously in Safari and
> synchronously in all other browsers. Why? Do you know a more reliable
> way for dynamically loading script files? So far I have stumbled upon
> RequireJS library, though it seems to be an overkill for my tiny
> projects.
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/jsmentors@jsmentors.com/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/jsmentors@googlegroups.com/
>
> To unsubscribe from this group, send email to
> jsmentors+unsubscr...@googlegroups.com
>



-- 
--
Rob Griffiths
http://bytespider.eu
@bytespider <http://twitter.com/bytespider>

https://github.com/bytespider

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to