Firefox 53 für Entwickler
Firefox 53 wurde am 19. April 2017 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
- Vermeidung von Scroll-Latenzierungen bei Hervorhebern durch APZ (Firefox Bug 1312103).
- Hinzufügen einer Option, um den vollständigen CSS-Pfad eines Elements zu kopieren (Firefox Bug 1323700).
- Unterstützung von css-color-4 in den DevTools (Firefox Bug 1310681).
- Markup-Ansicht: Hinzufügen eines visuellen Hinweises zwischen öffnenden und schließenden Tags eines eingeklappten Knotens (Firefox Bug 1323193).
CSS
Neue Funktionen
- Die Langform-Eigenschaften
mask-*
(siehe CSS Masks) werden alle unterstützt und sind standardmäßig verfügbar (siehe Firefox Bug 1251161). - Die Eigenschaft
caret-color
wurde hinzugefügt (Firefox Bug 1063162). - Die Kurzformen
place-items
/place-self
/place-content
wurden implementiert (Firefox Bug 1319958). - Der Wert
flow-root
wurde zur Eigenschaftdisplay
hinzugefügt (Firefox Bug 1322191). -moz-tab-size
akzeptiert jetzt<length>
Werte (Firefox Bug 943918) und ist jetzt animierbar (Firefox Bug 1308110).mask-mode
:luminance funktioniert nicht bei Farbverlaufsmasken (Firefox Bug 1346265).- [css-grid] FR-Einheit in
grid-template-rows
füllt den Viewport nicht aus (Firefox Bug 1346699). - Flex-Elemente werden nicht nach "order" sortiert, wenn sie durch ein abso-pos-Geschwisterelement getrennt sind (Firefox Bug 1345873).
Weitere Änderungen
- Aktivieren der Langform-Eigenschaften für Masken auf SVG-Elementen (Firefox Bug 1319667).
- [css-grid] Fix:
align-self
/justify-self:stretch
/normal
funktioniert nicht bei<table>
-Raster-Elementen (Firefox Bug 1316051). - Fix:
clip-path: circle()
mit großem Referenzrahmen und Prozentsatzradius rendert nicht korrekt (Firefox Bug 1324713. - Wenn ein
text-transform
Wert vonuppercase
auf griechischen Text angewendet wird, wird der Akzent auf dem disjunkten Eta (ή) nicht mehr entfernt (siehe Firefox Bug 1322989). - Die Verfügbarkeit des Wertes
contents
der Eigenschaftdisplay
wurde über die Voreinstellunglayout.css.display-contents.enabled
gesteuert. In Firefox 53 wurde diese Voreinstellung vollständig entfernt, sodass der Wert immer verfügbar ist und nicht mehr deaktiviert werden kann (Firefox Bug 1295788).
JavaScript
- ECMAScript 2015-Semantiken für die Eigenschaften
Function.name
wurden implementiert. Dies schließt inferierte Namen für anonyme Funktionen ein (var foo = function() {}
) (Firefox Bug 883377). - ECMAScript 2015-Semantiken zum Schließen von Iteratoren wurden implementiert. Dies betrifft die
for...of
-Schleife zum Beispiel (Firefox Bug 1147371). - Der Vorschlag zur Überarbeitung von Template Literals, der Einschränkungen bei Escape-Sequenzen in getaggten Template-Literals aufhebt, wurde implementiert (Firefox Bug 1317375).
- Die statische
length
-Eigenschaft vonTypedArray
Objekten wurde gemäß ES2016 von 3 auf 0 geändert (Firefox Bug 1317306). SharedArrayBuffer
kann jetzt inDataView
Objekten verwendet werden (Firefox Bug 1246597).- In früheren Versionen der Spezifikation mussten
SharedArrayBuffer
Objekte explizit während der strukturierten Klonung übertragen werden. In der neuen Spezifikation sind sie keine übertragbaren Objekte mehr und dürfen daher nicht in der Transferliste enthalten sein. Das neue Verhalten verursachte früher nur eine Konsolenwarnung, wird jetzt jedoch eine Fehlermeldung auslösen (Firefox Bug 1302037). - Die Länge von
ArrayBuffer
ist jetzt aufNumber.MAX_SAFE_INTEGER
(>= 2 ** 53) beschränkt (Firefox Bug 1255128). Error
und andere native Fehlertyp-Prototypen wieRangeError
etc. sind jetzt gewöhnliche Objekte anstelle von richtigen Error-Objekten. (Insbesondere istObject.prototype.toString.call(Error.prototype)
jetzt"[object Object]"
anstelle von"[object Error]"
.) (Firefox Bug 1213341).
Ereignisse
- CSS-Übergänge: Die Ereignisse
transitionstart
,transitionrun
undtransitioncancel
wurden implementiert (siehe Firefox Bug 1264125 und Firefox Bug 1287983). - Der
CompositionEvent
-Konstruktor wurde implementiert (siehe Firefox Bug 1002256). - Die Aliase
MouseEvent.x
undMouseEvent.y
vonMouseEvent.clientX
/MouseEvent.clientY
wurden implementiert (siehe Firefox Bug 424390). - Das
auxclick
-Ereignis und der zugehörige Ereignishandler wurden implementiert (siehe Firefox Bug 1304044). - Das
transitioncancel
-Ereignis wird jetzt nach einem Übergang ausgelöst, der abgebrochen wurde.
DOM
- Die Eigenschaften
pathname
undsearch
von Links (wie für<a>
und<link>
-Elemente) Schnittstellen gaben zuvor die falschen Teile der URL zurück. Zum Beispiel, bei einer URL vonhttp://z.com/x?a=true&b=false
, würdepathname
"/x?a=true&b=false"
zurückgeben undsearch
würde""
zurückgeben, anstatt"/x"
und"?a=true&b=false"
jeweils. Dies wurde nun behoben (Firefox Bug 1310483). - Der
URLSearchParams()
-Konstruktor akzeptiert jetzt eine Zeichenfolge oder Sequenz von Zeichenfolgen als Init-Objekt (Firefox Bug 1330678). - Die Methode
Selection.setBaseAndExtent()
der Selection API ist jetzt implementiert (siehe Firefox Bug 1321623). - Die "fakepath" Ergänzung zum
file
-Typ<input>
values
wurde in Gecko implementiert, was es mit anderen Browsern gleichstellt (siehe Firefox Bug 1274596). Node.getRootNode()
wurde implementiert und ersetzt die nicht mehr unterstützteNode.rootNode
-Eigenschaft (Firefox Bug 1269155).- Eigene Eigenschaften von
Plugin
undPluginArray
Objekten sind nicht mehr aufzählbar (Firefox Bug 1270366). - Benannte Eigenschaften von
MimeTypeArray
Objekten sind nicht mehr aufzählbar (Firefox Bug 1270364). - Die Permissions API hat jetzt einen neuen Berechtigungsnamen verfügbar —
persistent-storage
— wie er beim Ausführen einerPermissions.query()
verwendet wird (siehe Firefox Bug 1270038). Dies ermöglicht es einem Ursprung, eine dauerhafte Box (d.h. persistent storage) für seinen Speicher zu verwenden, gemäß der Storage API. - Die Eigenschaft
Performance.timeOrigin
wurde implementiert (Firefox Bug 1313420).
Worker und Service Worker
- Die Network Information API ist jetzt in Workern verfügbar (siehe Firefox Bug 1323172).
- Server-sent events können jetzt in Workern verwendet werden (siehe Firefox Bug 1267903).
ExtendableEvent.waitUntil()
kann jetzt asynchron aufgerufen werden (siehe Firefox Bug 1263304).
WebGL
- Die
WEBGL_compressed_texture_astc
WebGL-Erweiterung wurde implementiert (Firefox Bug 1250077). - Die
WEBGL_debug_renderer_info
WebGL-Erweiterung ist jetzt standardmäßig aktiviert (Firefox Bug 1336645).
Audio, Video und Medien
Allgemein
- Ab Firefox 53 für Android wird die Decodierung von Medienprozessen für eine verbesserte Leistung auf Multikernsystemen außerprozesslich gehandhabt (Firefox Bug 1333323).
Medienelemente
- Die Methode
HTMLMediaElement.play()
, die verwendet wird, um die Wiedergabe von Medien in jedem Medienelement zu starten, gibt jetzt einPromise
zurück, das erfüllt wird, wenn die Wiedergabe beginnt, und abgelehnt wird, wenn ein Fehler auftritt (Firefox Bug 1244768).
Web Audio API
- Die Schnittstelle
AudioScheduledSourceNode
wurde hinzugefügt und die SchnittstellenAudioBufferSourceNode
,ConstantSourceNode
undOscillatorNode
basieren jetzt darauf (Firefox Bug 1324568). - Allen verschiedenen Audioknotentypen wurden Konstruktoren hinzugefügt (Firefox Bug 1322883).
WebRTC
- Die Methoden
createOffer()
undcreateAnswer()
derRTCPeerConnection
geben jetzt einPromise
zurück, das ein Objekt konform zumRTCSessionDescriptionInit
-Wörterbuch zurückgibt, anstatt direkt eineRTCSessionDescription
zurückzugeben. Bestehender Code wird weiterhin funktionieren, es kann jedoch neuer Code einfacher geschrieben werden. - Ebenso akzeptieren die Methoden
setLocalDescription()
undsetRemoteDescription()
derRTCPeerConnection
als Eingabe nun ein Objekt, das demRTCSessionDescriptionInit
-Wörterbuch entspricht. Bestehender Code wird weiterhin funktionieren, kann jedoch vereinfacht werden. RTCPeerConnection.addIceCandidate()
akzeptiert jetzt als Eingabe ein Initialisierungsobjekt. Dies ist mit bestehendem Code kompatibel, ermöglicht jedoch, dass neuer Code etwas einfacher geschrieben wird, wenn er in Kombination mit den oben genannten Änderungen verwendet wird (Firefox Bug 1263312).- DTMF-Unterstützung ist jetzt standardmäßig unter Verwendung von
RTCDTMFSender
aktiviert. Weitere Informationen zur Funktionsweise finden Sie unter DTMF mit WebRTC verwenden.
HTTP/Netzwerk
-
Gecko hat jetzt eine Voreinstellung in
about:config
verfügbar, mit der Benutzer ihre Standard-Referrer-Policy
festlegen können —network.http.referer.userControlPolicy
(Firefox Bug 1304623). Mögliche Werte sind:- 0 —
no-referrer
- 1 —
same-origin
- 2 —
strict-origin-when-cross-origin
- 3 —
no-referrer-when-downgrade
(die Standardeinstellung)
- 0 —
-
Unterstützung für das Next Protocol Negotiation (NPN) wurde zugunsten der Application-Layer Protocol Negotiation (ALPN) entfernt — siehe Firefox Bug 1248198.
-
Der
Large-Allocation
HTTP-Header ist jetzt standardmäßig verfügbar und nicht mehr hinter einer Voreinstellung versteckt (Firefox Bug 1331083).
SVG
- Teilweise implementierte
SVGGeometryElement
-Schnittstelle (Firefox Bug 1239100).
Entfernungen aus der Web Plattform
HTML/XML
- Die
dom.details_element.enabled
-Voreinstellung — die die Aktivierung/Deaktivierung der Unterstützung für die<details>
- und<summary>
-Elemente in Firefox steuerste — wurde jetzt ausabout:config
entfernt. Diese Elemente (die ab Firefox 49 standardmäßig aktiviert wurden) können nicht mehr deaktiviert werden. Siehe Firefox Bug 1271549. - Das
mozapp
Attribut des<iframe>
Elements /HTMLIFrameElement
Schnittstelle wurde entfernt — dies wurde verwendet, um eine Firefox OS App in einem mozilla-präfixierten Browser API<iframe>
einzubetten (Firefox Bug 1310845). - Die Methode
HTMLIFrameElement.setInputMethodActive()
und dieInputMethod
-Schnittstelle (zum Einrichten und Verwalten von IMEs in Firefox OS Anwendungen) wurden entfernt (Firefox Bug 1313169).
CSS
- Entfernt: Die
-moz
-präfixierte Variante der:dir()
Pseudoklasse (Firefox Bug 1270406). - Die
-moz
-präfixierte Version vontext-align-last
wurde entfernt (Firefox Bug 1276808). - Entfernt: Die
-moz
-präfixierte Variante dercalc()
Methode (Firefox Bug 1331296). - Das proprietäre
-moz-samplesize
Medienfragment (hinzugefügt, um die Lieferung von heruntergesampelten Bildern an Geräte mit geringem Speicher unter Firefox OS zu unterstützen; siehe Firefox Bug 854795) wurde entfernt (Firefox Bug 1311246).
JavaScript
- Die nicht standardisierte
ArrayBuffer.slice()
Methode wurde entfernt (aber die standardisierte VersionArrayBuffer.prototype.slice()
bleibt erhalten, siehe Firefox Bug 1313112).
APIs
- Die Wi-Fi-Informations-API, die Speaker-Manager-API, die Tethering-API, und die Settings-API wurden aus der Plattform entfernt (siehe Firefox Bug 1313788, Firefox Bug 1317853, Firefox Bug 1313789, und Firefox Bug 1313155 entsprechend).
Sonstiges
legacycaller
wurde aus den SchnittstellenHTMLEmbedElement
undHTMLObjectElement
entfernt (Firefox Bug 909656).
Änderungen für Add-on- und Mozilla-Entwickler
WebExtensions
Neue APIs:
Erweiterte APIs:
storage.sync
page_action
,browser_action
,password
,tab
Kontexttypen incontextMenus
webRequest.onBeforeRequest
unterstützt jetztrequestBody
tabs.insertCSS
unterstützt jetztcssOrigin
, was es Ihnen ermöglicht, Benutzer-Stilblätter einzufügen.
JavaScript-Code-Module
- Die asynchronen AddonManager APIs unterstützen jetzt
Promises
sowie Rückrufmethoden (Firefox Bug 987512.
Ältere Versionen
- 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
- Firefox 22 für Entwickler