JQuery-Ausnahmen mit Internet Explorer 11 und ASP .NET

8

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?

    
DiegoS 31.01.2017, 14:56
quelle

3 Antworten

2

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 :

%Vor%

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

    
Igor B 04.02.2017 18:55
quelle
1

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.

    
Trung Duong 09.02.2017 10:16
quelle
0

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:

Das von VS 2013 Browser Link generierte Skript führt dazu, dass die jQuery-Referenz bei Verwendung von RequireJS unterbrochen wird

>

Page verwendet beim Debuggen der ASP.NET MVC-App mit der Visual Studio 2013-Vorschau eine ungültige oder nicht unterstützte Form der Komprimierung

>

Browser Link-Funktion in Visual Studio Preview 2013

    
Mikhail 09.02.2017 19:29
quelle