I am sure I don\'t fully understand this problem, but it seems that we are seeing strange behavior on IE9 on my project, somehow related to out-of-order execution o
Use a script loader (like the one I wrote: LABjs), which will normalize all the different quirks of loading across the various browsers. And bonus: it doesn't use that god-awful document.write(). LABjs will let you load all your scripts asynchronously (in parallel), but make sure they execute in the proper order. Sounds like basically exactly what you want.