You can try this:
var script = document.createElement('script');
script.src = 'jquery.js';
script.onload = jqueryloaded; // thx @Cookie_Monster
document.body.appendChild(script);
题
I want to load jquery asynchronously on a page and then load an other script which depends on jquery (it executes jquery code when loaded). But how can I detect if jquery has finished lodading. Is there an event for this in jquery which fires when the library finished loading?
In theory I could load jquery like this:
<script async src="jquery.js" onload="jqueryloaded()"></script>
but I want the code to work on older browsers too which may not support the async and onload attributes. (In this case jquery is loaded synchronously.) That's why I'm looking for an event which jquery emits when it's loaded. Is there one?
解决方案
You can try this:
var script = document.createElement('script');
script.src = 'jquery.js';
script.onload = jqueryloaded; // thx @Cookie_Monster
document.body.appendChild(script);
其他提示
Have you seen http://headjs.com/?. An example it's:
head.load("jQuery.js", function() {
// Call a function when done
console.log("Done loading jQuery");
});