3 Stimmen

Welche Browser-Inkompatibilitäten löst jquery?

Ich bin derzeit auf dem Zaun über die Verwendung oder nicht mit Jquery. Ich habe Stunden damit verbracht, die Vor- und Nachteile der Verwendung von Jquery (oder jede Bibliothek für diese Angelegenheit) zu erforschen.

Eines der großen Verkaufsargumente für Jquery ist, dass es den Entwickler von der Sorge um Browser-Inkompatibilitäten befreit. Ich habe versucht, eine Dokumentation darüber zu finden, welche Inkompatibilitäten es genau überwindet. Bis jetzt habe ich keine gefunden. Kann mir jemand in dieser Sache weiterhelfen?

2voto

user113716 Punkte 309387

Sie sollten sehr vertraut werden mit www.quirksmode.org .

Sie ist eine hervorragende Ressource für die Browser-Kompatibilität.

1voto

alex Punkte 457905

Ich glaube nicht, dass Sie eine aktuelle Liste finden werden, aber Sie können sich die Quellcode und lesen Sie die Kommentare zu bestimmten Codes, die bestimmte Browser-Ungereimtheiten lösen.

Beispiele

// check if target is a textnode (safari)
if ( event.target.nodeType === 3 ) {
    event.target = event.target.parentNode;
}

// safari subtracts parent border width here which is 5px
this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);

0voto

wsanville Punkte 36643

Um nur einige zu nennen, implementiert jQuery die Auswahl von DOM-Elementen nach Klassennamen in Browsern, die die Methode nicht unterstützen document.getElementsByClassName (d.h. IE 8 und früher). So können Sie zum Beispiel alle Elemente mit der Klasse myClass mit den folgenden: $('.myClass') .

jQuery hat mehrere nützliche Wrapper um die XMLHttpRequest Objekt, das von verschiedenen Browsern unterschiedlich gut unterstützt wird (siehe aquí ).

Außerdem kümmert sich jQuery um einige Unterschiede, wenn es um DOM-Manipulationen geht, wie das Ändern von Attributen von Elementen oder das Hinzufügen von Klassen zu Elementen, was, wenn ich mich recht erinnere, in Firefox/IE etwas anders ist.

0voto

sushil bharwani Punkte 28837

Ein paar der Dinge, die ich weiß, sind hier aufgeführt:

Der IE hat ein anderes Event Model als Mozilla und einige der Gecko-Browser, die das DOM2 Event Model implementieren. jQuery bietet eine gute Möglichkeit, Browserunabhängigkeit durch die Einführung des jQuery Event Models zu gewährleisten.

Der IE unterstützt css3 nicht, während Mozilla css3 unterstützt. Die jQuery-Selektoren sind unabhängig vom Verhalten der Browser-Selektoren.

Mozilla unterstützt Methoden wie document.getElementsByClassName jedoch ie doesnt. Aber jQuery Klasse Selektor prvents dieses Problem als gut.

IE und Mozilla hat unterschiedliche Eigenschaften für Floats für IE seine styleFloat für Mozilla seine cssFloat jQuery gibt uns Flag für cssFloat eindeutig zu bestimmen.

jQuery hat auch eine andere Flagge jQuery.boxModel, die den Benutzern mitteilt, welches boxModel Ihr Browser unterstützt IE quirks mode oder W3C-kompatibel.

0voto

amosrivera Punkte 25308

Ich arbeite jetzt schon eine Weile mit jQuery und kann sagen, dass die 26kb, die es wiegt, ein wirklich kleiner Preis sind, und wie viele andere Dateien muss es nur einmal heruntergeladen werden (danach wird es aus dem Cache geladen).

1. [Riesige Liste von Plug-ins]

Es gibt viele Plug-ins für verschiedene Lösungen: Galerien, Validierung, Ajax, Dateibearbeitung, usw. Sie können auch Plug-ins zur [Behebung von CSS-Problemen] verwenden.

2. Browser-Kompatibilität

Obwohl ich nicht in der Lage war, eine dokumentierte Liste der Korrekturen zu finden, die jQuery anwendet, können Sie immer über [den Quellcode] gehen, es ist sehr gut dokumentiert und aufgeteilt, so dass Sie sehen können, was wann passiert.

3. Einheitlich

Wenn Sie bei der Arbeit an verschiedenen Projekten immer wieder auf eine Bibliothek zurückgreifen, werden Sie jedes Mal mehr daraus lernen und schneller arbeiten.

4. Gemeinschaft

jQuery wahrscheinlich die größte in Javascript-Bibliotheken, und das kommt mit einer Menge von Vorteilen wie Unterstützung, Tutorials und Plug-Ins.

5. DOM-Manipulation

jQuery sintax macht es sehr einfach, das DOM zu manipulieren, statt document.GetElementsByTagName("tag") können Sie $("tag") verwenden

Unterm Strich

Ich kann sagen, jQuery hat eine Menge Zeit für mich gespeichert, und machte die Dinge einfacher zu behandeln, würde ich auf jeden Fall empfehlen, mit einer Bibliothek.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X