Weiß jemand, wie man prüft, ob jquery geladen wurde (mit Javascript) und es dann lädt, wenn es nicht geladen wurde.
etwas wie
if(!jQuery) {
//load jquery file
}
javascript
jquery
siebzehn
quelle
quelle
Antworten:
Vielleicht so etwas:
quelle
head
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( script );
Vermeiden Sie die Verwendung von "if (! JQuery)", da der IE den Fehler zurückgibt: jQuery ist 'undefiniert'
Verwenden Sie stattdessen: if (typeof jQuery == 'undefined')
Sie müssen auch überprüfen, ob die JQuery geladen wurde, nachdem Sie sie an den Header angehängt haben. Andernfalls müssen Sie auf das Ereignis window.onload warten, das langsamer ist, wenn die Seite Bilder enthält. Hier ist ein Beispielskript, das prüft, ob die JQuery-Datei geladen wurde, da Sie nicht die Möglichkeit haben, $ (document) .ready (function ...
http://neighborhood.org/core/sample/jquery/append-to-head.htm
quelle
script.onload = function() { alert('jQuery loaded!'); }
? Funktioniert das?Methode 1:
Methode 2:
Wenn die Datei jquery.js nicht geladen ist, können wir das Laden wie folgt erzwingen:
quelle
Versuche dies :
Dies prüft, ob jQuery verfügbar ist oder nicht. Wenn nicht, wird dynamisch eine aus dem angegebenen Pfad hinzugefügt.
Ref: Simulieren Sie ein "include_once" für jQuery
ODER
include_once-Äquivalent für js. Ref: https://raw.github.com/kvz/phpjs/master/functions/language/include_once.js
quelle
Auch wenn Sie möglicherweise einen Kopf anhängen, funktioniert dies möglicherweise nicht in allen Browsern. Dies war die einzige Methode, mit der ich konsequent arbeiten konnte.
quelle
document.write
HIGHLY verpönt?Sie können auf viele Arten überprüfen, ob jQuery geladen ist oder nicht, z.
Nachdem Sie überprüft haben, ob jQuery nicht geladen ist, können Sie jQuery wie folgt laden:
quelle
Alter Beitrag, aber ich habe eine gute Lösung gefunden, was an mehreren Orten getestet wird.
https://github.com/CreativForm/Load-jQuery-if-it-is-not-already-loaded
CODE:
Bei GitHub gibt es eine bessere Erklärung, aber im Allgemeinen können Sie diese Funktion an einer beliebigen Stelle in Ihrem HTML-Code hinzufügen und jquery initialisieren, wenn sie noch nicht geladen ist.
quelle
quelle
quelle
Ich verwende CDN für mein Projekt und als Teil der Fallback-Behandlung habe ich den folgenden Code verwendet:
Um dies zu überprüfen, habe ich die CDN-Referenz entfernt und den Code ausgeführt. Es ist kaputt und wird nie eingegeben, wenn die Schleife als Typ von jQuery als Funktion kommt anstelle von undefiniert kommt.
Dies liegt an der zwischengespeicherten älteren Version von jquery 1.6.1, die die Funktion zurückgibt und meinen Code beschädigt, weil ich jquery 1.9.1 verwende. Da ich eine genaue Version von jquery benötige, habe ich den Code wie folgt geändert:
quelle