Gibt es irgendwelche Ressourcen, die ein jQuery-Skript / eine Erweiterung / ein Plugin / was auch immer für Probleme mit der Versionskompatibilität testen können?
Ich habe gerade ein kleines jQuery-Plugin geschrieben, um Probleme mit der Versionskompatibilität zu lösen ... könntest es verbessern.
%Vor%Kann wie folgt verwendet werden:
%Vor%Unterstützt auch Pre-Releases (Releases werden schwerer gewogen als Pre-Releases, so dass 1.4.0pre & lt; 1.4.0):
%Vor% Der Code hat einige Fehler, insbesondere
Lösung
1. wird durch den beigefügten Code behoben.
2. ist nicht so, wie es ohne eine vollständige Umschreibung schwieriger ist, und ist sowieso ein seltener Fall.
Dafür gibt es keine automatisierten Werkzeuge, zumindest habe ich das nie gesehen. Der Grund dafür ist, dass das Core-Team von jQuery versucht, nicht Breaking-Änderungen einzuführen, es sei denn, es besteht ein echter langfristiger Nutzen. Dies bedeutet, dass, was Sie wollten ist, wenn es sich um brechende Änderungen handelt, was ein automatisiertes System Ihnen nicht immer sagen kann.
Lassen Sie uns jQuery 1.4 als Beispiel verwenden, hier ist eine Liste der Änderungen: Ссылка
jQuery()
ist jetzt eine leere Menge, gut oder schlecht? jQuery.browser.version
ist jetzt Browserversion, gut oder schlecht? JSON
unterliegt nun viel strengerem Parsen, gut oder schlecht? Das sind nur eine Handvoll, aber ob sie brechen oder helfen, hängt oft von Ihrem Code ab. Nun, wenn du .attr(val, func())
hättest, dann wäre das natürlich nur 1.4+, das du erkennen könntest ... also könnte eine Engine, die die Mindestversion von jQuery bestimmen könnte, die dein Code verwenden könnte, möglich sein.
Das Überprüfen von Kompatibilitätsproblemen, die ich in den meisten Fällen für den Bruch von Änderungen halte, wäre sehr viel schwieriger, weil sie (meistens) von Natur aus sehr merkwürdig sind oder Eckpunkte, die kaputt sind ... sonst hätte das Team nicht gebrochen sie:)
Möchten Sie die aktuelle Version von jQuery abrufen und testen, ob es eine bestimmte Version ist?
%Vor%Das wird die Version bekommen.
Metropole
Hier ist meine schnelle und schmutzige Lösung:
%Vor%Beispielverwendung:
%Vor% Es führt eine alphabetische Sortierung für das Array durch. Das einzige Mal, wenn es fehlschlägt, ist, wenn aus irgendeinem Grund die Version "x.y"
vs "x.y.0"
. In diesem Fall wird die .0
Version als größer wahrgenommen. Es unterstützt auch keine "pre"
Versionen.
Hier ist eine kleinere Version:
%Vor% Hier ist eine zuverlässigere Funktion, wenn Sie sich Sorgen machen über "rc1", "pre" oder x.0
versions:
Dies ist wie eine Sortier- oder .compare-Funktion, da es 0
zurückgibt, wenn es gleich ist, 1
, wenn ein & gt; b und -1
, wenn ein & lt; b. Beispiel:
Heilige raucht Leute, das sind die ausführlichsten Lösungen aller Zeiten! Fehle ich etwas? Ich muss sein. Unten ist meine Lösung, was fehlt mir?
Komprimierte Version:
%Vor%Lange Version für Klarheit:
%Vor%Tags und Links jquery backwards-compatibility