Ich erhalte die folgende Fehlermeldung in der Chrome Dev Console:
Uncaught TypeError: Cannot read property 'msie' of undefined
Mein Verständnis ist, dass es daran liegt, dass es .browser
in jQuery jetzt veraltet ist, ich jedoch die neueste Version der jQuery-Tools verwende und es immer noch den Fehler gibt. Ich habe die js
Datei eingecheckt und sie ist da.
Wie kann ich das umgehen, damit der Fehler nicht auftritt?
javascript
jquery
jquery-tools
Colin747
quelle
quelle
.browser
meinen Code überhaupt nicht verwendet . Es scheint es in der jQuery-Tools-Datei zu erkennen.browser
Objekt ist nicht nur in 1.9 veraltet , es ist auch weg . Wenn jQuery Tools es noch verwendet, ist jQuery Tools fehlerhaft.Antworten:
Die
$.browser
Methode wurde ab jQuery 1.9 entfernt.Wie im Upgrade-Handbuch angegeben, können Sie versuchen, das jQuery Migrate-Plugin zu verwenden, um diese Funktionalität wiederherzustellen und jQuery Tools arbeiten zu lassen.
quelle
Sie können diese Lösung von AJ testen. Es ist ziemlich einfach, kopieren Sie einfach die folgenden Codezeilen und fügen Sie sie ein.
Referenz :
$ .browser unter jQuery 1.9.x für die Erkennung älterer IEquelle
userAgent
Zeichenfolge enthält.Verwenden Sie das folgende Skript-Tag in Ihrer jsp / js-Datei:
das wird sicher funktionieren.
quelle
Ich benutze den folgenden Code nach js file include und es funktioniert jetzt.
quelle
Hier ist der jQuery Tools-Fehler auf GitHub . Sie können einen der Patches ausprobieren.
edit - es sieht für mich nicht so aus, als würde jQuery Tools viel Unterstützung bekommen. Ich persönlich würde kein neues Projekt mit einer Abhängigkeit von dieser Bibliothek beginnen, wenn ich nicht bereit wäre, die Unterstützung selbst zu übernehmen.
quelle
Ich habe einfach hinzugefügt
nach jquery script, weil mir der IE nicht mehr wichtig ist.
quelle
Ersetzen Sie Ihre JS durch
Quelle Link
quelle
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
Da ich nicht vorhabe, alte MS IE-Versionen überhaupt zu unterstützen, habe ich einfach alle Verweise auf
browser.msie
durch ersetztfalse
. Keine schöne Lösung, ich weiß, aber es funktioniert für mich.(Tatsächlich erschienen sie als
!browser.msie
, was in den Bedingungen weggelassen werden konnte.)quelle
Verwenden Sie wie Schlag
. . . . Dann können Sie in Ihrer Funktion die msie-Eigenschaft wie verwenden
Viel Glück
quelle
Verwenden Sie wie Schlag
Ich benutze diesen Befehl und löse
quelle
Ich habe diesen Fehler bei der Verwendung von JQuery 1.10 und JQuery UI 1.8 erhalten. Ich konnte diesen Fehler beheben, indem ich auf die neueste JQuery UI 1.11.4 aktualisierte.
Schritte zum Aktualisieren der JQuery-Benutzeroberfläche in Visual Studio:
quelle
Wenn Sie jQuery zweimal definiert haben, kann dieser Fehler auftreten. Wenn Sie beispielsweise mit Primefaces arbeiten (es enthält bereits jQuery) und es an einer anderen Stelle definieren.
quelle