Firefox 54 für Entwickler
Firefox 54 wurde am 13. Juni 2017 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die für Webentwickler nützlich sind.
Änderungen für Webentwickler
Entwickler-Tools
- Die Zusammenfassung von Netzwerk-Anfragen enthält jetzt die tatsächlich übertragene Datenmenge ("übertragene Größe"), ebenso die Performance-Analyseansicht (Firefox-Bug 1168376).
- Die Ansicht der Netzwerkanfrage-Header verlinkt nun zur entsprechenden Dokumentation auf MDN (Firefox-Bug 1320233).
CSS
clip-path
unterstützt jetzt Grundformen (Firefox-Bug 1247229).- Firefox-Implementierungen von CSS Flexbox und CSS-Alignment implementieren nun die aktualisierte Spezifikationssprache für die Interaktion zwischen den Eigenschaften
align-items
undalign-self
sowie zwischenjustify-items
undjustify-self
(Firefox-Bug 1340309). <input>
-Elemente der Typencheckbox
undradio
mit-moz-appearance: none
sind jetzt nicht ersetzte Elemente, für die Kompatibilität mit anderen Browsern (Firefox-Bug 605985).- Zuvor hatte ein Element mit
display
:inline-block
mit einem Kind-Element vom TypHTMLInputElement
, das mitdisplay:block
gestylt war, eine falsche Grundlinie (Firefox-Bug 1330962). Dies wurde nun behoben. - Als Mozilla dedizierte Inhalts-Threads in Firefox einführte (durch das Electrolysis- oder e10s-Projekt), wurde die Unterstützung für das Styling von
<option>
-Elementen vorübergehend entfernt. Ab Firefox 54 können Sie wieder Vordergrund- und Hintergrundfarben auf<option>
-Elemente anwenden, mithilfe der Attributecolor
undbackground-color
. Weitere Informationen finden Sie in Firefox-Bug 910022. Beachten Sie, dass dies unter Linux aufgrund des fehlenden Kontrasts immer noch deaktiviert ist (siehe Firefox-Bug 1338283 für Fortschritte dazu). - CSS-Animationen senden jetzt das
animationcancel
-Ereignis wie erwartet, wenn eine Animation vorzeitig abbricht (Firefox-Bug 1302648). - Transparente Farben (d.h. solche mit einem Alpha-Kanal von 0) wurden in bestimmten Situationen zum
transparent
color keyword serialisiert; dies wurde behoben, sodass Firefox der Spezifikation folgt (sowie den Implementierungen anderer Browser). Weitere Informationen finden Sie in (Firefox-Bug 1339394 für weitere Informationen. - Die proprietäre Pseudo-Klasse
:-moz-table-border-nonzero
steht Web-Inhalten nicht mehr zur Verfügung; sie ist jetzt auf das interne UA-Stylesheet von Firefox beschränkt (Firefox-Bug 1341925). - [css-grid] Intrinsischer Inhalt mit overflow:auto überlappt im Grid (Firefox-Bug 1348857).
- [css-grid] Übertragene Mindestgrößenbeitrag von Prozentgrößen-Rasterelement mit einem intrinsischen Verhältnis (Firefox-Bug 1349320).
JavaScript
\b
und\B
inRegExp
mit den Flags"u"
(Unicode) und"i"
(case insensitive) behandeln jetzt U+017F (LATEINISCHER KLEINER BUCHSTABE LANGES S) und U+212A (KELVIN-ZEICHEN) als Wortzeichen (Firefox-Bug 1338373).- Der
DataView
-Konstruktor löst jetzt einenRangeError
aus, wenn derbyteOffset
-Parameter außerhalb vonNumber.MAX_SAFE_INTEGER
(>= 2 ** 53) liegt (Firefox-Bug 1317382). - Die Methode
Date.UTC()
wurde aktualisiert, um den ECMAScript 2017-Standards zu entsprechen, wenn weniger als zwei Argumente bereitgestellt werden (Firefox-Bug 1050755). - Die Methode
Function.prototype.toString()
wurde aktualisiert, um den neuesten vorgeschlagenen Spezifikationen zu entsprechen (Firefox-Bug 1317400).
DOM & HTML DOM
- Die Methode
URL.toJSON()
wurde implementiert (Firefox-Bug 1337702). - Der Konstruktor
URLSearchParams()
akzeptiert nun ein Record mit Strings als Initialisierungsobjekt (Firefox-Bug 1331580). - Zurückgegebene Werte in
KeyboardEvent.key
für druckbare Tasten, wenn die Steuerungstaste ebenfalls gedrückt wird, wurden auf macOS korrigiert (außer wenn die Befehlstaste gedrückt wird) (Firefox-Bug 1342865). - Die
dom.workers.latestJSVersion
-Einstellung, die hauptsächlich implementiert wurde, um Probleme bei der Verwendung vonlet
in Workern zu umgehen (aufgrund von Firefox-Bug 855665, der inzwischen behoben wurde), wurde entfernt (siehe Firefox-Bug 1219523). - Die Eigenschaft
event.timeStamp
gibt jetzt eine hochauflösende monotone Zeit (DOMHighResTimeStamp
) anstelle eines Werts zurück, der die Unix-Zeit in Millisekunden repräsentiert.
Web Workers und Service Workers
-
WorkerGlobalScope.close
ist jetzt stattdessen aufDedicatedWorkerGlobalScope
undSharedWorkerGlobalScope
verfügbar. Diese Änderung wurde vorgenommen, um zu verhindern, dassclose()
bei Service-Workern verfügbar ist, da es dort nicht verwendet werden soll und immer eine Ausnahme auslöst, wenn es aufgerufen wird (siehe Firefox-Bug 1336043). -
Die Eigenschaft
Window.origin
und derWorkerGlobalScope.origin
wurde implementiert (siehe Firefox-Bug 1306170). -
Die Eigenschaft
Client.type
wurde implementiert (siehe Firefox-Bug 1339844). -
Clients.matchAll()
gibt jetztClient
-Objekte in der Reihenfolge des zuletzt fokussierten zurück (siehe Firefox-Bug 1266747). -
Einige Änderungen wurden am beobachteten Verhalten vorgenommen, wenn der
Request()
-Konstruktor ein bestehendesRequest
-Objektinstanz übergeben bekommt, um eine neue Instanz zu erstellen. Die folgenden neuen Verhaltensweisen sind darauf ausgelegt, die Sicherheit zu wahren, während der Konstruktor weniger wahrscheinlich Ausnahmen auslöst:- Wenn dieses Objekt in einem anderen Ursprung zum Konstruktoraufruf existiert, wird der
Request.referrer
entfernt. - Wenn dieses Objekt einen
Request.mode
vonnavigate
hat, wird der Wertmode
insame-origin
umgewandelt.
- Wenn dieses Objekt in einem anderen Ursprung zum Konstruktoraufruf existiert, wird der
Audio/Video
Allgemein
- 5.1-Surround-Sound-Wiedergabe ist jetzt standardmäßig auf Windows, macOS und Linux aktiviert (Firefox-Bug 1334508, Firefox-Bug 1321502 und Firefox-Bug 1323659).
Media Capture and Streams API
- Die Verwendung eines
MediaStream
-Objekts als Eingabeparameter fürURL.createObjectURL()
wurde als veraltet gekennzeichnet — die Konsole zeigt jetzt eine Warnung an (siehe Firefox-Bug 1334564). Sie sollten stattdessenHTMLMediaElement.srcObject
verwenden.
Web Audio API
- Die Methode
AnalyserNode.getFloatFrequencyData()
stellt jetzt korrekt stille Samples im zurückgegebenen Puffer mit dem Wert-Infinity
dar (Firefox-Bug 1336098). AudioParam.setValueCurveAtTime()
löst jetzt eineTypeError
-Ausnahme aus, wenn einer der angegebenen Werte nicht endlich ist (Firefox-Bug 1308437).
Encrypted MediaExtensions API
- Der String
MediaKeySession.keySystem
wurde aus der Spezifikation entfernt und wir haben ihn aus Firefox 54 entfernt (Firefox-Bug 1335555). - Unterstützung wurde für den VP9-Codec in verschlüsselten Streams mit Clear Key und Widevine hinzugefügt (Firefox-Bug 1338064).
- Zuvor durfte MSE nur WebM/VP8-Video verwenden, wenn das System als "schnell genug" angesehen wurde. Jetzt wird die Wiedergabe von VP8-codiertem
webm/video
-Material immer unterstützt, unabhängig von der Systemleistung.
WebRTC
- TCP-ICE-Kandidatenunterstützung, ursprünglich in Firefox 41 eingeführt, ist jetzt standardmäßig aktiviert. Dadurch kann die ICE-Schicht Kandidaten in Betracht ziehen, die TCP anstelle des bevorzugten UDP für die Übertragung verwenden. Dies kann in Umgebungen nützlich sein, in denen UDP blockiert ist (Firefox-Bug 1176382). Dieser Blogbeitrag erklärt das Feature ausführlicher.
Entfernungen aus der Web-Plattform
CSS
- Die
-moz
-präfixierten Versionen der Werteisolate
,isolate-override
undplaintext
für dieunicode-bidi
-Eigenschaft wurden entfernt (Firefox-Bug 1333675).
HTTP
- Die Unterstützung für HTTP/1-Pipelining wurde in Firefox 54 entfernt. Die Aufrechterhaltung dieser Funktionalität ist im Zuge des Übergangs in eine neue Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung nicht sinnvoll, angesichts der Kompatibilitäts- und Leistungsprobleme des Pipelining. Die
network.http.pipelining
-Einstellung (sowie die anderen Einstellungen, die mit "network.http.pipelining" beginnen) wird nun ignoriert. Weitere Informationen finden Sie in Firefox-Bug 1340655.
Ältere Versionen
- Firefox 53 für Entwickler
- Firefox 52 für Entwickler
- Firefox 51 für Entwickler
- Firefox 50 für Entwickler
- Firefox 49 für Entwickler
- Firefox 48 für Entwickler
- Firefox 47 für Entwickler
- Firefox 46 für Entwickler
- Firefox 45 für Entwickler
- Firefox 44 für Entwickler
- Firefox 43 für Entwickler
- Firefox 42 für Entwickler
- Firefox 41 für Entwickler
- Firefox 40 für Entwickler
- Firefox 39 für Entwickler
- Firefox 38 für Entwickler
- 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