Kontrollerar om jQuery är laddat med Javascript


Jag försöker kolla om mitt Jquery-bibliotek är laddat på min HTML-sida. Jag kollar för att se om det fungerar, men något är inte rätt. Här är vad jag 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

något är inte rätt

Tja, du använder jQuery för att kontrollera närvaron av jQuery. Om jQuery inte är laddat kommer $() inte ens att köras alls och din callback kommer inte att exekveras, om du inte använder ett annat bibliotek och det biblioteket råkar dela samma $()-syntax.

Ta bort din $ (document).ready() (använd något som window.onload istället):

window.onload = function() {
    if (window.jQuery) {  
        // jQuery is loaded  
        alert("Yeah!");
    } else {
        // jQuery is not loaded
        alert("Doesn't Work");
    }
}

Svar #2

Enligt denna länk:

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 göra detta snabbt på konsol-fliken när du inspekterar din webbsida.

T.ex:

=== jQuery

Om det returnerar true betyder det att det är laddat.

Svar #5

Bara en liten ändring som faktiskt kan lösa problemet:

window.onload = function() {
   if (window.jQuery) {  
       // jQuery is loaded  
       alert("Yeah!");
   } else {
    location.reload();
   }
}

Istället för $ (document).Ready(function() använd window.onload=function().

Relaterade artiklar