Jarek, If you are using PHP on your server you my be interested in Minify....
I have recently started using Minify -> http://code.google.com/p/minify/ which helps to group (package) sets of js files for specific functionality and also minify for performance sake too. (Less http requests and smaller file sizes). Also, I don't have to build a set of compressed scripts, since minify does the grouping and minify work via PHP. This can be used for small or larger projects (not sure how large, I use Minify with Magento Commerce apps) Regards, -Bill On Mar 5, 2011, at 10:21 AM, fernando trasvina wrote: > you can do that trough ajax, using a wait function to load the scripts in > order, but going other way with this. > > why do you load files that way if I may ask? > > that approach is kinda slow if you know you need those scripts why don't you > use one js packager > > > On Mar 5, 2011, at 11:46 AM, Jarek Foksa 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/[email protected]/ >> >> To search via a non-Google archive, visit here: >> http://www.mail-archive.com/[email protected]/ >> >> To unsubscribe from this group, send email to >> [email protected] > > -- > To view archived discussions from the original JSMentors Mailman list: > http://www.mail-archive.com/[email protected]/ > > To search via a non-Google archive, visit here: > http://www.mail-archive.com/[email protected]/ > > To unsubscribe from this group, send email to > [email protected] -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
