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, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwickler-Tools
Höhepunkte:
- Audio-Knoten im Web Audio Editor umgehen
- "copy"-Befehl in der Webkonsole
- Hervorheben und Filtern von XmlHttpRequests in der Webkonsole
- Optimierte Variablen im Debugger sehen
- Sicherheitswarnungen im Netzwerkmonitor sehen
- Übertragene Größen im Netzwerkmonitor sehen
- Alle Animationen auf der Seite abspielen/pausieren
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 nun ein Leerzeichen anstelle eines Punktes als Suffix, um einer kürzlichen Änderung der Spezifikation zu entsprechen (Firefox-Bug 1120721). -
CSS-Übergänge auf generierten Inhalten (mit
::before
und::after
) sowohl auf einem Inline-Element als auch auf dem Block, der sie trennt, beginnen nun wie in der Spezifikation erwartet (Firefox-Bug 1110277). -
Die Implementierung von CSS-Logik-Eigenschaften machte große Fortschritte. Die folgenden Eigenschaften sind hinter dem
layout.css.vertical-text.enabled
-Flag verfügbar (false
standardmäßig):- 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 Langformen 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-Übergänge starten, wurde geändert, um einer kürzlichen Änderung der Spezifikationen zu entsprechen und ein interoperables Verhalten zwischen Browsern zu ermöglichen (Firefox-Bug 960465).
HTML
- Das
<label>
-Element löst keine Ereignisse mehr für das Label-Zielelement aus, wenn interaktive Inhalte zwischen dem Ereignisziel und dem Label gefunden werden (Firefox-Bug 229925). - Das
<picture>
-Element wurde standardmäßig aktiviert (Firefox-Bug 1017875). - Das
<meta name="referrer">
wird 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 nun 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).
-
Es wird eine Warnung angezeigt, wenn der
Map
/Set
/WeakMap
-Konstruktor ohnenew
aufgerufen wird (Firefox-Bug 1108930). -
Die
get
,has
unddelete
-Methoden vonWeakMap
-Objekten werfen keine Ausnahmen 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). -
Beim Definieren einer Generator-Methode sind
set
undget
keine ungültigen Namen mehr (Firefox-Bug 1073809). -
RegExp.prototype.source
gibt jetzt "(?:)" statt eines leeren Strings für leere reguläre Ausdrücke zurück (Firefox-Bug 1130798). -
RegExp.prototype.source
undRegExp.prototype.toString()
maskieren jetzt Regelmuster richtig, z.B. Zeilenendezeichen, "\n" (Firefox-Bug 1130860). -
Die
Regexp
global
,ignoreCase
,multiline
undsticky
-Eigenschaften sind jetzt Prototypen-Zugriffseigenschaften anstelle von eigenen Dateneigenschaften vonRegExp
-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.source
-Eigenschaft ist jetzt eine Prototypen-Zugriffseigenschaft anstelle einer eigenen Dateneigenschaft vonRegExp
-Instanzen (Firefox-Bug 1120169). Nur in Nicht-Release-Version verfügbar, aufgrund von Firefox-Bug 1150297. -
Function.prototype.toString()
löst nun Ausnahmen fürProxy
-Objekte aus (Firefox-Bug 1100936).
Schnittstellen/APIs/DOM
- Die Fetch-API
fetch()
-Methode 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 Konsolen-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 nun verfügbar; vorher war es nur in Vorabversionen verfügbar (Firefox-Bug 1126673).KeyboardEvent.code
unterstützt nun Sondertasten auf Sun-Tastaturen unter Linux, Android und Firefox OS (Firefox-Bug 1020139).- Der
TextEncoder()
-Konstruktor wurde so geändert, dass er der Spezifikation entspricht: Wenn ein ungültiger Parameter übergeben wird, wird derRangeError
-DOMException
jetzt 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 abbrechbar (Firefox-Bug 1134559). - Sie können jetzt WebSockets in Workers verwenden (Firefox-Bug 504553).
- Die
XMLHttpRequest.responseType
- undXMLHttpRequest.withCredentials
-Eigenschaften können nun gesetzt werden, bevorXMLHttpRequest.open()
aufgerufen wird (Firefox-Bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerke
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete=false
-Attribut nun ignoriert, wenn es sich um ein Anmeldeformular handelt (Firefox-Bug 1025703). Dies soll die Verwendung sichererer Passwörter fördern, indem Passwort-Manager-Tools zuverlässiger arbeiten können. - RC4 ist nun deaktiviert, wenn TLS verwendet wird, mit Ausnahme einiger weniger, speziell erlaubter Websites. Diese Whitelist ist eine Übergangsmaßnahme, bis diese Seiten behoben sind (Firefox-Bug 1124039). Diese Rückfaller kann durch die
security.tls.unrestricted_rc4_fallback
-Einstellung gesteuert werden, die vorerst standardmäßig auftrue
eingestellt ist (Firefox-Bug 1138882). - Websites, die auf eine unsichere Version von TLS zurückgreifen müssen, um zu funktionieren, sind jetzt in einer fest codierten Whitelist erfasst, die mit der Zeit verkleinert wird (Firefox-Bug 1114816). Die Whitelist kann deaktiviert werden, indem
security.tls.insecure_fallback_hosts.use_static_list
auffalse
gesetzt wird.
Ä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 eine Opt-in-Kompatibilitätsprüfung für Module, 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 jetztexists
- undsize
-Eigenschaften, die es Ihnen ermöglichen, das Vorhandensein und die Größe der Zieldatei des Downloads auf der Festplatte zu bestimmen, sowie eine neuerefresh()
-Methode, die verlangt, dass diese Werte aktualisiert werden.
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"
und"@mozilla.org/network/safe-file-output-stream;1"
werfen nun eine Ausnahme, wennPR_APPEND
ohnePR_TRUNCATE
übergeben wird (Firefox-Bug 1117580).nsICompositionStringSynthesizer
undnsIDOMWindowUtils.sendCompositionEvent()
wurden entfernt. Stattdessen verwenden Sie bittensITextInputProcessor
. (Firefox-Bug 917322)nsIDOMWindowUtils.sendKeyEvent()
ist nun veraltet. Stattdessen verwenden Sie bittensITextInputProcessor
(Firefox-Bug 1119609).
Ältere Versionen
- Firefox 37 für Entwickler
- Firefox 36 für Entwickler
- Firefox 35 für Entwickler
- Firefox 34 für Entwickler
- Firefox 33 für Entwickler
- Firefox 32 für Entwickler
- Firefox 31 für Entwickler
- Firefox 30 für Entwickler
- Firefox 29 für Entwickler
- Firefox 28 für Entwickler
- Firefox 27 für Entwickler
- Firefox 26 für Entwickler
- Firefox 25 für Entwickler
- Firefox 24 für Entwickler
- Firefox 23 für Entwickler
- Firefox 22 für Entwickler
- Firefox 21 für Entwickler
- Firefox 20 für Entwickler
- Firefox 19 für Entwickler
- Firefox 18 für Entwickler
- Firefox 17 für Entwickler
- Firefox 16 für Entwickler
- Firefox 15 für Entwickler
- Firefox 14 für Entwickler
- Firefox 13 für Entwickler
- Firefox 12 für Entwickler
- Firefox 11 für Entwickler
- Firefox 10 für Entwickler
- Firefox 9 für Entwickler
- Firefox 8 für Entwickler
- Firefox 7 für Entwickler