Firefox 38 für Entwickler
Firefox 38 wurde am 12. Mai 2015 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
Entwickler-Tools
Höhepunkte:
- Audionodes im Web Audio Editor umgehen
- "copy"-Befehl in der Webkonsole
- XmlHttpRequests in der Webkonsole hervorheben und filtern
- Optimierte Variablen im Debugger anzeigen
- Sicherheitswarnungen im Netzwerkmonitor anzeigen
- Übertragene Größen im Netzwerkmonitor anzeigen
- Alle Animationen auf der Seite abspielen/anhalten
Alle Devtools-Bugs, die zwischen Firefox 37 und Firefox 38 behoben wurden.
CSS
-
Unterstützung für
ruby-position
undruby-align
wurde hinzugefügt und ist standardmäßig verfügbar (Firefox bug 1055676 Firefox bug 1123917 und Firefox bug 1039006). -
Die
:unresolved
Pseudo-Klasse wurde für benutzerdefinierte Elemente implementiert (Firefox bug 1111633). -
Der vordefinierte Stil
ethiopic-numeric
verwendet jetzt ein Leerzeichen anstelle eines Punktes als Suffix, um einer kürzlichen Änderung der Spezifikation zu entsprechen (Firefox bug 1120721). -
CSS-Transitionen auf generiertem Inhalt (mit
::before
und::after
) sowohl innerhalb eines Inline-Elements als auch des Blockelements, das sie trennt, starten jetzt wie in der Spezifikation erwartet (Firefox bug 1110277). -
Die Implementierung von CSS Logical Properties hat große Fortschritte gemacht. Die folgenden Eigenschaften sind hinter dem Flag
layout.css.vertical-text.enabled
(false
standardmäßig) verfügbar:- Richtungsunabhängige Äquivalente von
width
undheight
:block-size
undinline-size
(Firefox bug 1117983). - Richtungsunabhängige Äquivalente von
min-width
undmin-height
:min-block-size
undmin-inline-size
(Firefox bug 1117983). - Richtungsunabhängige Äquivalente von
max-width
undmax-height
:max-block-size
undmax-inline-size
(Firefox bug 1117983). - Richtungsunabhängige Äquivalente von
margin-top
,margin-right
,margin-bottom
undmargin-left
:margin-block-start
,margin-block-end
,margin-inline-start
undmargin-inline-end
(Firefox bug 649142). - Richtungsunabhängige Äquivalente von
padding-top
,padding-right
,padding-bottom
undpadding-left
:padding-block-start
,padding-block-end
,padding-inline-start
undpadding-inline-end
(Firefox bug 649142). - Richtungsunabhängige Äquivalente von
border-top
,border-right
,border-bottom
undborder-left
und deren Longhands für Breite, Stil und Farbe:border-block-start
,border-block-start-width
,border-block-start-style
,border-block-start-color
,border-block-end
,border-block-end-width
,border-block-end-style
,border-block-end-color
,border-inline-start
,border-inline-start-width
,border-inline-start-style
,border-inline-start-color
,border-inline-end
,border-inline-end-width
,border-inline-end-style
undborder-inline-end-color
(Firefox bug 649142). - Richtungsunabhängige Äquivalente von
top
,right
,bottom
undleft
:inset-block-start
,offset-block-end
,offset-inline-start
undoffset-inline-end
(Firefox bug 1120283).
- Richtungsunabhängige Äquivalente von
-
Wie CSS-Transitionen starten, wurde geändert, um einer kürzlichen Änderung der Spezifikationen zu entsprechen, die auf interoperables Verhalten zwischen Browsern abzielt (Firefox bug 960465).
HTML
- Das
<label>
-Element leitet keine Ereignisse mehr an das Ziel-Label-Element weiter, wenn interaktive Inhalte zwischen dem Ereignisziel und dem Label gefunden werden (Firefox bug 229925). - Das
<picture>
-Element wurde standardmäßig aktiviert (Firefox bug 1017875). <meta name="referrer">
wird nun für Navigationen aus dem Kontextmenü oder per Mittelklick unterstützt (Firefox bug 1113431).
JavaScript
-
Generator.prototype.return()
ist implementiert (Firefox bug 1115868). -
Setter
mit einem Rest-Parameter ist jetzt einSyntaxError
(Firefox bug 1089632). -
Die
name
-Eigenschaft von Funktionen ist jetzt konfigurierbar (Firefox bug 1084019). -
Mehrere
Array
-Methoden wurden auch für typed arrays implementiert:- Die
of()
undfrom()
Methoden (Firefox bug 896608). - Die
forEach()
Methode (Firefox bug 1107645). - Die
filter()
undmap()
Methoden (Firefox bug 1121936). - Die
slice()
Methode (Firefox bug 1121935).
- Die
-
Doppelte Parameternamen sind nicht mehr erlaubt, wenn ein Rest-Parameter vorhanden ist (Firefox bug 1096376).
-
Doppelte Parameternamen sind in Pfeilfunktionen nicht mehr erlaubt (Firefox bug 1096377).
-
Doppelte Parameternamen sind in prägnanten Methodendefinitionen nicht mehr erlaubt (Firefox bug 1096378).
-
Eine Warnung wird angezeigt, wenn der
Map
/Set
/WeakMap
-Konstruktor ohnenew
aufgerufen wird (Firefox bug 1108930). -
Die
get
,has
, unddelete
Methoden vonWeakMap
Objekten werfen keinen Fehler mehr, wenn derkey
-Parameter kein Objekt ist (Firefox bug 1127827). -
Der optionale und nicht standardisierte zweite
fallback
-Parameter fürWeakMap.prototype.get()
wurde entfernt (Firefox bug 1127827). -
Bei der Definition einer Generator-Methode sind "
set
" und "get
" nicht mehr ungültige Namen (Firefox bug 1073809). -
RegExp.prototype.source
gibt jetzt "(?:)" statt eines leeren String für leere reguläre Ausdrücke zurück (Firefox bug 1130798). -
RegExp.prototype.source
undRegExp.prototype.toString()
escapen nun reguläre Ausdrucksmuster ordnungsgemäß (z.B. Zeilenabschlusszeichen, "\n") (Firefox bug 1130860). -
Die
Regexp
global
,ignoreCase
,multiline
, undsticky
Eigenschaften sind jetzt Prototypeigenschaftszugriffe statt eigene Dateneigenschaften vonRegExp
Instanzen (Firefox bug 1120169). -
Die
RegExp.prototype.source
Eigenschaft ist jetzt eine Prototypeigenschaftszugriff und keine eigene Dateneigenschaft vonRegExp
Instanzen (Firefox bug 1120169). Nur in Nicht-Release-Version verfügbar, aufgrund von Firefox bug 1150297. -
Function.prototype.toString()
wirft jetzt fürProxy
Objekte einen Fehler (Firefox bug 1100936).
Schnittstellen/APIs/DOM
- Die Fetch API Methode
fetch()
wurde implementiert (Firefox bug 1039846). - Die
BroadcastChannel
API wurde implementiert und ist in Web Workers verfügbar (Firefox bug 966439 und Firefox bug 1121420). - Die Console API ist jetzt in Web Workers verfügbar.
CanvasRenderingContext2D.clearHitRegions()
wurde implementiert (Firefox bug 1119527).- Konstanten von
KeyboardEvent.location
,DOM_KEY_LOCATION_MOBILE
und DOM_KEY_LOCATION_JOYSTICK, wurden entfernt, da sie aus der DOM Level 3 Spezifikation entfernt wurden (Firefox bug 936313). KeyboardEvent.code
ist jetzt verfügbar; zuvor war es nur in Vorabversionen verfügbar. (Firefox bug 1126673)KeyboardEvent.code
unterstützt jetzt Sondertasten auf Sun-Tastaturen in Linux, Android und Firefox OS. (Firefox bug 1020139)- Der
TextEncoder()
Konstruktor wurde geändert, um der Spezifikation zu entsprechen: Wenn ein ungültiger Parameter übergeben wird, wird jetzt derRangeError
DOMException
ausgelöst, anstelle des fehlerhaftenTypeError
(Firefox bug 1125766). - Die User Timing API, die
Performance.mark()
,Performance.clearMarks()
,Performance.measure()
, undPerformance.clearMeasures()
hinzufügt, wurde implementiert (Firefox bug 782751). - Die vorangestellte Version von
Window.indexedDB
,mozIndexedDB
, wurde entfernt (Firefox bug 975699). - Das
DOMContentLoaded
Ereignis ist nicht mehr abortierbar (Firefox bug 1134559). - Sie können jetzt WebSockets in Workers verwenden (Firefox bug 504553).
- Die
XMLHttpRequest.responseType
undXMLHttpRequest.withCredentials
Eigenschaften können jetzt festgelegt werden, bevorXMLHttpRequest.open()
aufgerufen wird (Firefox bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete
=false
Attribut bei Anmeldeformularen jetzt ignoriert (Firefox bug 1025703). Dies soll die Verwendung sichererer Passwörter fördern, indem es Passwortverwaltungstools ermöglicht, zuverlässiger zu funktionieren. - RC4 ist jetzt bei der Verwendung von TLS deaktiviert, mit Ausnahme einiger speziell zugelassener Websites. Diese Whitelist ist eine Zwischenlösung, bis diese Seiten behoben sind (Firefox bug 1124039). Dieser Rückfall wird durch die
security.tls.unrestricted_rc4_fallback
Einstellung gesteuert, die momentan standardmäßigtrue
ist (Firefox bug 1138882). - Websites, die einen Rückfall auf eine unsichere Version von TLS benötigen, um zu funktionieren, sind jetzt in einer fest codierten Whitelist, die im Laufe der Zeit schrumpfen wird (Firefox bug 1114816). Die Whitelist kann durch Setzen von
security.tls.insecure_fallback_hosts.use_static_list
auffalse
deaktiviert werden.
Änderungen für Add-on- und Mozilla-Entwickler
Add-on SDK
Höhepunkte
sdk/context-menu@2
wurde implementiert (Firefox bug 1070952).sdk/addon/bootstrap
wurde implementiert (Firefox bug 1075541).sdk/windows/loader
wurde entfernt (Firefox bug 970135).- Fix für die Erkennung der Standardsprache unter Linux (Firefox bug 1114712).
toolkit/loader
hat jetzt ein Opt-in-Modul-Kompatibilitätsprüfung, die für alle jpm Add-ons aktiviert ist (Firefox bug 1037235).
Electrolysis (E10s) Updates
sdk/page-worker
e10s Updates (Firefox bug 1116004).sdk/content/worker
e10s Updates (Firefox bug 1116544).sdk/tabs
e10s Updates (Firefox bug 1033838).
Details
XUL
Keine Änderung.
JavaScript-Code-Module
Downloads.jsm
DownloadTarget
Objekte haben jetzt die Eigenschaftenexists
undsize
, die es Ihnen ermöglichen, die Existenz und die Größe der Zieldatei des Downloads auf der Festplatte zu bestimmen, sowie eine neuerefresh()
Methode, die fordert, dass diese Werte aktualisiert werden.
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"
und"@mozilla.org/network/safe-file-output-stream;1"
werfen jetzt eine Ausnahme, wennPR_APPEND
ohnePR_TRUNCATE
übergeben wird (Firefox bug 1117580).nsICompositionStringSynthesizer
undnsIDOMWindowUtils.sendCompositionEvent()
wurden entfernt. Verwenden Sie stattdessennsITextInputProcessor
. (Firefox bug 917322)nsIDOMWindowUtils.sendKeyEvent()
ist jetzt veraltet. Verwenden Sie stattdessennsITextInputProcessor
(Firefox bug 1119609).
Ältere Versionen
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers