It seems that helloworld.js
gets loaded multiple times based on the number of times I click #load
. I say this because when I look at Google Chromes Developer Tools Network tab, it shows helloworld.js
as many times as I click #load
.
$(document).ready(function() {
$("#load").click(function(){
$.getScript('helloworld.js', function() {
hello();
});
});
});
The hello()
function looks like this:
function hello(){
alert("hello");
}
Is it possible to detect if helloworld.js
has already loaded?
So if it hasn't loaded, load it, and if it has loaded, don't load it.
This is what Developer Tools currently shows me if I click the #load
button 4 times:
Set a flag when file loaded successfully. If flag is set then skip the file loading again.
Try this code,
var isLoaded = 0; //Set the flag OFF
$(document).ready(function() {
$("#load").click(function(){
if(isLoaded){ //If flag is ON then return false
alert("File already loaded");
return false;
}
$.getScript('helloworld.js', function() {
isLoaded = 1; //Turn ON the flag
hello();
});
});
});