Firefox 38 für Entwickler
Firefox 38 wurde am 12. Mai 2015 veröffentlicht. Dieser Artikel listet wesentliche Ä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
Entwicklerwerkzeuge
Höhepunkte:
- Audio-Knoten im Web-Audio-Editor umgehen
- "copy" Befehl in der Webkonsole
- Hervorheben und Filtern von XmlHttpRequests in der Webkonsole
- Anzeigen von optimierten Variablen im Debugger
- Sicherheitswarnungen im Netzwerkmonitor sehen
- Übertragene Größen im Netzwerkmonitor anzeigen
- 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 jetzt einen Raum anstelle eines Punktes als Suffix, um einer kürzlichen Änderung der Spezifikation zu entsprechen (Firefox Bug 1120721). -
CSS-Übergänge für generierte Inhalte (mit
::before
und::after
) bei beiden, einem Inline-Element und dem Block, der sie trennt, starten jetzt wie von der Spezifikation erwartet (Firefox Bug 1110277). -
Die Implementierung von CSS Logical Properties hat große Fortschritte gemacht. Die folgenden Eigenschaften sind hinter der
layout.css.vertical-text.enabled
Flagge 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-block-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 ihre 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 modifiziert, um einer kürzlichen Änderung der Spezifikationen zu entsprechen, die auf ein interoperables Verhalten zwischen Browsern abzielt (Firefox Bug 960465).
HTML
- Das
<label>
-Element sendet keine Events mehr an das Label-Zielelement, wenn interaktive Inhalte zwischen dem Event-Ziel und dem Label gefunden werden (Firefox Bug 229925). - Das
<picture>
-Element wurde standardmäßig aktiviert (Firefox Bug 1017875). - Das
<meta name="referrer">
wird unterstützt für Navigationen aus dem Kontextmenü oder über einen Mittelklick (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 ebenfalls für typisierte 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 Arrow-Funktionen nicht mehr erlaubt (Firefox Bug 1096377).
-
Doppelte Parameternamen sind in kompakten Methoden-Definitionen nicht mehr erlaubt (Firefox Bug 1096378).
-
Eine Warnung wird angezeigt, wenn der Konstruktor
Map
/Set
/WeakMap
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
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 reguläre Ausdrucksmuster korrekt (z.B. Zeilenbeender, "\n") (Firefox Bug 1130860). -
Die
Regexp
global
,ignoreCase
,multiline
, undsticky
-Eigenschaften sind nun Prototyp-Accessor-Eigenschaften anstelle von eigenen Dateieigenschaften derRegExp
-Instanzen (Firefox Bug 1120169). -
Die
RegExp.prototype.source
-Eigenschaft ist jetzt eine Prototyp-Accessor-Eigenschaft, anstatt eine eigene Daten-Eigenschaft derRegExp
-Instanzen (Firefox Bug 1120169). Nur in Nicht-Release-Version verfügbar, aufgrund Firefox Bug 1150297. -
Function.prototype.toString()
löst jetzt fürProxy
-Objekte einen Fehler 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-Workern verfügbar (Firefox Bug 966439 und Firefox Bug 1121420). - Die Console API ist nun in Web-Workern 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 dem DOM Level 3 Spec 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 spezielle Tasten auf Sun-Tastaturen unter 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
-Event ist nicht mehr abbrechbar (Firefox Bug 1134559). - Sie können jetzt WebSockets in Workern verwenden (Firefox Bug 504553).
- Die Eigenschaften
XMLHttpRequest.responseType
undXMLHttpRequest.withCredentials
können nun vor dem Aufruf vonXMLHttpRequest.open()
gesetzt werden (Firefox Bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerke
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete
=false
-Attribut jetzt ignoriert, wenn es sich um ein Anmeldeformular handelt (Firefox Bug 1025703). Dies soll die Verwendung sicherer Passwörter fördern, indem Passwort-Manager-Tools zuverlässiger arbeiten können. - RC4 ist jetzt bei Verwendung von TLS deaktiviert, außer für einige speziell erlaubte Websites. Diese Whitelist ist eine Zwischenmaßnahme, bis diese Seiten repariert sind (Firefox Bug 1124039). Dieser Fallback wird durch die
security.tls.unrestricted_rc4_fallback
-Voreinstellung gesteuert, die momentan standardmäßig auftrue
gesetzt ist (Firefox Bug 1138882). - Websites, die auf eine unsichere Version von TLS zurückfallen müssen, um zu funktionieren, befinden sich jetzt in einer fest codierten Whitelist, die im Laufe der Zeit schrumpfen 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 Standardspracherkennung auf Linux (Firefox Bug 1114712).
toolkit/loader
hat jetzt eine opt-in-Modulkompatibilitätsprüfung, die für alle jpm-Add-ons aktiviert ist (Firefox Bug 1037235).
Elektrolyse (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
, mit denen Sie das Vorhandensein und die Größe der Zieldatei des Downloads auf der Festplatte bestimmen können, sowie eine neuerefresh()
-Methode, die anfordert, 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 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