I set out to discover how the getScript function in jQuery works today. Here is what I found. This post sort of illustrates just how easy it is to dig into the jQuery source and really learn the library.
The first thing I did is hop over to github and pop open the source for the 1.3.2 release:
http://github.com/jquery/jquery/tree/1.3.2/src
Since getScript() is an AJAX function, I naturally clicked on “ajax.js”. On line 109 I found:
Oh wow! It’s just a convenience method! It doesn’t do anything magical at ALL. It simply calls $.get().
Now, I could have stopped there, but for fun, let’s go deeper. On line 93 I found the get() function:
Ok, so get() is really just a convenience method for ajax(), so let’s look for that. Line 25, the ajax() function:
Wait, that’s not the one! I don’t really know how this works, but that can’t be the one because it strips out the script tags. I find another one later on on line 170 that goes all the way to line 451. Way down on line 253 it seems to handle the actual script loading:
Aha! Clever. Creates a script tag and sets it’s source to the one we specified and then on line 278 appends it to the head of the document, I’m assuming at that point running the script because two lines later it returns out of the function:
So, there you have it! It would almost seem that you could do the same thing by:
In fact, that seems to work just fine. Hrm… Fork me on github and/or get the plugin!