Firefox 26 für Entwickler
Firefox 26 wurde am 10. Dezember 2013 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler, sondern auch für Entwickler von Firefox und Gecko sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>CSS
- Die
text-decoration-line
Eigenschaft, die noch mit einem Präfix versehen ist, betrachtet jetzt'blink'
als einen gültigen Wert, obwohl der Inhalt nicht blinkt (Firefox-Bug 812995). - Die nicht standardisierte
-moz-text-blink
Eigenschaft wurde entfernt (Firefox-Bug 812995). - Unterstützung für die
image-orientation
Eigenschaft, in ihrer Version aus CSS Images & Values Level 4, mit demfrom-image
Schlüsselwort und EXIF-Unterstützung, wurde hinzugefügt (Firefox-Bug 825771). - Experimentelle Unterstützung für
position: sticky
wurde implementiert und kann über das Preflayout.css.sticky.enabled
aktiviert werden (Firefox-Bug 886646). - Die
text-align
Eigenschaft gilt nun für das::-moz-placeholder
Pseudoelement (Firefox-Bug 915551).
HTML
- Die
HTMLSelectElement.selectedOptions
Eigenschaft wurde implementiert (Firefox-Bug 596681). - Im
<input>
Element vom Typemail
werden Werte mit Domain-Labels, die länger als 63 Zeichen sind, nicht mehr als gültig angesehen (Firefox-Bug 884332). - Die
HTMLInputElement.width
undheight
Eigenschaften geben jetzt0
zurück, wenn dertype
nichtimage
ist (Firefox-Bug 905240). - Ein
<fieldset>
Element ist nun ungültig und kann mit der:invalid
Pseudoklasse gestylt werden, wenn eines der enthaltenen Elemente ungültig ist (Firefox-Bug 717181).
JavaScript
Die Implementierung von ECMAScript 2015 geht weiter!
- Die ECMAScript 2015-konforme Syntax für Generatoren (yield) wurde implementiert (Firefox-Bug 666399).
- Generator/Iterator-Ergebnisse werden jetzt wie
{ value: foo, done: bool }
gekapselt (Firefox-Bug 907744). - Neue mathematische Methoden wurden auf
Math
implementiert:Math.fround()
(Firefox-Bug 900125). - Die reservierten Wörter können nicht mehr als Funktionsnamen verwendet werden: eine solche Verwendung löst jetzt einen
SyntaxError
aus (Firefox-Bug 907958). - Die Syntax für Default-Parameter wurde aktualisiert, um Parameter ohne Standardwerte nach Default-Parametern zu ermöglichen, wie
function f(x=1, y)
. Siehe Firefox-Bug 777060. GeneratorFunction
ist implementiert (Firefox-Bug 904701).
Schnittstellen/APIs/DOM
- Der letzte Parameter (doctype) von
DOMImplementation.createDocument
ist nun optional (Firefox-Bug 909859). - Die neue Spezifikation von
element.classList
, die das Hinzufügen/Entfernen mehrerer Klassen mit einem Aufruf ermöglicht, wurde implementiert (Firefox-Bug 814014). - Der
URL()
Konstruktor wurde in derURL
Schnittstelle implementiert (Firefox-Bug 887364). - Die Eigenschaften
URLUtils.origin
,URLUtils.password
undURLUtils.username
sind nun auf allen Schnittstellen verfügbar, die dasURLUtils
Mixin implementieren:URL
,Location
,HTMLAnchorElement
undHTMLAreaElement
(Firefox-Bug 887364). - Die
URL
Schnittstelle ist nun aus Web-Workern zugänglich (Firefox-Bug 887364). - IndexedDB kann jetzt als "optimistischer" Speicherbereich genutzt werden, sodass keine Aufforderungen erforderlich sind und Daten in einem Pool mit LRU-Richtlinie gespeichert werden, kurzum temporärer Speicher (Firefox-Bug 785884).
- Unterstützung für
WaveShaperNode.oversample
wurde hinzugefügt (Firefox-Bug 875277). - Der Pfad des Persistent-Speichers wurde von
<profile>/indexedDB
zu<profile>/storage/persistent
geändert (auf b2g von/data/local/indexedDB
zu/data/local/storage/persistent
). - Die
Screen.orientation
Eigenschaft und dieScreen.lockOrientation()
Methode unterstützen jetzt dendefault
Wert, der je nach Gerät zuportrait-primary
oderlandscape-primary
abgebildet wird (Firefox-Bug 908058). Dies funktioniert nur für Firefox OS und Firefox für Android. Firefox Desktop wird nicht unterstützt. Event
Konstruktoren können in Web-Workern verwendet werden (Firefox-Bug 910910).- Der Versuch, die
Document.domain
Eigenschaft auf einer Seite einzustellen, die in einem<iframe>
mit demsandbox
Attribut eingebettet ist, löst jetzt einen Sicherheitsfehler aus (Firefox-Bug 907892). - Die
MessageEvent
Schnittstelle wurde aktualisiert, um der neuesten Spezifikation zu entsprechen. DieinitMessageEvent
Methode wurde entfernt, während die Schnittstelle jetzt über einen Konstruktor verfügt (Firefox-Bug 848294). - Die HTML5
MessageChannel
API wurde implementiert, hinter derdom.messageChannel.enabled
Präferenz (Firefox-Bug 677638). - Unterstützung für
VTTCue
, hinter dermedia.webvtt.enabled
Präferenz, wie bei allen WebVTT-bezogenen Implementierungen, wurde hinzugefügt (Firefox-Bug 868509). - Die Web Audio API ist jetzt standardmäßig verfügbar (Firefox-Bug 885505).
MathML
- Inkonsistente Darstellungen von
<mmultiscripts>
,<msub>
,<msup>
und<msubsup>
wurden vereinheitlicht und die Fehlerbehandlung dieser Elemente wurde verbessert (Firefox-Bug 827713).
SVG
- Die Einbindung von SVG-Glyphen in OpenType, SVG-in-OpenType, wurde aktualisiert, um der aktuellen Version der Spezifikation zu entsprechen (Firefox-Bug 906521).
- Die Methode
SVGElement.ownerSVGElement()
wirft keinen Fehler mehr (Firefox-Bug 835048).
Entwicklungstools
- Der Inspector ist jetzt remote-fähig (Firefox-Bug 805526).
- Der Text der Webkonsole kann jetzt ausgewählt werden,
::before
und::after
sind jetzt untersuchbar, Debugger und das Responsive Design sind für diese Version geplant. (https://hacks.mozilla.org/2013/09/new-features-in-the-firefox-developer-tools-episode-26/)