Sjekke om jQuery er lastet ved å bruke Javascript
Jeg forsøker å sjekke om min Jquery-bibliotek er lastet inn på HTML-siden min. Jeg sjekker om det fungerer, men noe er ikke riktig. Her er hva jeg har:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="/query-1.6.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
if (jQuery) {
// jQuery is loaded
alert("Yeah!");
} else {
// jQuery is not loaded
alert("Doesn't Work");
}
});
</script>
Svar #1
noe er ikke riktig
Vel, du bruker jQuery for å sjekke etter tilstedeværelsen av jQuery. Hvis jQuery ikke er lastet, vil ikke $() engang kjøre, og callbacken din vil ikke bli utført, med mindre du bruker et annet bibliotek og det biblioteket tilfeldigvis deler samme $()-syntaks.
Fjern din $ (document).ready() (bruk noe som window.onload i stedet):
window.onload = function() {
if (window.jQuery) {
// jQuery is loaded
alert("Yeah!");
} else {
// jQuery is not loaded
alert("Doesn't Work");
}
}
Svar #2
I henhold til denne lenken:
if (typeof jQuery == 'undefined') {
// jQuery IS NOT loaded, do stuff here.
}
if (typeof jQuery == 'function') {...}
//or
if (typeof $ == 'function') {...}
// or
if (jQuery) {
console.log("jquery is loaded");
} else {
console.log("Not loaded");
}
Svar #3
if ('undefined' == typeof window.jQuery) {
// jQuery not present
} else {
// jQuery present
}
Svar #4
Du kan gjøre dette raskt på konsoll-fanen når du inspiserer nettsiden din.
F.eks:
=== jQuery
Hvis det returnerer true, betyr det at det er lastet.
Svar #5
Bare en liten endring som faktisk kan løse problemet:
window.onload = function() {
if (window.jQuery) {
// jQuery is loaded
alert("Yeah!");
} else {
location.reload();
}
}
I stedet for $ (document).Ready(function() bruk window.onload=function().
