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