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 Netzwerkanfragen enthält jetzt die tatsächlich übertragene Datenmenge ("übertragene Größe"), ebenso wie die Leistungsanalyseansicht (Firefox Fehler 1168376).
- Die Ansicht für Netzwerkanfragen-Header verlinkt jetzt zur zugehörigen Dokumentation auf MDN (Firefox Fehler 1320233).
CSS
clip-path
unterstützt jetzt grundlegende Formen (Firefox Fehler 1247229).- Die Implementierungen von CSS Flexbox und CSS-Ausrichtung in Firefox folgen nun der aktualisierten Spezifikationssprache für Interaktionen zwischen den Eigenschaften
align-items
undalign-self
sowie zwischenjustify-items
undjustify-self
(Firefox Fehler 1340309). <input>
-Elemente der Typencheckbox
undradio
mit-moz-appearance
: none;
sind jetzt nicht mehr ersetzte Elemente, um die Kompatibilität mit anderen Browsern zu gewährleisten (Firefox Fehler 605985).- Zuvor hatte ein Element mit
display
:inline-block
und einem Kind-Element vom TypHTMLInputElement
mitdisplay:block
eine falsche Grundlinie (Firefox Fehler 1330962). Dies ist jetzt behoben. - Als Mozilla dedizierte Inhalts-Threads in Firefox einführte (durch das Electrolysis- oder e10s-Projekt), wurde die Unterstützung für die Stilgebung von
<option>
-Elementen vorübergehend entfernt. Ab Firefox 54 können Sie wieder Vorder- und Hintergrundfarben auf<option>
-Elemente anwenden, durch die Verwendung der Attributecolor
undbackground-color
. Weitere Informationen finden Sie im Firefox Fehler 910022. Beachten Sie, dass dies auf Linux aufgrund mangelnden Kontrasts weiterhin deaktiviert ist (siehe Firefox Fehler 1338283 für Fortschritte). - CSS Animationen senden jetzt das
animationcancel
Ereignis wie erwartet, wenn eine Animation vorzeitig abbricht (Firefox Fehler 1302648). - Transparente Farben (d.h. solche mit einem Alphakanal von 0) wurden in bestimmten Situationen auf das
transparent
Farb-Schlüsselwort serialisiert; dies wurde behoben, sodass Firefox der Spezifikation folgt (sowie den Implementierungen anderer Browser). Weitere Informationen finden Sie im (Firefox Fehler 1339394. - Die proprietäre
:-moz-table-border-nonzero
Pseudo-Klasse ist im Webinhalt nicht mehr verfügbar; sie ist jetzt auf das interne UA-Stylesheet von Firefox beschränkt (Firefox Fehler 1341925). - [css-grid] Intrinsischer Inhalt mit overflow:auto überlappt in einem Grid (Firefox Fehler 1348857).
- [css-grid] Übertragener Min-Size-Beitrag eines prozentualen Grid-Items mit einem intrinsischen Seitenverhältnis (Firefox Fehler 1349320).
JavaScript
\b
und\B
inRegExp
mit den Flags"u"
(Unicode) und"i"
(case insensitive) behandeln jetzt U+017F (LATIN SMALL LETTER LONG S) und U+212A (KELVIN SIGN) als Wortzeichen (Firefox Fehler 1338373).- Der
DataView
-Konstruktor wirft jetzt einenRangeError
, wenn derbyteOffset
-Parameter außerhalb vonNumber.MAX_SAFE_INTEGER
(>= 2 ** 53) liegt (Firefox Fehler 1317382). - Die Methode
Date.UTC()
wurde aktualisiert, um der ECMAScript 2017 zu entsprechen, wenn weniger als zwei Argumente bereitgestellt werden (Firefox Fehler 1050755). - Die Methode
Function.prototype.toString()
wurde aktualisiert, um der neuesten vorgeschlagenen Spezifikation zu entsprechen (Firefox Fehler 1317400).
DOM & HTML DOM
- Die Methode
URL.toJSON()
wurde implementiert (Firefox Fehler 1337702). - Der Konstruktor
URLSearchParams()
akzeptiert jetzt ein Record, das Strings als Initialisierungsobjekt enthält (Firefox Fehler 1331580). - Die in
KeyboardEvent.key
für druckbare Tasten zurückgegebenen Werte wurden auf macOS korrigiert (außer wenn die Befehlstaste gedrückt wird) (Firefox Fehler 1342865). - Die
dom.workers.latestJSVersion
-Einstellung, die hauptsächlich implementiert wurde, um Probleme bei der Verwendung vonlet
in Workern zu umgehen (aufgrund von Firefox Fehler 855665, der inzwischen behoben wurde) wurde entfernt (siehe Firefox Fehler 1219523). - Die Eigenschaft
event.timeStamp
gibt nun eine hochauflösende monotone Zeit (DOMHighResTimeStamp
) zurück, anstatt einen Wert, der die Unix-Zeit in Millisekunden darstellt.
Web Workers and Service Workers
-
WorkerGlobalScope.close
ist jetzt nur noch inDedicatedWorkerGlobalScope
undSharedWorkerGlobalScope
verfügbar. Diese Änderung wurde vorgenommen, damitclose()
nicht mehr in Service-Workern verfügbar ist, da es dort nicht verwendet werden soll und beim Aufruf immer eine Ausnahme auslöst (siehe Firefox Fehler 1336043). -
Die Eigenschaft
Window.origin
und die EigenschaftWorkerGlobalScope.origin
wurden implementiert (siehe Firefox Fehler 1306170). -
Die Eigenschaft
Client.type
wurde implementiert (siehe Firefox Fehler 1339844). -
Clients.matchAll()
gibt jetztClient
-Objekte in der zuletzt fokussierten Reihenfolge zurück (siehe Firefox Fehler 1266747). -
Einige Änderungen wurden am beobachteten Verhalten vorgenommen, wenn der
Request()
-Konstruktor eine vorhandeneRequest
-Objektinstanz erhält, um eine neue Instanz zu erstellen. Die folgenden neuen Verhaltensweisen sollen die Sicherheit gewährleisten und gleichzeitig die Wahrscheinlichkeit, dass der Konstruktor Ausnahmen auslöst, verringern:- Wenn dieses Objekt in einem anderen Ursprung als der Konstruktoraufruf existiert, wird der
Request.referrer
entfernt. - Wenn dieses Objekt einen
Request.mode
vonnavigate
hat, wird dermode
-Wert insame-origin
umgewandelt.
- Wenn dieses Objekt in einem anderen Ursprung als der Konstruktoraufruf existiert, wird der
Audio/Video
Allgemein
- Die Wiedergabe von 5.1-Surround-Sound ist nun standardmäßig unter Windows, macOS und Linux aktiviert (Firefox Fehler 1334508, Firefox Fehler 1321502 und Firefox Fehler 1323659).
Media Capture und Streams API
- Die Nutzung eines
MediaStream
-Objekts als Eingabeparameter fürURL.createObjectURL()
wurde als veraltet markiert — die Konsole zeigt nun eine Warnung an (siehe Firefox Fehler 1334564). Es wird empfohlen, stattdessenHTMLMediaElement.srcObject
zu verwenden.
Web Audio API
- Die Methode
AnalyserNode.getFloatFrequencyData()
repräsentiert nun stille Proben im zurückgegebenen Puffer korrekt mit dem Wert-Infinity
(Firefox Fehler 1336098). AudioParam.setValueCurveAtTime()
wirft jetzt eineTypeError
-Ausnahme, wenn einer der angegebenen Werte nicht endlich ist (Firefox Fehler 1308437).
API für verschlüsselte Medienerweiterungen
- Der
MediaKeySession.keySystem
-String wurde aus der Spezifikation entfernt, und daher haben wir ihn auch aus Firefox 54 entfernt (Firefox Fehler 1335555). - Unterstützung für den VP9-Codec in verschlüsselten Streams unter Verwendung von Clear Key und Widevine wurde hinzugefügt (Firefox Fehler 1338064).
- Bisher durfte MSE WebM/VP8-Videos nur verwenden, wenn das System als "schnell genug" angesehen wurde. Jetzt wird die Wiedergabe von VP8-codierten
webm/video
-Medien unabhängig von der Systemleistung immer unterstützt.
WebRTC
- Die Unterstützung für das TCP-ICE-Kandidatensystem, ursprünglich in Firefox 41 hinzugefügt, ist jetzt standardmäßig aktiviert. Dies erlaubt der ICE-Schicht, Kandidaten in Betracht zu ziehen, die TCP statt des bevorzugten UDP für die Übertragung verwenden. Dies kann in Umgebungen nützlich sein, in denen UDP blockiert ist (Firefox Fehler 1176382). Dieser Blogpost erklärt die Funktionalität ausführlicher.
Entfernungen aus der Webplattform
CSS
- Die
-moz
-präfixierten Versionen vonisolate
,isolate-override
undplaintext
Werten für die Eigenschaftunicode-bidi
wurden entfernt (Firefox Fehler 1333675).
HTTP
- Die Unterstützung für HTTP/1-Pipelining wurde in Firefox 54 entfernt. Die Wartung angesichts des Wechsels zu einer neuen Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung lohnt sich nicht im Hinblick auf Kompatibilitäts- und Leistungsprobleme des Pipelining. Die Einstellung
network.http.pipelining
(sowie die anderen Einstellungen, die mit "network.http.pipelining" beginnen) wird jetzt ignoriert. Weitere Informationen finden Sie im Firefox Fehler 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