Ich versuche zu überprüfen, ob meine Jquery-Bibliothek auf meine HTML-Seite geladen ist. Ich überprüfe, ob es funktioniert, aber etwas stimmt nicht. Folgendes habe ich:
<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>
javascript
jquery
SoftwareSavant
quelle
quelle
alert(window.$?1:0)
<!doctype html>
stattdessen$(document)
Ready-Funktion überhaupt ausgeführt wird, wird jquery geladen. Sie können also einfach$(document).ready(function(){ alert("Ready!"); });
Granted ausführen. Dies zeigt keine Warnung an, wenn jquery nicht ausgeführt werden kann. Es reicht jedoch aus, wenn Sie lediglich überprüfen müssen, ob Sie korrekt auf die jquery-Bibliothek verwiesen haben.Antworten:
Nun, Sie verwenden jQuery, um das Vorhandensein von jQuery zu überprüfen. Wenn jQuery nicht geladen ist,
$()
wird es überhaupt nicht ausgeführt und Ihr Rückruf wird nicht ausgeführt, es sei denn, Sie verwenden eine andere Bibliothek und diese Bibliothek hat zufällig dieselbe$()
Syntax.Entfernen Sie Ihre
$(document).ready()
(verwenden Siewindow.onload
stattdessen so etwas wie ):quelle
jQuery
auslösen, wenn er nicht definiert ist. Sie müssen überprüfen fürwindow.jQuery
.src
hat eine Führung/
, das heißt, es schaut in die Wurzel.Gemäß diesem Link:
Es gibt noch ein paar mehr in den Kommentaren des Links wie:
Hoffe, dies deckt die meisten guten Möglichkeiten ab, um diese Sache zu erledigen !!
quelle
if (jQuery) {
Wird im strengen Modus einen Fehler auslösen, wenn jQuery nicht geladen ist, sodass das letzte Code-Snippet ein schlechter Vorschlag ist.quelle
Sie können dies schnell auf der Registerkarte "Konsole" tun, wenn Sie Ihre Webseite überprüfen.
Z.B:
Wenn es zurückgibt
true
, bedeutet es, dass es geladen ist.quelle
Uncaught ReferenceError: jQuery is not defined
Nur eine kleine Modifikation, die das Problem tatsächlich lösen könnte:
Anstelle von
$(document).Ready(function()
Gebrauchwindow.onload = function()
.quelle
Wenn
jQuery
das Laden asynchron ausgeführt wird, können Sie warten, bis es definiert ist, und in jedem Zeitraum prüfen, ob es definiert ist:Diese Methode kann für jede Variable verwendet werden, auf deren Anzeige Sie warten.
quelle
Sie können einfach
window.jQuery
Console eingeben. Wenn es eine Funktion zurückgibt (e, n) ... Dann wird bestätigt, dass die Abfrage geladen ist und erfolgreich funktioniert.quelle
Eine schnelle Möglichkeit besteht darin, einen jQuery-Befehl in der Entwicklerkonsole auszuführen. Drücken Sie in einem beliebigen Browser F12 und versuchen Sie, auf eines der Elemente zuzugreifen.
quelle