Donnerstag,
22. Mai 2008

Gestern ist also wiedermal eine neue jQuery-Version 1.2.5 online gegangen, die das bisherige Dimensions-Plugin obsolete machen soll. Ich verwende das Plugin schon eine Weile, daher an dieser Stelle ein paar Hinweise für andere Entwickler.

Bereits in der Version 1.2 des Dimensions-Plugins und jQuery 1.2.0 wurden die Methoden height, width, offset and offsetLite aus dem Plugin entfernt und in den jQuery Core übernommen. Allerdings nicht in vollem Umfang, denn die Konfiguationsmöglichkeiten (optionale Einrechung von Margins, Paddings, Border) vor allem für width, heightund offset sind eben nicht in dieser Form im Core zu finden. Leider wird auf diesen Umstand in den Release-Notes nicht ausreichend hingewiesen, so dass es hier zu Verwirrungen kommen kann. Die Core-Funktionen entsprechen nach meinem Kenntnisstand aktuell den Außenkanten der Box (also einschließlich Padding und Border), davon abweichende Werte muss man sich selbst ermitteln.

Wer einen differenzierten Zugriff auf Elementdimensionen (mit/ohne Margins/Border/Padding) benötigt, dem kann ich derzeit noch die Version 1.1.2 des Dimensions-Plugins empfehlen. Diese stellt ein deutlich umfangreicheres Arsenal an Funktionen zur Geometrieabfrage zur Verfügung. Aufpassen muss man hier dennoch, denn die Offset-Berechung einschließlich Margins funktioniert in dieser Version nach meiner Erfahrung aus der Anwendung im YAML-Builder nicht zuverlässig.

So richtig freuen kann ich mich über diese Enwicklung nicht, denn wenn ein so nützliches Plugin in den Core übergeht dann sollte nicht gleichzeitig der Funktionsumfang eingedampft werden. Aber es ist zum Glück auch kein unlösbares Problem. Wer sich die aktuelle Beta4 von jQuery UI herunterläd, findet im Verzeichnis /tests/ die Datei dimensions.html und damit einen Testcase, den Paul Bakaus auf meine Bitte hin schon vor einiger Zeit erstellt hat. Darin wird eine kleine Funktion definiert, die alle Geometriedaten in beliebiger Konfiguration fehlerfrei liefert und auf jQuery 1.2.4+ aufsetzt. Leider ist diese Datei - wie ich gerade gesehen habe - aus dem SVN Trunk schon wieder verschwunden und daher im Moment nur über das Download-Paket erhältlich. Ich hoffe, dass die jQuery-Doku in dieser Hinsicht möglichst bald auf den aktuellen Stand gebracht wird und dann vielleicht auch eine offizielle Dimensions-Demo bereitgestellt wird.

Im Rahmen der Abeit am YAML-Builder werde ich diesen Workaround mit Sicherheit übernehmen und ggf. auch ein allgemein gebräuchliches Plugin daraus bauen. Für den Moment sollten diese Infos aber erstmal allen Interessierten weiterhelfen.


Du kannst die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

Dieser Eintrag kann nicht mehr kommentiert werden.