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().

Relaterte artikler