Wie kommt es, dass dieser Code eine
Nicht gefangener ReferenceError: $ ist nicht definiert
Wann war es vorher in Ordnung?
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
Ergebnisse in Registerkarten werden nicht mehr geschlossen.
Auf jQuery wird im Header verwiesen:
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>
javascript
jquery
referenceerror
Olivers
quelle
quelle
Antworten:
Sie sollten zuerst die Verweise auf die jquery-Skripte setzen.
quelle
HTML
Dateien falsch .Sie rufen die Ready-Funktion auf, bevor das jQuery-JavaScript enthalten ist. Verweisen Sie zuerst auf jQuery.
quelle
Das hat es für mich gelöst. Ursprünglich bin ich zu Google gegangen und habe das vorgeschlagene Snippet für jQuery kopiert und auf der CDN-Seite eingefügt:
Das Snippet enthält das
HTTP:
oder nichtHTTPS:
imsrc
Attribut, aber mein Browser, FireFox, benötigte es, also änderte ich es in: Bearbeiten: Dies funktionierte auch bei Google ChromeDann hat es funktioniert.
quelle
file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
und Sie fragen sich, warum er nicht in der Netzwerkkonsole angezeigt wird .Wenn Ihr benutzerdefiniertes Skript geladen wird, bevor das jQuery-Plugin in den Browser geladen wird, kann diese Art von Problem auftreten. Behalten Sie also immer Ihren eigenen JavaScript- oder jQuery-Code, nachdem Sie das jQuery-Plugin aufgerufen haben. Die Lösung hierfür lautet:
Fügen Sie zunächst den Link zur bei GoogleApis gehosteten jQuery-Datei oder zu einer lokalen jQuery-Datei hinzu, die Sie von http://jquery.com/download/ herunterladen und auf Ihrem Server hosten:
oder ein Plugin für jQuery. Fügen Sie dann Ihren benutzerdefinierten Skriptdateilink oder -code ein:
quelle
If your custom script is loaded before the jQuery plugin is loaded to the browser then this type of problem may occur
Die perfekte Antwort. In meinem Fall war das Skript in der FußzeileIn meinem Fall habe ich meine
.js
Datei vor den Link zum jQuery-Skript gestellt. Durch das Einfügen der.js
Datei nach dem Link zum jQuery-Skript wurde mein Problem behoben.quelle
.js
Datei sollte vor dem Link zum jQuery-Skript abgelegt werden.Okay, mein Problem war anders - es war das Document Security- Modell in Chrome .
Als ich mir die Antworten hier ansah, war es offensichtlich, dass ich meine JQuery-Dateien vor dem Aufrufen der
$(document).ready()
Funktionen usw. nicht geladen habe . Sie befanden sich jedoch alle in der richtigen Position.In meinem Fall lag dies daran, dass ich über eine sichere HTTPS-Verbindung auf den Inhalt zugegriffen habe, während auf der Seite versucht wurde, die von CDN gehosteten Daten von Google usw. herunterzuladen. Die Lösung bestand darin, sie lokal zu speichern und dann direkt und nicht von der Website einzuschließen CDN jedes Mal.
Bearbeiten : Die andere Möglichkeit besteht darin, auf alle von CDN gehosteten Inhalte als https: // anstatt als http: // zu verlinken. Dann beschwert sich das Modell nicht.
quelle
Fügen Sie die Bibliothek , bevor Sie die script.You beginnen irgendwelchen folgenden hinzufügen können CDN es zu starten.
Google:
Microsoft
Jquery
Wenn Sie eine andere Jquery-CDN-Version wünschen, klicken Sie auf diesen Link .
Danach:
Wordpress:
quelle
Wenn es in WordPress ist, muss es möglicherweise geändert werden
zu
oder hinzufügen
Vor
quelle
Ich hatte genau das gleiche Problem und keine dieser oben genannten Lösungen half. Ich habe jedoch nur die
.css
Dateien nach den.js
Dateien verlinkt und das Problem ist auf wundersame Weise verschwunden. Hoffe das hilft.quelle
In meinem Fall hatte ich diesen referenceError, da die Reihenfolge der Skriptaufrufe falsch war. Das wurde durch Ändern der Reihenfolge behoben:
zu
quelle
Ich wollte versuchen, mein Skript asynchron zu machen . Dann habe ich es vergessen und als ich live ging, wurde die [custom] .js-Datei nur 50% der Zeit vor der jQuery.js geladen.
Also habe ich mich verändert
zu
quelle
Ich hatte das gleiche Problem und löste es, indem ich jQuery an die Spitze aller Javascript-Codes setzte, die ich in meinem Code habe.
Etwas wie das:
Hoffnung kann jemandem in Zukunft helfen.
quelle
Sie rufen die
ready()
Funktion auf, bevor das jQuery-JavaScript enthalten ist. Verweisen Sie zuerst auf jQuery.Wenn Sie sich in ASP.NET MVC befinden, können Sie Folgendes festlegen, wann Ihr JS-Code gerendert werden soll:
1, in Ihrer
page.cshtml
Verpackung Ihres<script>
Tag in einen Abschnitt, und ihm einen Namen geben, der gemeinsame Name zu verwenden ist ‚Skripte‘:2, Stellen Sie beim Hinzufügen Ihrer
_Layout.cshtml
Seite@RenderSection("Scripts", required: false)
sicher, dass Sie es einfügen, nachdem Sie auf die Jquery-Quelle verwiesen haben. Dadurch wird Ihr JS-Code später als die Jquery gerendert.quelle
Wenn Sie dies in .Net tun und die Skriptdatei ordnungsgemäß referenziert haben und jQuery gut aussieht, stellen Sie sicher, dass Ihre Benutzer Zugriff auf die Skriptdatei haben. Bei dem Projekt, an dem ich gearbeitet habe (ein Mitarbeiter), wurde mit web.config der Zugriff auf anonyme Benutzer verweigert. Die Seite, an der ich arbeitete, war für anonyme Benutzer zugänglich, daher hatten sie keinen Zugriff auf die Skriptdatei. Folgendes wurde in die web.config eingefügt und alles war in Ordnung in der Welt:
quelle
In meinem Fall war es ein Tippfehler, ich habe einen Backslash vergessen und die Quelle falsch referenziert.
Vor
src="/scripts/jquery.js"
Nach
src="scripts/jquery.js"
quelle
Die Quelldatei
jquery-1.2.6.min.js
heißt nicht. Der Befehl jQuery$()
wird früher als ausgeführt<..src='jquery-1.2.6.min.js'>
.Bitte führen Sie
<.. src="/js/jquery-1.2.6.min.js..">
zuerst aus und stellen Sie sicher, dass der src-Pfad richtig ist. Führen Sie dann den Befehl jquery ausquelle
Das ist mir schon mal passiert.
Der Grund war, dass ich Android mit einer Webansicht mit einem JS verbinde. Und ich habe einen Parameter ohne Anführungszeichen gesendet.
und als ich es geändert habe
es funktionierte.
quelle
Ihre JavaScript-Datei fehlt, daher ist dieser Fehler aufgetreten. Fügen Sie einfach die JavaScript-Datei in das
<head>
Tag ein. Siehe das Beispiel:oder fügen Sie den folgenden Code in das Tag ein:
quelle
Der Fehler tritt auch in den folgenden beiden Szenarien auf.
Es sind also drei Dinge zu beachten: Überprüfen Sie, ob die erforderlichen Skripte hinzugefügt wurden, ob sie in der erforderlichen Reihenfolge hinzugefügt wurden und ob die dritte Syntax in Ihrem Java-Skript fehlerhaft ist.
quelle
Doh! Ich hatte gemischte Anführungszeichen in meinen Tags, die dazu führten, dass die jquery-Referenz unterbrochen wurde. Durch eine Inspektion in Chrome konnte ich feststellen, dass die Datei nicht ordnungsgemäß verknüpft war.
quelle
In meinem Fall habe ich vergessen, Folgendes aufzunehmen:
Früher habe ich nur jquery-mobile aufgenommen, was diesen Fehler verursacht hat.
quelle
Ich habe das Skript-Tag so geändert, dass es auf den richtigen Inhalt verweist, und die Skriptreihenfolge so geändert, dass sie im Editor die richtige ist. Aber total vergessen, die Änderung zu speichern.
quelle
Ich hatte ein ähnliches Problem und es lag daran, dass mir ein> Schließen eines Stylesheet-Links fehlte.
quelle
Ich habe ein ähnliches Problem, und weißt du was ? Es liegt daran, dass das Netzwerk beim Testen in der Webansicht des Android-Geräts nicht verbunden ist und ich es nicht merke. Das lokale js ist kein Problem beim Laden, da es kein Netzwerk benötigt. Es scheint lächerlich, aber es verschwendet meine ~ 1 Stunde, um es herauszufinden.
quelle
Sie haben nicht auf eine jQuery-Bibliothek verwiesen.
Sie müssen eine ähnliche Zeile in Ihr HTML einfügen:
quelle
Ich hatte ein ähnliches Problem. Mein Testserver funktionierte einwandfrei mit "http". Es schlug jedoch in der Produktion fehl, die SSL hatte.
Daher habe ich in der Produktion "HTPPS" anstelle von "HTTP" hinzugefügt und im Test habe ich beibehalten, wie es "HTTP" ist.
Prüfung:
Produktion:
Hoffe, dies wird jemandem helfen, der an WordPress arbeitet.
quelle
Seltsamerweise kam mein Problem von PHP.
Ein REST-API-Aufruf schlug fehl und das Laden der Bibliotheken wurde anschließend unterbrochen. Da der Fehler vom REST-Aufruf herrührte, gab es keinen PHP-Kompilierungsfehler.
Behalten Sie dies auch als Option bei, wenn das Laden von jquery in Ordnung erscheint.
quelle
Ich hatte dieses Problem, als ich über meinen mobilen Hotspot im Internet surfte. Außerdem wurden Bilder komprimiert und das folgende Skript am unteren Rand des Body-Tags hinzugefügt
Wenn ich mich mit der richtigen WLAN-Verbindung verbunden habe, scheint alles für mich zu funktionieren. Hoffe das hilft jemandem.
quelle
Dies kann auch passieren, wenn ein Netzwerkproblem vorliegt. Dies bedeutet, dass, obwohl die "JQuery-Skripte" vorhanden sind und vor der Verwendung enthalten sind, zum Zeitpunkt des Ladens der Seite auf die JQuery-Skripte nicht zugegriffen werden kann, daher die Definitionen für das "$" als behandelt werden "undefinierte Referenzen".
FÜR TEST- / DEBUG-ZWECKE :: Sie können versuchen, im Browser auf die URL "jquery-script" zuzugreifen. Wenn darauf zugegriffen werden kann, sollte Ihre Seite ordnungsgemäß geladen werden. Andernfalls wird der Fehler (oder andere skriptrelevante Fehler) angezeigt. Beispiel - http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js sollte über den Browser (oder die Kontexteinstellungen des Browsers) zugänglich sein.
Ich hatte ein ähnliches Problem, bei dem ich die HTML-Seite (mithilfe von Skripten) in meinen Windows-Host-Browser laden konnte, aber nicht in vm-ubuntu laden konnte. Durch Lösen des Netzwerkproblems wurde das Problem behoben.
quelle
quelle
Wordpress
Sie dies erwähnen sollten.