Wenn ich durch meine ASP.NET-Site navigiere, erhalte ich die folgenden JQuery-Ausnahmen, während ich Internet Explorer benutze. Außerdem verwende ich Telerik Controls Suite für ASP.NET & amp; Visual Studio 2012.
Wenn ich nach den Zeilennummern in ScriptResource.axd? d = ... (Teleriks Datei) suche:
%Vor%Und in meiner jquery-2.1.0.min.js :
%Vor%In beiden Dateien bekomme ich eine Ausnahme in den gleichen zwei Sätzen. Diese Ausnahmen verursachen kein extrangegenes Verhalten, aber ich mag es nicht, sie in Visual Studio zu sehen, da es ein Signal geben könnte, dass etwas nicht stimmt.
HINWEIS: Wenn ich Teleriks JQuery oder Standard JQuery entferne, ist der Fehler immer noch vorhanden. Auch wenn ich die JQuery von Telerik auf den Standar eins setze ist der Fehler immer noch da. Außerdem KEINE Fehler in der Konsole.
Was ist los?
Kurze Antwort:
Es ist nichts falsch mit jQuery - manchmal macht es sein eigenes "schmutziges" Geschäft, um Ihre Hände sauber zu machen, da es manchmal keine "saubere" Art gibt, zu tun, was getan werden muss
TLDR;
Lange Antwort:
Es sieht so aus, als hätten Sie in beiden Fällen gefangene Fehler von jQuery gesehen, da Telerik-Dokumentation , einige Telerik-Steuerelemente hängen von jQuery ab - so hätten Sie jQuery sofort verfügbar
Über Ausnahmen - nachdem jQuery geladen wurde, wird eine Feature-Erkennung durchgeführt - Wie Sie wissen, variiert das Browserverhalten für jeden Browser / Version und es gibt oft keine Möglichkeit, eine Erkennung durchzuführen, ohne Funktionen und Abfangen zu verwenden Ausnahmen, wenn das Feature nicht unterstützt wird
Zum Beispiel tritt die erste Ausnahme (at a.querySelectorAll("*,:x")
) auf, wenn jquery eine Feature-Erkennung für Selektoren durchführt, die von document.querySelectorAll
unterstützt werden - Sie können sie einfach finden, indem Sie nach github oder in einem nicht-reduzierten jquery-Datei :
Wie Sie sehen können, ist das beabsichtigte Verhalten und es gibt keine Möglichkeit, es zu vermeiden, solange Sie jquery auf Ihrer Seite haben
Das jQuery-Team verwendet in bestimmten Situationen Ausnahmen für den Logikfluss. Sie verwenden die Funktion assert , um die Funktionserkennung für jeden Browser auszuführen. Wenn Sie sich den jQuery-Code ansehen, können Sie die Funktion assert wie folgt finden
%Vor%Zum Desmontieren habe ich eine Beispiel-ASP.net-Webseite erstellt, die jQuery 3.1.1 verwendet. Wenn ich die Webseite lokal ausführe, den Internet Explorer auswähle und ihn innerhalb von Visual Studio starte, werden die Ausnahmen wie folgt ausgelöst:
%Vor%Wenn Sie sich die Zeilen 1361 und 1379 im jQuery 3.1.1-Code ansehen, werden Sie feststellen, dass diese Fehler absichtlich ausgelöst wurden.
Zeile 1360-1361
%Vor%Zeile 1377-1379
%Vor%Da die Ausnahme behandelt wurde, hält das jQuery-Team es nicht für ein Problem. Sie können das ähnliche Problem als der folgende Link verweisen Ссылка
Es ist beabsichtigt, Codes von jQuery, so dass ich denke, Sie könnten es so lassen wie es ist.
Wenn dieses Problem nur beim Debuggen einer Website / Seite in Visual Studio auftritt, versuchen Sie, Visual Studio zu deaktivieren - & gt; Browser Link-Option entweder mit einem entsprechenden Toolbar-Element oder durch Hinzufügen des folgenden Schlüssels zur Web.config:
%Vor%In den folgenden Threads erfahren Sie mehr über verschiedene bekannte Browser-Link-Effekte (ähnlich denen Ihres Browsers) im Zusammenhang mit den oben genannten JavaScript-Fehlern:
> >Tags und Links internet-explorer jquery asp.net telerik