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
Entwicklerwerkzeuge
Höhepunkte:
- Umgehen von Audio-Knoten im Web-Audio-Editor
- "copy"-Kommando in der Web-Konsole
- XmlHttpRequests in der Web-Konsole hervorheben und filtern
- Optimierte Variablen im Debugger anzeigen
- 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 jetzt ein Leerzeichen statt eines Punkts als Suffix, um einer kürzlichen Änderung der Spezifikationen zu entsprechen (Firefox-Bug 1120721). -
CSS-Transitionen auf generierten Inhalten (mit
::before
und::after
) auf sowohl einem Inline-Element als auch 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 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-Transitionen starten, wurde geändert, um eine Kürzlich Änderungen der Spezifikationen zu entsprechen, mit dem Ziel, ein interoperables Verhalten zwischen Browsern zu erreichen (Firefox-Bug 960465).
HTML
- Das
<label>
-Element sendet keine Ereignisse mehr an das Ziel des Labels, wenn interaktive Inhalte zwischen dem Ereignisziel und dem Label gefunden werden (Firefox-Bug 229925). - Das
<picture>
-Element wurde standardmäßig aktiviert (Firefox-Bug 1017875). - Die
<meta name="referrer">
ist 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 Restparameter ist nun einSyntaxError
(Firefox-Bug 1089632). -
Die
name
-Eigenschaft von Funktionen ist nun konfigurierbar (Firefox-Bug 1084019). -
Mehrere
Array
-Methoden wurden auch 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 Parametername ist nicht mehr zulässig, wenn Rest-Parameter vorhanden ist (Firefox-Bug 1096376).
-
Doppelte Parametername ist in Pfeilfunktionen nicht mehr zulässig (Firefox-Bug 1096377).
-
Doppelte Parametername ist in knappen Methodendefinitionen nicht mehr zulässig (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 bei einem nicht objektbasiertenkey
-Parameter keine Ausnahme mehr (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 nun "(?:)" statt einem leeren String für leere reguläre Ausdrücke zurück (Firefox-Bug 1130798). -
RegExp.prototype.source
undRegExp.prototype.toString()
maskieren nun reguläre Ausdrucksmuster ordnungsgemäß (z. B. Zeilenabschlüsse, "\n") (Firefox-Bug 1130860). -
Die Eigenschaften
Regexp
global
,ignoreCase
,multiline
, undsticky
sind nun Prototyp-Accessor-Eigenschaften, anstatt eigene Dateneigenschaften vonRegExp
-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.source
-Eigenschaft ist nun eine Prototyp-Accessor-Eigenschaft anstatt einer eigenen Dateneigenschaft vonRegExp
-Instanzen (Firefox-Bug 1120169). Verfügbar nur in Nicht-Release-Version, aufgrund von Firefox-Bug 1150297. -
{jsxref("Function.prototype.toString()")}} wirft nun eine Ausnahme für
Proxy
-Objekte (Firefox-Bug 1100936).
Schnittstellen/API/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 jetzt in Web-Workern verfügbar.
CanvasRenderingContext2D.clearHitRegions()
wurde implementiert (Firefox-Bug 1119527).- Konstanten von
KeyboardEvent.location
,DOM_KEY_LOCATION_MOBILE
undDOM_KEY_LOCATION_JOYSTICK
, wurden entfernt, da sie aus der 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-Keyboards unter Linux, Android und Firefox OS (Firefox-Bug 1020139).- Der Konstruktor
TextEncoder()
wurde geändert, um der Spezifikation zu entsprechen: Bei Übergabe eines ungültigen Parameters wird nun derRangeError
-DOMException
geworfen, anstatt 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 mit Präfix versehene Version von
Window.indexedDB
,mozIndexedDB
, wurde entfernt (Firefox-Bug 975699). - Das
DOMContentLoaded
-Ereignis ist nicht mehr abfangbar (Firefox-Bug 1134559). - WebSockets können nun in Workern verwendet werden (Firefox-Bug 504553).
- Die Eigenschaften
XMLHttpRequest.responseType
undXMLHttpRequest.withCredentials
können jetzt 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 Attribut
autocomplete=false
bei Login-Formularen nun ignoriert (Firefox-Bug 1025703). Dies soll die Verwendung von sichereren Passwörtern fördern, indem Passwortmanagement-Tools zuverlässiger arbeiten können. - RC4 ist bei der Verwendung von TLS jetzt deaktiviert, außer für einige spezifisch erlaubte Websites. Diese Whitelist ist eine Übergangsmaßnahme, bis diese Seiten aktualisiert sind (Firefox-Bug 1124039). Dieser Fallback wird durch die
security.tls.unrestricted_rc4_fallback
-Einstellung gesteuert, die momentan auftrue
gesetzt ist (Firefox-Bug 1138882). - Websites, die auf eine unsichere TLS-Version zurückfallen müssen, um zu funktionieren, sind jetzt in einer fest kodierten Whitelist, 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 ein Opt-in-Modul-Kompatibilitätsprüfung, die für alle jpm-Add-ons aktiviert ist (Firefox-Bug 1037235).
Electrolysis (E10s) Updates
- E10s-Updates für
sdk/page-worker
(Firefox-Bug 1116004). - E10s-Updates für
sdk/content/worker
(Firefox-Bug 1116544). - E10s-Updates für
sdk/tabs
(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 jetzt eine Ausnahme, wennPR_APPEND
ohnePR_TRUNCATE
übergeben wird (Firefox-Bug 1117580).nsICompositionStringSynthesizer
undnsIDOMWindowUtils.sendCompositionEvent()
wurden entfernt. Stattdessen verwenden SiensITextInputProcessor
(Firefox-Bug 917322).nsIDOMWindowUtils.sendKeyEvent()
ist jetzt veraltet. Stattdessen verwenden SiensITextInputProcessor
(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