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 der Netzwerkabfragen enthält jetzt die tatsächlich übertragene Datenmenge ("übertragene Größe"), ebenso wie die Ansicht der Leistungsanalyse (Firefox Bug 1168376).
- Die Ansicht der Netzwerkabfrage-Header enthält jetzt Links zur zugehörigen Dokumentation auf MDN (Firefox Bug 1320233).
CSS
clip-path
unterstützt jetzt einfache Formen (Firefox Bug 1247229).- Die Implementierungen von Firefox für CSS Flexbox und CSS-Ausrichtung implementieren jetzt die aktualisierte Spezifikationssprache 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
gelten jetzt als nicht ersetzte Elemente, um die Kompatibilität mit anderen Browsern zu gewährleisten (Firefox Bug 605985).- Zuvor hatte ein Element, das mit
display
:inline-block
und einem Kindelement des TypsHTMLInputElement
mitdisplay:block
gestyled war, eine falsche Basislinie (Firefox Bug 1330962). Dies wurde nun behoben. - Als Mozilla dedizierte Content-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 Vorder- und Hintergrundfarben auf<option>
-Elemente anwenden, indem Sie die Attributecolor
undbackground-color
verwenden. Siehe Firefox Bug 910022 für weitere Informationen. Beachten Sie, dass dies unter Linux immer noch deaktiviert ist, da es an Kontrast fehlt (siehe Firefox Bug 1338283 für den Fortschritt in dieser Angelegenheit). - CSS-Animationen senden das
animationcancel
-Ereignis jetzt 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 fälschlicherweise in das
transparent
color keyword 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 Pseudoklasse
:-moz-table-border-nonzero
ist in Webinhalten nicht mehr verfügbar; sie ist nun auf das interne UA-Stylesheet von Firefox beschränkt (Firefox Bug 1341925). - [css-grid] Intrinsische Inhalte mit overflow:auto überlappen im Raster (Firefox Bug 1348857).
- [css-grid] Übertragene Mindestgröße eines prozentualen Größen-Rasteritems mit einem intrinsischen Verhältnis (Firefox Bug 1349320).
JavaScript
\b
und\B
inRegExp
mit den Flags"u"
(Unicode) und"i"
(Groß-/Kleinschreibung ignorieren) behandeln jetzt U+017F (LATEINISCHER KLEINBUCHSTABE LANGES S) und U+212A (KELVINZEICHEN) 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
Date.UTC()
-Methode wurde aktualisiert, um den Vorgaben von ECMAScript 2017 zu entsprechen, wenn weniger als zwei Argumente angegeben werden (Firefox Bug 1050755). - Die
Function.prototype.toString()
-Methode wurde aktualisiert, um die neueste vorgeschlagene Spezifikation zu erfüllen (Firefox Bug 1317400).
DOM & HTML DOM
- Die
URL.toJSON()
-Methode wurde implementiert (Firefox Bug 1337702). - Der
URLSearchParams()
-Konstruktor akzeptiert jetzt ein Aufzeichnungsobjekt, das Strings als Init-Objekt enthält (Firefox Bug 1331580). - Werte, die in
KeyboardEvent.key
für druckbare Tasten zurückgegeben werden, 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 (Firefox Bug 855665, das inzwischen behoben wurde), wurde entfernt (siehe Firefox Bug 1219523). - Die
event.timeStamp
-Eigenschaft gibt jetzt eine hochauflösende monotone Zeit zurück (DOMHighResTimeStamp
) anstelle eines Wertes, der die Unix-Zeit in Millisekunden darstellt.
Web Workers und Service Workers
-
WorkerGlobalScope.close
ist jetzt stattdessen verfügbar aufDedicatedWorkerGlobalScope
undSharedWorkerGlobalScope
. Diese Änderung wurde vorgenommen, um zu verhindern, dassclose()
in Service Workern verfügbar ist, da es dort nicht verwendet werden soll und immer eine Ausnahme wirft, wenn es aufgerufen wird (siehe Firefox Bug 1336043). -
Die
Window.origin
-Eigenschaft und dieWorkerGlobalScope.origin
wurden implementiert (siehe Firefox Bug 1306170). -
Die
Client.type
-Eigenschaft wurde implementiert (siehe Firefox Bug 1339844). -
Clients.matchAll()
gibt jetztClient
-Objekte in der am kürzesten fokussierten Reihenfolge zurück (siehe Firefox Bug 1266747). -
Einige Änderungen wurden am beobachteten Verhalten vorgenommen, wenn der
Request()
-Konstruktor ein vorhandenesRequest
-Objektinstanz übergeben bekommt, um eine neue Instanz zu erstellen. Die folgenden neuen Verhaltensweisen sollen die Sicherheit gewährleisten und gleichzeitig den Konstruktor weniger anfällig für Ausnahmen machen:- Wenn dieses Objekt zu einem anderen Ursprung als dem des Konstruktorrufs gehört, wird der
Request.referrer
entfernt. - Wenn dieses Objekt einen
Request.mode
vonnavigate
hat, wird dermode
-Wert insame-origin
umgewandelt.
- Wenn dieses Objekt zu einem anderen Ursprung als dem des Konstruktorrufs gehört, wird der
Audio/Video
Allgemein
- Die Wiedergabe von 5.1 Surround Sound ist jetzt standardmäßig unter 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 Eingabeparameter fürURL.createObjectURL()
wurde veraltet — jetzt wird in der Konsole eine Warnung angezeigt (siehe Firefox Bug 1334564). Es wird empfohlen, stattdessenHTMLMediaElement.srcObject
zu verwenden.
Web Audio API
- Die Methode
AnalyserNode.getFloatFrequencyData()
repräsentiert jetzt korrekt stille Proben im zurückgegebenen Puffer mit dem Wert-Infinity
(Firefox Bug 1336098). AudioParam.setValueCurveAtTime()
löst jetzt eineTypeError
-Ausnahme aus, wenn einer der angegebenen Werte nicht endlich ist (Firefox Bug 1308437).
API für verschlüsselte Medienerweiterungen
- Der
MediaKeySession.keySystem
-String wurde aus der Spezifikation entfernt, und daher haben wir 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 war MSE nur erlaubt, WebM/VP8-Video zu verwenden, wenn das System als "schnell genug" galt. Jetzt wird die Wiedergabe von VP8-codierten
webm/video
-Medien immer unterstützt, unabhängig von der Systemleistung.
WebRTC
- TCP ICE-Kandidatenunterstützung, die ursprünglich in Firefox 41 hinzugefügt wurde, ist jetzt standardmäßig aktiviert. Dies ermöglicht es der ICE-Schicht, Kandidaten in Betracht zu 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 genauer.
Entfernungen von der Webplattform
CSS
- Die
-moz
-präfixierten Versionen vonisolate
,isolate-override
undplaintext
-Werten für dieunicode-bidi
-Eigenschaft wurden entfernt (Firefox Bug 1333675).
HTTP
- HTTP/1-Pipelining-Unterstützung wurde in Firefox 54 entfernt. Diese aufrechtzuerhalten, während wir den Übergang zu einer neuen Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung vollziehen, ist aufgrund der Kompatibilitäts- und Leistungsprobleme von Pipelining nicht sinnvoll. Die
network.http.pipelining
-Präferenz (sowie die anderen Präferenzen, die mit "network.http.pipelining" beginnen) wird jetzt ignoriert. Siehe Firefox Bug 1340655 für weitere Informationen.
Ä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