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 jetztunicode-bidi
mit dem Wertisolate-override
(Firefox-Bug 1249497). - Das Festlegen des
src
-Attributs des<track>
-Elements funktioniert nun korrekt (Firefox-Bug 1281418). - Das
referrerpolicy
-Attribut auf den Elementen<area>
,<a>
,<img>
,<iframe>
und<link>
ist nun standardmäßig verfügbar (Firefox-Bug 1223838, Firefox-Bug 1264165).
CSS
- Ecken mit
border-radius
und gestrichelten sowie gepunkteten Stilen werden nun mit dem angegebenen Stil und nicht mit einem soliden Stil gerendert (Firefox-Bug 382721). - Der nicht standardmäßige
:-moz-full-screen-ancestor
Pseudo-Klassen-Selektor wurde entfernt (Firefox-Bug 1199529). - Die
box-sizing
-Eigenschaft: padding-box
wurde entfernt, da sie nicht mehr Teil der Spezifikation ist und Firefox der einzige große Browser war, der sie implementierte (Firefox-Bug 1166728). - Die drei Werte
isolate
,isolate-override
undplaintext
derunicode-bidi
-Eigenschaft wurden unpräfixiert (Firefox-Bug 1141895). - Im Quirks-Modus übernimmt das Aufzählungszeichen eines Listenelements nun die Größe der Liste, wie im Standardmodus (Firefox-Bug 648331).
- Die
:in-range
und:out-of-range
Pseudo-Klassen wurden so geändert, dass sie keine deaktivierten oder schreibgeschützten Eingaben mehr abgleichen (Firefox-Bug 1264157). - Die
:any-link
Pseudo-Klasse ist nun unpräfixiert (Firefox-Bug 843579). - Der
space
-Wert fürborder-image-repeat
wurde implementiert (Firefox-Bug 720531).
JavaScript
- Die ES2015
Symbol.hasInstance
-Eigenschaft wurde implementiert (Firefox-Bug 1054906). - Die ES2017
Object.getOwnPropertyDescriptors()
-Methode wurde implementiert (Firefox-Bug 1245024). - Das Verhalten von \W in
RegExp
mit den Unicode- und IgnoreCase-Flags wurde geändert, um sich an die aktuelle Entwurfsspezifikation anzupassen. Jetzt wird es nicht mehr auf K, S, k, s und das KELVIN-ZEICHEN (U+212A) sowie den Lateinischen Kleinbuchstaben LANGES S (U+017F) abgleichen (Firefox-Bug 1281739).
Entwicklerwerkzeuge
- Die Webkonsole versteht jetzt Quellkarten.
- Der Speicherinspektor ermöglicht jetzt das Löschen einzelner Elemente aus IndexedDB-Objektspeichern.
- Das Speicherwerkzeug ist standardmäßig aktiviert.
- Die Ansicht des Box-Modells wurde in die berechnete Ansicht verschoben.
- Die Webkonsole zeigt jetzt Stack-Traces für XHR- oder Fetch()-Netzwerkanfragen an.
Alle Developer-Tools-Bugs, die zwischen Firefox 49 und Firefox 50 behoben wurden.
HTTP
- Das experimentelle (und veraltete) SPDY 3.1 ist jetzt standardmäßig deaktiviert Firefox-Bug 1287132.
- Unterstützung für
X-Content-Type-Options
wurde hinzugefügt (Firefox-Bug 471020). - Die Cookie-Präfixe
__Host-
und__Secure-
wurden implementiert. SieheSet-Cookie
und Firefox-Bug 1283368. - Der
Referrer-Policy
-Header wurde implementiert Firefox-Bug 1264164.
Sicherheit
- Das
ping
-Attribut des<a>
-Elements beachtet jetzt dieconnect-src
CSP 1.1 Richtliniendirektive (Firefox-Bug 1100181). - Unterstützung für die
sandbox
CSP Direktive wurde hinzugefügt (Firefox-Bug 671389). - Es ist jetzt möglich, eine Inhalts-Sicherheitsrichtlinie für Worker festzulegen (Firefox-Bug 959388).
- Die
Navigator.sendBeacon()
-Methode wirft keine Ausnahme mehr, wenn die Beacon-Daten aufgrund einer Inhaltssicherheitsrichtlinie-Einschränkung nicht gesendet werden konnten; stattdessen gibt sie wie erwartetfalse
zurück (Firefox-Bug 1234813). - Die Unterstützung für die RC4-Verschlüsselung wurde in Firefox 36 gelöscht und in Firefox 44 standardmäßig deaktiviert. Die einjährige Schonfrist ist abgelaufen, daher entfernt Firefox 50 jegliche Unterstützung für RC4 (Google Chrome entfernte die Unterstützung für RC4 im August 2016). Von nun an wird Firefox bei jedem Auftreten von RC4-Verschlüsselung einen
SSL_ERROR_NO_CYPHER_OVERLAP
-Fehler melden.
Netzwerk
- Wenn ein Fehler während einer asynchronen
XMLHttpRequest
aufgetreten ist, gibt die MethodeXMLHttpRequest.getAllResponseHeaders()
jetzt einen leeren String zurück (Firefox-Bug 1286744). - Anstatt einen
NetworkError
zurückzugeben, erzeugt eine asynchroneXMLHttpRequest
, die aufgrund von CORS oder anderen Netzwerkeinschränkungen fehlschlägt, jetzt einenerror
, der wie jeder andere Fehler abgefangen werden kann (Firefox-Bug 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-Bug 918721).- Die Option
only-if-cached
wurde zuRequest.cache
hinzugefügt (Firefox-Bug 1272436).
DOM
- Die
once
-Option fürEventTarget.addEventListener()
wird jetzt unterstützt (Firefox-Bug 1287706). - Die Schnittstelle
NodeList
ist jetzt iterierbar und die MethodenforEach()
,values()
,NodeList.entries()
undNodeList.keys()
sind jetzt verfügbar (Firefox-Bug 1290636). - Die Schnittstelle
DOMTokenList
ist jetzt iterierbar und die MethodenforEach()
,values()
,DOMTokenList.entries()
undDOMTokenList.keys()
sind jetzt verfügbar (Firefox-Bug 1290636). - Die Methoden
Document.createElement()
undDocument.createElementNS()
haben jetzt ein optionalesoptions
-Parameter für das Erstellen von benutzerdefinierten Elementen (Firefox-Bug 1276579).
SVG
- Das Attribut
allowReorder
wurde entfernt und das Verhalten, das es festlegte, ist nun der Standard für SVG<switch>
-Elemente (Firefox-Bug 1279690). - Das
defer
-Schlüsselwort für daspreserveAspectRatio
-Attribut auf SVG<image>
-Elementen wurde entfernt, um der neuesten SVG2-Spezifikation zu folgen (Firefox-Bug 1280425).
Drag and Drop API
- Die Eigenschaft
DataTransfer.items
wurde implementiert, um den Zugriff auf mehrere Elemente zu ermöglichen, die mit der HTML-Drag-and-Drop-API gezogen und abgelegt werden. Um dies zu ermöglichen, werden jetzt auch die SchnittstellenDataTransferItem
undDataTransferItemList
unterstützt (Firefox-Bug 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 aktualisieren, der sie noch verwendet, um die HTML Drag and Drop API zu verwenden (Firefox-Bug 1162050).
Pointer Lock API
- Die Pointer Lock API ist jetzt unpräfixiert (Firefox-Bug 991899).
- Vor Firefox 50 fragte
requestPointerLock()
nach einer Erlaubnis mit einem Pop-up, und die Zeigerverriegelung wurde nicht aktiviert, bis der Benutzer die Erlaubnis erteilte. Ab Firefox 50 ist die Zeigerverriegelung wie die Fullscreen API: sie wird sofort gewährt, aber eine Benachrichtigung wird angezeigt, die dem Benutzer erklärt, wie man sie verlässt (Firefox-Bug 1273351).
IndexedDB
- Ein
close
-Ereignis wird jetzt an dasIDBDatabase
-Objekt gesendet, wenn die entsprechende Datenbank unerwartet geschlossen wird (Firefox-Bug 1151017).
Service Workers
- Die Methode
WindowClient.navigate()
wurde implementiert. Diese Methode ermöglicht es, eine angegebene URL in einem von der Service-Worker kontrollierten Client-Fenster zu öffnen (Firefox-Bug 1218148).
WebGL
- Die WebGL-Erweiterung
EXT_shader_texture_lod
wurde implementiert (Firefox-Bug 1111689). - Die
texImage
-Methoden wurden für WebGL 2 aktualisiert, um PBOs (PIXEL_UNPACK_BUFFER
) zu implementieren (Firefox-Bug 1280499).
WebRTC
- Das Hinzufügen einer Spur zu einem
MediaStream
erzeugt nun dasaddtrack
-Ereignis, wie es in der Spezifikation beschrieben ist. Das Ereignis ist vom TypMediaStreamTrackEvent
und wird auf dem Stream ausgelöst, zu dem die Spur hinzugefügt wurde. Sie können entwederMediaStream.addEventListener('addtrack', ...)
oder dieonaddtrack
-Eigenschaft verwenden, um"addtrack"
-Ereignisse zu behandeln. - Die Schnittstelle
MediaStreamTrack
unterstützt jetzt dasended
-Ereignis und seinen Ereignis-Handler. - Firefox unterstützt jetzt die Eigenschaft
MediaStreamTrack.readyState
, die anzeigt, ob die Spur aktiv oder dauerhaft beendet ist. - Die Methoden
MediaStreamTrack.getConstraints()
undMediaStreamTrack.getSettings()
der SchnittstelleMediaStreamTrack
wurden implementiert; diese erlauben es, das zuletzt angewendete Set der angepassten Eigenschaftsbeschränkungen und die tatsächlichen Werte aller beschränkbaren Eigenschaften der Spur zu erhalten. Die begleitenden Datentypen wurden ebenfalls dokumentiert. - Die Eigenschaft
RTCDataChannel.stream
wurde entfernt. Diese wurde in Firefox 24 durchRTCDataChannel.id
ersetzt, aber aus Gründen der Rückwärtskompatibilität beibehalten. Bitte stellen Sie sicher, dass Sie Ihren Code aktualisieren, um dieid
-Eigenschaft zu verwenden, falls 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 Ausrichtung (PannerNode.orientationX
,PannerNode.orientationY
,PannerNode.orientationZ
) einer Audioquelle. - Die Schnittstelle
IIRFilterNode
, die einen allgemeinen Infinite Impulse Response (IIR)-Filter implementiert, wurde implementiert. - Die Drosselung in Hintergrund-Tabs von Timern, die mit
Window.setInterval()
,WorkerGlobalScope.setInterval()
,setTimeout()
undsetTimeout()
erstellt wurden, tritt nicht mehr auf, wenn ein Web Audio APIAudioContext
aktiv Ton wiedergibt. Dies sollte helfen, Probleme mit zeitkritischer Audiowiedergabe (wie Musik-Player, die einzelne Noten mithilfe von Timern erzeugen) im Hintergrund zu verhindern (Firefox-Bug 1181073).
Audio/Video
- Das
AlignSetting
-Enum (repräsentierend mögliche Werte fürVTTCue.align
) enthielt zuvor fälschlicherweise den Wert"middle"
anstelle von"center"
. Dies wurde korrigiert (Firefox-Bug 1276130). - Die nicht standardisierte und experimentelle Methode
HTMLMediaElement.seekToNextFrame()
springt jetzt asynchron zum nächsten Frame im Medium anstatt synchron und gibt einPromise
zurück, das sich auflöst, sobald das Suchen abgeschlossen ist. - Die Implementierung von
HTMLTrackElement
wurde so korrigiert, dass sie<track>
-Elementen erlaubt, Ressourcen zu laden, auch wenn sie sich nicht in einem Dokument befinden (Firefox-Bug 871747).
Battery API
- Die
Navigator.battery
-Eigenschaft, die seit Firefox 43 veraltet ist, ist jetzt obsolet und wurde entfernt. Verwenden Sie die Methodenavigator.getBattery()
, um ein Batterie-Promise
zu erhalten, das sich auflöst, wenn derBatteryManager
verfügbar ist; derBatteryManager
wird in den Erfüllungs-Handler für das Promise übergeben (Firefox-Bug 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-Bug 1265767).
-
Die asynchronen API-Schnittstellen wurden implementiert, mit der Einschränkung, 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 Ihnen, ein Dateieingabefeld so zu konfigurieren, dass es Verzeichnisse anstelle von Dateien akzeptiert (Firefox-Bug 1258489). -
HTMLInputElement.webkitEntries
wurde implementiert; dies gibt ein Array von aufFileSystemEntry
-basierten Objekten zurück, die die ausgewählten Elemente darstellen. -
File.webkitRelativePath
wurde implementiert; dies enthält den Pfad der Datei relativ zum Stamm des enthaltendenFileSystemDirectoryEntry
, das zu den Einträgen in der Liste gehört, die vonHTMLInputElement.webkitEntries
zurückgegeben wird. -
Diese APIs sind jetzt standardmäßig aktiviert; einige waren zuvor verfügbar, aber nur hinter einer Präferenz (Firefox-Bug 1288683).
-
-
Wir haben
DataTransferItem.webkitGetAsEntry()
als Teil der File and Directory Entries API implementiert; dies ermöglicht Ihnen, eineFileSystemEntry
zu erhalten, die eine abgelegte Datei darstellt (Firefox-Bug 1289255). Dies ist standardmäßig aktiviert. -
Die
HTMLInputElement.directory
-Eigenschaft, Teil des Directory Upload API-Vorschlags, wurde inallowdirs
umbenannt (Firefox-Bug 1288681). Diese Eigenschaft ist hinter einer Präferenz 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