Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Firefox 15 Versionshinweise für Entwickler

Firefox 15 wurde am 28. August 2012 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.

Änderungen für Webentwickler

HTML

  • Das size-Attribut des <font>-Elements wird jetzt gemäß der HTML5-Spezifikation behandelt. Das bedeutet, dass alle ganzzahligen Werte größer als 10 oder kleiner als -10 nun als gleichwertig zu 10 bzw. -10 betrachtet werden.
  • Unterstützung für die font-weight und point-size Attribute im <font>-Element wurde entfernt; diese waren nicht standardisiert und Gecko war die einzige Engine, die sie unterstützte.
  • Der Opus-Codec wird jetzt für Audio in Ogg-Containern für die HTML <audio> und <video>-Elemente unterstützt.
  • Das <source>-Element unterstützt jetzt das media-Attribut.
  • Die <audio> und <video>-Elemente unterstützen jetzt das played-Attribut, welches ein TimeRanges-Objekt bereitstellt, das die Zeitbereiche der Medien auflistet, die bisher abgespielt wurden.

CSS

  • Die font-feature-settings-Eigenschaft wurde auf die neueste Syntax aktualisiert: font-feature-settings: "lnum" 1;.
  • Die CSS text-transform-Eigenschaft wurde erweitert, um Unicode-Ligaturzeichen (wie ) korrekt zu behandeln.
  • Die CSS word-break-Eigenschaft wurde implementiert.
  • Die border-image-Eigenschaft wurde aktualisiert, um der neuesten Spezifikation zu entsprechen, und die Präfixe wurden entfernt. (bug 713643)
  • Die skew() transform-Funktion, die in Firefox 14 entfernt wurde, wurde aufgrund der Kompatibilität mit bestehenden Websites wiederhergestellt. Autoren wird jedoch geraten, stattdessen die skewX() und skewY() Funktionen zu verwenden.
  • Der Wert plaintext der CSS unicode-bidi-Eigenschaft gilt jetzt auch für Inline-Elemente. (Firefox bug 746987)

DOM

  • Die DOM Events Level 3-Methoden KeyboardEvent.getModifierState() und MouseEvent.getModifierState(), die es ermöglichen, den Zustand von Modifikatortasten wie „Ctrl“ oder „Shift“ abzufragen, wurden implementiert (Bugs 630811 und 731878). Das Verhalten entspricht jedoch dem neuesten D3E-Entwurf, sodass einige Modifikatortastennamen anders als in IE sind (Firefox bug 769190).
  • Bei Mausereignissen wurde die Unterstützung für die Abfrage des Zustands der Maustasten über das MouseEvent.buttons-Attribut implementiert.
  • Bei Tastaturereignissen wurde die Unterstützung für die Abfrage des Tastaturstandorts (Standard, links oder rechts der Modifikatortaste, im Numpad) über das KeyboardEvent.location-Attribut implementiert (Firefox bug 166240).
  • Der KeyboardEvent.keycode-Ergebnis wurde nach verbesserten Regeln berechnet, die auf Windows/Linux/Mac fast gleich waren. Sie sind jetzt auf einigen Tastaturlayouts verfügbar, die nicht ASCII-fähig sind, wie Arabisch, Kyrillisch, Thai usw. Siehe das Dokument für virtuelle Tastencodes.
  • Die range.detach()-Methode wurde in eine No-Op umgewandelt und wird möglicherweise in Zukunft entfernt.
  • Die Methode HTMLVideoElement.mozHasAudio() wurde implementiert. Sie gibt an, ob ein Audiotrack mit einem bestimmten Videoelement verknüpft ist. (bug 480376)
  • Die Performance API hat eine neue Methode, now(), welche hochauflösende Timer des Typs DOMHighResTimeStamp unterstützt. (bug 539095)
  • Die WebSMS API wurde aktualisiert und unterstützt jetzt ein read-Attribut, das angibt, ob eine SMS-Textnachricht gelesen oder ungelesen ist.
  • Die FileHandle API wurde implementiert.
  • Der Blob-Konstruktor akzeptiert jetzt ArrayBufferView als Mitglied des blobParts-Parameters zusätzlich zu ArrayBuffer. (bug 752402)
  • Das DeviceLightEvent, spezifiziert im Ambient Light Events Working Draft, wurde implementiert.
  • Die DeviceProximityEvent und UserProximityEvent Proximity Events wurden implementiert.
  • Die File lastModifiedDate-Eigenschaft wurde implementiert. (Firefox bug 673586)

JavaScript

WebGL

  • Unterstützung für die WEBGL_compressed_texture_s3tc-Erweiterung wurde hinzugefügt. Komprimierte Texturen reduzieren den benötigten Speicherplatz, um eine Textur auf der GPU zu speichern, was höhere Auflösungen oder mehr Texturen der gleichen Auflösung ermöglicht.

MathML

  • Mathematische Operatoren können jetzt herunterladbare Schriften verwenden, die mit @font-face angegeben sind. Dies ermöglicht, dass das MathML-fonts-Add-on auch mit dehnbaren Operatoren funktioniert.
  • Das selection-Attribut des <maction> wird jetzt nur mit dem toggle-Aktionstyp berücksichtigt.
  • Veraltete namedspace binding wurde entfernt (Firefox bug 673759).
  • Die unterstützte Syntax für Länge und <mpadded>-Werte wurde näher an die in der MathML3-Spezifikation angegebene Syntax angepasst.
  • Neue MathML-spiegelbare Operatoren für arabische Mathematik wurden dem Operator-Dictionary hinzugefügt (Firefox bug 757125).

SVG

Netzwerk

  • Unterstützung für das SPDY v3-Protokoll wurde hinzugefügt. Es ist standardmäßig deaktiviert und kann aktiviert werden, indem die Präferenz network.http.spdy.enabled.v3 auf true gesetzt wird. (bug 737470)

Änderungen für Add-on- und Mozilla-Entwickler

Schnittstellenänderungen

nsIDOMWindowUtils

aModifiers von sendMouseEvent(), sendTouchEvent(), sendMouseEventToWindow(), sendMouseScrollEvent() und sendKeyEvent() unterstützt nun alle Modifikatortasten, die von KeyboardEvent.getModifierState() unterstützt werden. Verwenden Sie die MODIFIER_*-Werte. Und jetzt wurde der 5. Parameter von sendKeyEvent() von boolean auf unsigned long geändert. Zur Rückwärtskompatibilität, falls der Aufrufer true oder false übergibt, ändert sich das Verhalten nicht. Diese Änderung ermöglicht es den Aufrufern, den Standort der Taste zu spezifizieren.

nsIBrowserHistory

Die Methode hidePage() wurde nie implementiert und in dieser Version vollständig entfernt. Die addPageWithDetails()-Methode wurde ebenfalls entfernt als Teil der laufenden Arbeit, alle 'Places-APIs' asynchron zu gestalten; verwenden Sie mozIAsyncHistory.updatePlaces() stattdessen. Außerdem wurde das count-Attribut entfernt; es hatte seit einiger Zeit keine tatsächliche Anzahl zurückgegeben (es zeigte stattdessen an, ob Einträge existierten oder nicht). Sie können nsINavHistoryService.hasHistoryEntries stattdessen verwenden.

nsIDOMUtils

Die Methode nsIDOMUtils.parseStyleSheet() wurde hinzugefügt und ermöglicht das (Neu-)Parsen von Cascading Style Sheets.

nsIINIParserWriter

Die Methode nsIINIParserWriter.writeFile() akzeptiert jetzt eine flags-Eigenschaft. Derzeit bietet dies nur eine Option: Sie können nun angeben, dass die Datei im UTF-16-Format anstelle von UTF-8 geschrieben wird, um die Kompatibilität mit Windows und bestimmten Installationsprogrammen zu verbessern.

Neue Schnittstellen

nsISpeculativeConnect

Bietet eine Möglichkeit, der Netzwerkschicht anzudeuten, dass Sie in naher Zukunft wahrscheinlich eine Verbindung zu einer bestimmten URI öffnen möchten. Dadurch kann der Netzwerklayer den manchmal hochlatenten Prozess des Öffnens einer neuen Netzwerkverbindung vorab beginnen.

Entfernte Schnittstellen

Die folgenden Schnittstellen wurden entfernt:

  • nsIGlobalHistory