Firefox 50 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 50 wurde am 15. November 2016 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 für Add-on-Entwickler.
Änderungen für Webentwickler
HTML
- Der Standardstil von
<bdo>
setzt nununicode-bidi
auf den Wertisolate-override
(Firefox Fehler 1249497). - Das Setzen des
src
-Attributs des<track>
-Elements funktioniert jetzt korrekt (Firefox Fehler 1281418). - Das
referrerpolicy
-Attribut an den<area>
,<a>
,<img>
,<iframe>
und<link>
Elementen ist jetzt standardmäßig verfügbar (Firefox Fehler 1223838, Firefox Fehler 1264165).
CSS
- Ecken mit border-radius und gestrichelten sowie gepunkteten Stilen werden jetzt mit dem angegebenen Stil anstelle eines festen Stils gerendert (Firefox Fehler 382721).
- Der nicht standardisierte Pseudoklassenselektor
:-moz-full-screen-ancestor
wurde entfernt (Firefox Fehler 1199529). - Die
box-sizing
: padding-box
wurde entfernt, da sie nicht mehr Teil der Spezifikation ist und Firefox der einzige große Browser war, der sie implementiert hatte (Firefox Fehler 1166728). - Die drei Werte
isolate
,isolate-override
undplaintext
derunicode-bidi
-Eigenschaft sind nun unpräfixiert (Firefox Fehler 1141895). - Im Quirks-Modus erbt das Aufzählungszeichen eines Listenelements jetzt die Größe der Liste, wie im Standardmodus (Firefox Fehler 648331).
- Die Pseudoklassen
:in-range
und:out-of-range
wurden geändert, sodass sie nicht mehr auf deaktivierte oder nur-lesbare Eingaben angewendet werden (Firefox Fehler 1264157). - Die Pseudoklasse
:any-link
ist nun unpräfixiert (Firefox Fehler 843579). - Der
space
-Wert fürborder-image-repeat
wurde implementiert (Firefox Fehler 720531).
JavaScript
- Die ES2015-Eigenschaft
Symbol.hasInstance
wurde implementiert (Firefox Fehler 1054906). - Die ES2017-Methode
Object.getOwnPropertyDescriptors()
wurde implementiert (Firefox Fehler 1245024). - Das Verhalten von \W in
RegExp
mit den Unicode- und ignoreCase-Flags wurde geändert, um mit dem neuesten Entwurf der Spezifikation übereinzustimmen. Jetzt stimmt es nicht mehr mit K, S, k, s und dem KELVIN-ZEICHEN (U+212A) sowie dem LATIN KLEINBUCHSTABEN LANGES S (U+017F) überein (Firefox Fehler 1281739).
Entwicklerwerkzeuge
- Die Webkonsole versteht jetzt Quellkarten.
- Der Speicherinspektor ermöglicht jetzt das Löschen einzelner Elemente aus IndexedDB-Objektspeichern.
- Das Speichertool ist standardmäßig aktiviert.
- Das Boxmodellansicht wurde in die Berechneten Ansicht verschoben.
- Die Webkonsole zeigt jetzt Stapelverfolgungen für XHR- oder Fetch()-Netzwerkanfragen an.
Alle Devtools-Fehler, die zwischen Firefox 49 und Firefox 50 behoben wurden.
HTTP
- Der experimentelle (und veraltete) SPDY 3.1 ist jetzt standardmäßig deaktiviert Firefox Fehler 1287132.
- Unterstützung für
X-Content-Type-Options
wurde hinzugefügt (Firefox Fehler 471020). - Die Cookie-Präfixe
__Host-
und__Secure-
wurden implementiert. SieheSet-Cookie
und Firefox Fehler 1283368. - Der
Referrer-Policy
-Header wurde implementiert Firefox Fehler 1264164.
Sicherheit
- Das
ping
Attribut des<a>
Elements beachtet jetzt dieconnect-src
CSP 1.1 Richtliniendirektive (Firefox Fehler 1100181). - Unterstützung für die
sandbox
CSP Direktive wurde hinzugefügt (Firefox Fehler 671389). - Es ist nun möglich, eine Inhalts-Sicherheitsrichtlinie für Worker festzulegen (Firefox Fehler 959388).
- Die Methode
Navigator.sendBeacon()
löst keine Ausnahme mehr aus, wenn die Beacon-Daten aufgrund einer Content Security Policy-Einschränkung nicht gesendet werden konnten; stattdessen wirdfalse
zurückgegeben, wie erwartet (Firefox Fehler 1234813). - Die Unterstützung für RC4-Verschlüsselung wurde in Firefox 36 abgelehnt und in Firefox 44 standardmäßig deaktiviert. Die einjährige Schonfrist ist vorbei, daher entfernt Firefox 50 jegliche Unterstützung für RC4 (Google Chrome entfernte die Unterstützung für RC4 im August 2016). Jedes Mal, wenn Firefox auf RC4-Verschlüsselung trifft, wird ein
SSL_ERROR_NO_CYPHER_OVERLAP
-Fehler gemeldet.
Netzwerke
- Wenn während einer asynchronen
XMLHttpRequest
ein Fehler aufgetreten ist, gibt die MethodeXMLHttpRequest.getAllResponseHeaders()
jetzt einen leeren String zurück (Firefox Fehler 1286744). - Anstelle eines
NetworkError
löst ein asynchronesXMLHttpRequest
, das aufgrund von CORS oder anderen Netzwerkeinschränkungen fehlschlägt, jetzt einenerror
aus, der wie jeder andere Fehler abgefangen werden kann (Firefox Fehler 709991). XMLHttpRequest.getResponseHeader()
undXMLHttpRequest.getAllResponseHeaders()
geben jetzt auch standardmäßig leere Header zurück. Dies kann über die Einstellungnetwork.http.keep_empty_response_headers_as_empty_string
gesteuert werden (Firefox Fehler 918721).- Die
only-if-cached
-Option wurde zuRequest.cache
hinzugefügt (Firefox Fehler 1272436).
DOM
- Die
once
-Option fürEventTarget.addEventListener()
wird jetzt unterstützt (Firefox Fehler 1287706). - Die Schnittstelle
NodeList
ist jetzt iterierbar und die MethodenforEach()
,values()
,NodeList.entries()
undNodeList.keys()
sind jetzt verfügbar (Firefox Fehler 1290636). - Die Schnittstelle
DOMTokenList
ist jetzt iterierbar und die MethodenforEach()
,values()
,DOMTokenList.entries()
undDOMTokenList.keys()
sind jetzt verfügbar (Firefox Fehler 1290636). - Die Methoden
Document.createElement()
undDocument.createElementNS()
haben jetzt einen optionalenoptions
-Parameter zum Erstellen von benutzerdefinierten Elementen (Firefox Fehler 1276579).
SVG
- Das
allowReorder
-Attribut wurde entfernt und das Verhalten, das es festlegte, ist jetzt der Standard für SVG<switch>
-Elemente (Firefox Fehler 1279690). - Das
defer
-Schlüsselwort für daspreserveAspectRatio
-Attribut an SVG<image>
Elementen wurde entfernt, um der neuesten SVG2-Spezifikation zu entsprechen (Firefox Fehler 1280425).
Drag and Drop API
- Die
DataTransfer.items
Eigenschaft wurde implementiert, die den Zugriff auf mehrere Elemente ermöglicht, die mittels der HTML Drag and Drop API gezogen und fallen gelassen werden. Dafür werden auch die SchnittstellenDataTransferItem
undDataTransferItemList
jetzt unterstützt (Firefox Fehler 906420). Dies ist standardmäßig aktiviert. - Die alten, veralteten Firefox-spezifischen Drag-and-Drop-API-Ereignisse
dragdrop
unddraggesture
werden nicht mehr unterstützt. Stellen Sie sicher, dass Sie jeden Code, der diese noch verwendet, auf die Verwendung der HTML Drag and Drop API aktualisieren (Firefox Fehler 1162050).
Pointer Lock API
- Die Pointer Lock API ist jetzt unpräfixiert (Firefox Fehler 991899).
- Vor Firefox 50 fragte
requestPointerLock()
um Erlaubnis mit einem Türhänger, und der Pointer Lock wurde nicht aktiviert, bis der Benutzer die Erlaubnis erteilte. Ab Firefox 50 ist Pointer Lock wie die Fullscreen API: Es wird sofort gewährt, aber eine Benachrichtigung wird angezeigt, die erklärt, wie der Benutzer es verlassen kann (Firefox Fehler 1273351).
IndexedDB
- Ein
close
-Ereignis wird jetzt an dasIDBDatabase
-Objekt gesendet, wenn die entsprechende Datenbank unerwartet geschlossen wird (Firefox Fehler 1151017).
Service Workers
- Die Methode
WindowClient.navigate()
wurde implementiert. Diese Methode ermöglicht es Ihnen, eine angegebene URL in einem Clientfenster zu öffnen, das von dem Service Worker kontrolliert wird (Firefox Fehler 1218148).
WebGL
- Die
EXT_shader_texture_lod
WebGL-Erweiterung wurde implementiert (Firefox Fehler 1111689). - Die texImage-Methoden wurden für WebGL 2 aktualisiert, um PBOs (
PIXEL_UNPACK_BUFFER
) zu implementieren (Firefox Fehler 1280499).
WebRTC
- Das Hinzufügen eines Tracks zu einem
MediaStream
generiert jetzt dasaddtrack
Ereignis, wie in der Spezifikation beschrieben. Das Ereignis ist vom TypMediaStreamTrackEvent
und wird auf dem Stream ausgelöst, zu dem der Track hinzugefügt wurde. Sie können entwederMediaStream.addEventListener('addtrack', ...)
oder dieonaddtrack
-Eigenschaft verwenden, um"addtrack"
-Ereignisse zu bearbeiten. - Die Schnittstelle
MediaStreamTrack
unterstützt jetzt dasended
Ereignis und dessen Ereignisbehandler. - Firefox unterstützt jetzt die
MediaStreamTrack.readyState
-Eigenschaft, die angibt, ob der Track live oder dauerhaft beendet ist. - Die Methoden
MediaStreamTrack.getConstraints()
undMediaStreamTrack.getSettings()
wurden implementiert; diese ermöglichen es Ihnen, die zuletzt angewendete Reihe von benutzerdefinierten Eigenkontraints und die tatsächlichen Werte aller constratbaren Eigenschaften des Tracks zu erhalten. Die begleitenden Datentypen wurden ebenfalls dokumentiert. - Die
RTCDataChannel.stream
Eigenschaft wurde entfernt. Diese wurde in Firefox 24 durchRTCDataChannel.id
ersetzt, aber aus Gründen der Rückwärtskompatibilität unterstützt. Bitte aktualisieren Sie Ihren Code, um dieid
-Eigenschaft zu verwenden, wenn Sie dies noch nicht getan haben.
Web Audio API
- Die Schnittstelle
PannerNode
unterstützt jetzt die 3D-Kartesischen-Raum-Eigenschaften für die Position (PannerNode.positionX
,PannerNode.positionY
undPannerNode.positionZ
) und die Richtung (PannerNode.orientationX
,PannerNode.orientationY
,PannerNode.orientationZ
) einer Audioquelle. - Die Schnittstelle
IIRFilterNode
, die einen allgemeinen Infinite Impulse Response (IIR)-Filter implementiert, wurde implementiert. - Das Drosseln in Hintergrund-Tabs von Timern, die durch
Window.setInterval()
,WorkerGlobalScope.setInterval()
,setTimeout()
undsetTimeout()
erstellt wurden, erfolgt nicht mehr, wenn eine Web Audio APIAudioContext
aktiv Sound abspielt. Dies sollte helfen, Probleme mit zeitlich empfindlicher Audiowiedergabe (wie Musikplayern, die einzelne Noten mit Timern generieren) im Hintergrund zu vermeiden (Firefox Fehler 1181073).
Audio/Video
- Das
AlignSetting
-Enum (repräsentiert mögliche Werte fürVTTCue.align
) enthielt fälschlicherweise zuvor den Wert"middle"
anstelle von"center"
. Dies wurde korrigiert (Firefox Fehler 1276130). - Die nicht standardisierte und experimentelle Methode
HTMLMediaElement.seekToNextFrame()
sucht jetzt asynchron zum nächsten Frame in den Medien und gibt einPromise
zurück, das aufgelöst wird, sobald das Suchen abgeschlossen ist. - Die Implementierung von
HTMLTrackElement
wurde korrigiert, um<track>
-Elementen das Laden von Ressourcen zu ermöglichen, auch wenn sie sich nicht in einem Dokument befinden (Firefox Fehler 871747).
Akku-API
- Die
Navigator.battery
Eigenschaft, die seit Firefox 43 veraltet war, ist jetzt obsolet und wurde entfernt. Verwenden Sie stattdessen dienavigator.getBattery()
-Methode, um ein Akku-Promise
zu erhalten, das erfüllt wird, wenn derBatteryManager
zur Verwendung bereit ist; derBatteryManager
wird dem Erfüllungs-Handler für das Promise übergeben (Firefox Fehler 12593355).
Dateien und Verzeichnisse
-
Ein Teilbereich der File and Directory Entries API wurde implementiert, um die Kompatibilität mit Websites zu verbessern, die zuvor nur mit Google Chrome kompatibel waren (Firefox Fehler 1265767).
-
Die asynchronen API-Schnittstellen wurden implementiert, mit dem Vorbehalt, dass nur das Lesen von Dateien unterstützt wird; zum Beispiel ist die Methode
FileSystemFileEntry.createWriter()
eine No-Op. -
Diese Schnittstellen wurden implementiert:
FileSystem
FileSystemEntry
(nur Eigenschaften; die Methoden wurden nicht implementiert)FileSystemFileEntry
(außercreateWriter()
)FileSystemDirectoryEntry
(außerremoveRecursively()
)FileSystemDirectoryReader
-
HTMLInputElement.webkitdirectory
sowie daswebkitdirectory
-Attribut des<input>
-Elements wurden implementiert; dies ermöglicht es Ihnen, eine Datei-Eingabe so zu konfigurieren, dass Verzeichnisse anstelle von Dateien akzeptiert werden (Firefox Fehler 1258489). -
HTMLInputElement.webkitEntries
wurde implementiert; dies gibt ein Array vonFileSystemEntry
-basierten Objekten zurück, die die ausgewählten Elemente darstellen. -
File.webkitRelativePath
wurde implementiert; dies enthält den Pfad der Datei relativ zur Wurzel des enthaltendenFileSystemDirectoryEntry
, das sich unter den Elementen der Liste befindet, die vonHTMLInputElement.webkitEntries
zurückgegeben wird. -
Diese APIs sind jetzt standardmäßig aktiviert; einige waren zuvor verfügbar, aber nur hinter einer Einstellung (Firefox Fehler 1288683).
-
-
Wir haben
DataTransferItem.webkitGetAsEntry()
als Teil der File and Directory Entries API implementiert; dies ermöglicht es Ihnen, einFileSystemEntry
zu erhalten, das eine abgelegte Datei darstellt (Firefox Fehler 1289255). Dies ist standardmäßig aktiviert. -
Die
HTMLInputElement.directory
-Eigenschaft, die Teil des Directory Upload API-Vorschlags war, wurde inallowdirs
umbenannt (Firefox Fehler 1288681). Diese Eigenschaft ist hinter einer Einstellung verborgen.
Ältere Versionen
- 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
- Firefox 21 für Entwickler
- Firefox 20 für Entwickler
- Firefox 19 für Entwickler