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
undpoint-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 dasmedia
-Attribut. - Die
<audio>
und<video>
-Elemente unterstützen jetzt dasplayed
-Attribut, welches einTimeRanges
-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 (wiefi
) 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 dieskewX()
undskewY()
Funktionen zu verwenden. - Der Wert
plaintext
der CSSunicode-bidi
-Eigenschaft gilt jetzt auch für Inline-Elemente. (Firefox bug 746987)
DOM
- Die DOM Events Level 3-Methoden
KeyboardEvent.getModifierState()
undMouseEvent.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 TypsDOMHighResTimeStamp
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 jetztArrayBufferView
als Mitglied desblobParts
-Parameters zusätzlich zuArrayBuffer
. (bug 752402) - Das
DeviceLightEvent
, spezifiziert im Ambient Light Events Working Draft, wurde implementiert. - Die
DeviceProximityEvent
undUserProximityEvent
Proximity Events wurden implementiert. - Die
File
lastModifiedDate
-Eigenschaft wurde implementiert. (Firefox bug 673586)
JavaScript
- Unterstützung für die
DataView
-Schnittstelle aus der Typed Arrays Spezifikation wurde hinzugefügt. Dies bietet einen low-level Zugriff auf die in einemArrayBuffer
enthaltenen Daten. - Unterstützung für neue ECMAScript 2015 Built-ins:
Number.isNaN()
,Number.toInteger()
,Number.isInteger()
,Number.isFinite()
wurden hinzugefügt. (bug 749818, bug 761495, bug 761480). - Unterstützung für ECMAScript 2015 Standardparameter wurde hinzugefügt. (bug 757676).
- Unterstützung für ECMAScript 2015 Rest-Parameter wurde hinzugefügt. (bug 574132).
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 demtoggle
-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
- Unterstützung für das
<view>
-Element wurde hinzugefügt (Firefox bug 512525).
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
vonsendMouseEvent()
,sendTouchEvent()
,sendMouseEventToWindow()
,sendMouseScrollEvent()
undsendKeyEvent()
unterstützt nun alle Modifikatortasten, die vonKeyboardEvent.getModifierState()
unterstützt werden. Verwenden Sie dieMODIFIER_*
-Werte. Und jetzt wurde der 5. Parameter vonsendKeyEvent()
vonboolean
aufunsigned long
geändert. Zur Rückwärtskompatibilität, falls der Aufrufertrue
oderfalse
ü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. DieaddPageWithDetails()
-Methode wurde ebenfalls entfernt als Teil der laufenden Arbeit, alle 'Places-APIs' asynchron zu gestalten; verwenden SiemozIAsyncHistory.updatePlaces()
stattdessen. Außerdem wurde dascount
-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önnennsINavHistoryService.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 eineflags
-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