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
Entwicklerwerkzeuge
- Die Zusammenfassung von Netzwerk-Anfragen enthält jetzt die tatsächlich übertragene Datenmenge ("transferred size"), ebenso wie die Leistungsanalyseansicht (Firefox Bug 1168376).
- Die Ansicht von Netzwerk-Anfrage-Headern enthält jetzt Links zur entsprechenden Dokumentation auf MDN (Firefox Bug 1320233).
CSS
clip-path
unterstützt nun einfache Formen (Firefox Bug 1247229).- Firefox's Implementierungen von CSS Flexbox und CSS-Ausrichtung implementieren nun aktualisierte Sprachspezifikationen für Interaktionen zwischen den Eigenschaften
align-items
undalign-self
sowie zwischenjustify-items
undjustify-self
(Firefox Bug 1340309). <input>
Elemente der Typencheckbox
undradio
mit-moz-appearance
: none;
werden jetzt nicht mehr als ersetzte Elemente behandelt, um die Kompatibilität mit anderen Browsern zu gewährleisten (Firefox Bug 605985).- Früher hatte ein mit
display
:inline-block
gestyltes Element mit einem Kind-Element des TypsHTMLInputElement
, das mitdisplay:block
gestylt ist, eine falsche Baseline (Firefox Bug 1330962). Dies wurde nun behoben. - Als Mozilla dedizierte Inhaltsthreads in Firefox einführte (durch das Electrolysis- oder e10s-Projekt), wurde die Unterstützung zur Gestaltung von
<option>
Elementen vorübergehend entfernt. Ab Firefox 54 können Sie Vordergrund- und Hintergrundfarben wieder auf<option>
Elemente anwenden, mithilfe dercolor
undbackground-color
Attribute. Siehe Firefox Bug 910022 für weitere Informationen. Beachten Sie, dass dies immer noch unter Linux deaktiviert ist aufgrund mangelnden Kontrasts (siehe Firefox Bug 1338283 für Fortschritte hierzu). - CSS-Animationen senden jetzt das
animationcancel
Ereignis wie erwartet, wenn eine Animation vorzeitig abgebrochen wird (Firefox Bug 1302648). - Transparente Farben (d.h. solche mit einem Alphakanal von 0) wurden in bestimmten Situationen in das
transparent
Farbstichwort serialisiert; dies wurde behoben, sodass Firefox der Spezifikation folgt (sowie den Implementierungen anderer Browser). Siehe (Firefox Bug 1339394 für weitere Informationen. - Die proprietäre
:-moz-table-border-nonzero
Pseudo-Klasse ist nicht länger für Webinhalte verfügbar; sie ist jetzt auf Firefox's internem UA-Stylesheet beschränkt (Firefox Bug 1341925). - [css-grid] Intrinsischer Inhalt mit overflow:auto überlappt im Grid (Firefox Bug 1348857).
- [css-grid] Übertragener Mindestgrößenbeitrag eines prozentual großen Gitterelements mit einem intrinsischen Verhältnis (Firefox Bug 1349320).
JavaScript
\b
und\B
inRegExp
mit den Flags"u"
(Unicode) und"i"
(nicht unterscheidend hinsichtlich Groß- und Kleinschreibung) behandeln nun U+017F (LATIN SMALL LETTER LONG S) und U+212A (KELVIN SIGN) als Wortzeichen (Firefox Bug 1338373).- Der
DataView
Konstruktor wirft nun einenRangeError
, wenn derbyteOffset
-Parameter außerhalb vonNumber.MAX_SAFE_INTEGER
(>= 2 ** 53) liegt (Firefox Bug 1317382). - Die Methode
Date.UTC()
wurde aktualisiert, um ECMAScript 2017 zu entsprechen, wenn weniger als zwei Argumente übergeben werden (Firefox Bug 1050755). - Die Methode
Function.prototype.toString()
wurde aktualisiert, um der neuesten vorgeschlagenen Spezifikation zu entsprechen (Firefox Bug 1317400).
DOM & HTML DOM
- Die Methode
URL.toJSON()
wurde implementiert (Firefox Bug 1337702). - Der Konstruktor
URLSearchParams()
akzeptiert nun ein Record, das Zeichenfolgen als Init-Objekt enthält (Firefox Bug 1331580). - Werte, die im
KeyboardEvent.key
für druckbare Tasten zurückgegeben werden, wenn die Steuertaste ebenfalls gedrückt wird, wurden auf macOS korrigiert (außer wenn die Befehlstaste gedrückt wird) (Firefox Bug 1342865). - Die
dom.workers.latestJSVersion
Voreinstellung, die hauptsächlich implementiert wurde, um Probleme mit 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 zurück (DOMHighResTimeStamp
) anstelle eines Werts, der die Unix-Zeit in Millisekunden darstellt.
Web-Worker und Service-Worker
-
WorkerGlobalScope.close
ist jetzt stattdessen aufDedicatedWorkerGlobalScope
undSharedWorkerGlobalScope
verfügbar. Diese Änderung wurde vorgenommen, um zu verhindern, dassclose()
auf 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 dieWorkerGlobalScope.origin
wurden 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). -
Es wurden einige Änderungen am beobachteten Verhalten vorgenommen, wenn dem Konstruktor
Request()
ein bestehendesRequest
Objekt-Exemplar übergeben wird, um ein neues Exemplar zu erstellen. Die folgenden neuen Verhaltensweisen sollen die Sicherheit bewahren, während der Konstruktor weniger wahrscheinlich Ausnahmen auslöst:- Wenn dieses Objekt auf einem anderen Ursprung zum Konstruktoraufruf existiert, wird
Request.referrer
entfernt. - Wenn dieses Objekt einen
Request.mode
vonnavigate
hat, wird dermode
Wert insame-origin
umgewandelt.
- Wenn dieses Objekt auf einem anderen Ursprung zum Konstruktoraufruf existiert, wird
Audio/Video
Allgemein
- Die 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 und Streams API
- Die Nutzung eines
MediaStream
Objekts als Eingangsparameter fürURL.createObjectURL()
wurde als veraltet markiert — die Konsole zeigt jetzt eine Warnung an (siehe Firefox Bug 1334564). Es wird empfohlen, stattdessenHTMLMediaElement.srcObject
zu verwenden.
Web Audio API
- Die Methode
AnalyserNode.getFloatFrequencyData()
stellt nun korrekt stille Samples im zurückgegebenen Buffer mit dem Wert-Infinity
dar (Firefox Bug 1336098). AudioParam.setValueCurveAtTime()
wirft jetzt eineTypeError
Ausnahme, wenn einer der angegebenen Werte nicht endlich ist (Firefox Bug 1308437).
Encrypted Media Extensions API
- Der
MediaKeySession.keySystem
String wurde aus der Spezifikation entfernt, und dementsprechend haben wir ihn aus Firefox 54 entfernt (Firefox Bug 1335555). - Unterstützung für den VP9-Codec in verschlüsselten Streams mit Clear Key und Widevine wurde hinzugefügt (Firefox Bug 1338064).
- Zuvor durfte MSE WebM/VP8-Video nur verwenden, wenn das System als "schnell genug" angesehen wurde. Jetzt wird die Wiedergabe von VP8-kodierten
webm/video
Medien unabhängig von der Systemleistung immer unterstützt.
WebRTC
- TCP ICE-Kandidatensupport, ursprünglich in Firefox 41 hinzugefügt, ist jetzt standardmäßig aktiviert. Dies ermöglicht es der ICE-Ebene, Kandidaten zu berücksichtigen, 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 im Detail.
Entfernungen von der Webplattform
CSS
- Die
-moz
präfixierten Versionen derisolate
,isolate-override
undplaintext
Werte für dieunicode-bidi
Eigenschaft wurden entfernt (Firefox Bug 1333675).
HTTP
- Die Unterstützung für HTTP/1-Pipelining wurde in Firefox 54 entfernt. Diese aufrechtzuerhalten, während wir in eine neue Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung übergehen, ist aufgrund der Kompatibilitäts- und Leistungsprobleme von Pipelining nicht lohnenswert. Die
network.http.pipelining
Voreinstellung (sowie die anderen Voreinstellungen, die mit "network.http.pipelining" beginnen) wird nun ignoriert. Siehe Firefox Bug 1340655 für weitere Informationen.
Ältere Versionen
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers