Firefox 50 für Entwickler
Um die neuesten Entwicklerfunktionalitäten 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 Entwickler von Firefox und Gecko sowie Add-on-Entwickler.
Änderungen für Webentwickler
HTML
- Der Standardstil des
<bdo>
legt nununicode-bidi
mit demisolate-override
Wert fest (Firefox Bug 1249497). - Das Setzen des Attributs
src
des<track>
-Elements funktioniert jetzt korrekt (Firefox Bug 1281418). - Das
referrerpolicy
Attribut auf<area>
,<a>
,<img>
,<iframe>
und<link>
Elementen ist jetzt standardmäßig verfügbar (Firefox Bug 1223838, Firefox Bug 1264165).
CSS
- Ecken mit
border-radius
sowie gestrichelte und gepunktete Stile werden jetzt mit dem angegebenen Stil statt eines soliden Stils gerendert (Firefox Bug 382721). - Der nicht-standardisierte
:-moz-full-screen-ancestor
Pseudo-Klassen-Selektor wurde entfernt (Firefox Bug 1199529). - Das
box-sizing
: padding-box
wurde entfernt, da es nicht mehr Teil der Spezifikation ist und Firefox der einzige große Browser war, der es implementierte (Firefox Bug 1166728). - Die drei Werte
isolate
,isolate-override
undplaintext
derunicode-bidi
Eigenschaft sind jetzt unpräfixiert (Firefox Bug 1141895). - Im Quirks-Modus erbt das Aufzählungszeichen eines Listenelements jetzt die Größe der Liste, ähnlich wie im Standardmodus (Firefox Bug 648331).
- Die
:in-range
und:out-of-range
Pseudo-Klassen haben ihr Verhalten geändert, um keine deaktivierten oder schreibgeschützten Eingaben mehr zu übereinstimmen (Firefox Bug 1264157). - Die
:any-link
Pseudo-Klasse ist jetzt 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
inRegExp
mit Unicode- und IgnoreCase-Flags wurde geändert, um dem aktuellen Entwurf der Spezifikation zu entsprechen. Es entspricht jetzt nicht mehr K, S, k, s, dem KELVIN-ZEICHEN (U+212A) und dem LATEINISCHES KLEINBUCHSTABEN LANGES S (U+017F) (Firefox Bug 1281739).
Entwickler-Werkzeuge
- Die Webkonsole versteht jetzt Quellkarten.
- Der Speicher-Inspektor erlaubt es jetzt, einzelne Elemente aus IndexedDB-Objektspeichern zu löschen.
- Das Speichertool ist standardmäßig aktiviert.
- Die Box-Modell-Ansicht wurde in die berechnete Ansicht verschoben.
- Die Webkonsole zeigt jetzt Stapelverfolgungen für XHR- oder
Fetch()
-Netzwerkanfragen an.
Alle zwischen Firefox 49 und Firefox 50 gefixten Entwicklerwerkzeugfehler.
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 Richtlinie (Firefox Bug 1100181). - Unterstützung für die
sandbox
CSP-Richtlinie wurde hinzugefügt (Firefox Bug 671389). - Es ist jetzt möglich, eine Content Security Policy für Web Worker festzulegen (Firefox Bug 959388).
- Die Methode
Navigator.sendBeacon()
wirft keine Ausnahme mehr, wenn die Beacon-Daten aufgrund einer Content Security Policy-Einschränkung nicht gesendet werden konnten; stattdessen gibt sie wie erwartetfalse
zurück (Firefox Bug 1234813). - Die Unterstützung für RC4-Verschlüsselung wurde in Firefox 36 als veraltet markiert und in Firefox 44 standardmäßig deaktiviert. Die einjährige Gnadenfrist 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 einer RC4-Verschlüsselung einen
SSL_ERROR_NO_CYPHER_OVERLAP
Fehler melden.
Netzwerk
- Wenn ein Fehler während eines asynchronen
XMLHttpRequest
aufgetreten ist, gibt die MethodeXMLHttpRequest.getAllResponseHeaders()
nun einen leeren String zurück (Firefox Bug 1286744). - Statt eines
NetworkError
zurückzugeben, löst ein asynchronerXMLHttpRequest
, der aufgrund von CORS oder anderen Netzwerkbeschränkungen fehlschlägt, jetzt einerror
Ereignis aus, das wie jeder andere Fehler abgefangen werden kann (Firefox Bug 709991). XMLHttpRequest.getResponseHeader()
undXMLHttpRequest.getAllResponseHeaders()
geben nun standardmäßig auch leere Header zurück. Dies kann über die Einstellungnetwork.http.keep_empty_response_headers_as_empty_string
gesteuert werden (Firefox Bug 918721).- Die
only-if-cached
Option wurde zuRequest.cache
hinzugefügt (Firefox Bug 1272436).
DOM
- Die
once
Option fürEventTarget.addEventListener()
wird jetzt unterstützt (Firefox Bug 1287706). - Das Interface
NodeList
ist jetzt iterierbar und die MethodenforEach()
,values()
,NodeList.entries()
undNodeList.keys()
sind jetzt verfügbar (Firefox Bug 1290636). - Das Interface
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 zum Erstellen von benutzerdefinierten Elementen (Firefox Bug 1276579).
SVG
- Das
allowReorder
Attribut wurde entfernt und das Verhalten, das es regulierte, ist jetzt der Standard für SVG<switch>
Elemente (Firefox Bug 1279690). - Das
defer
Schlüsselwort für daspreserveAspectRatio
Attribut bei SVG<image>
Elementen wurde entfernt, um der neuesten SVG2-Spezifikation zu entsprechen (Firefox Bug 1280425).
Drag and Drop API
- Die
DataTransfer.items
Eigenschaft wurde implementiert, die den Zugriff auf mehrere Elemente ermöglicht, die mit der HTML Drag and Drop API gezogen und fallen gelassen werden. Um dies zu ermöglichen, werden auch dieDataTransferItem
undDataTransferItemList
Schnittstellen jetzt unterstützt (Firefox Bug 906420). Dies ist standardmäßig aktiviert. - Die alten, obsoleten Firefox-spezifischen Drag-and-Drop-API-Ereignisse
dragdrop
unddraggesture
werden nicht mehr unterstützt. Stellen Sie bitte sicher, dass Ihr Code, der sie noch verwendet, auf die HTML Drag and Drop API aktualisiert wird (Firefox Bug 1162050).
Pointer Lock API
- Die Pointer Lock API ist jetzt unpräfixiert (Firefox Bug 991899).
- Vor Firefox 50 bat
requestPointerLock()
um Erlaubnis mithilfe einer Türhänger-Meldung, und der Zeigersperre würde erst aktiviert, nachdem der Benutzer die Erlaubnis erteilt hatte. Ab Firefox 50 verhält sich die Zeigersperre wie die Fullscreen API: sie wird sofort erteilt, aber es wird eine Benachrichtigung angezeigt, die dem Benutzer erklärt, wie er sie verlassen kann (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
WindowClient.navigate()
Methode wurde implementiert. Diese Methode erlaubt es Ihnen, eine bestimmte URL in einem Clientfenster zu öffnen, das vom Service Worker kontrolliert wird (Firefox Bug 1218148).
WebGL
- Die
EXT_shader_texture_lod
WebGL-Erweiterung 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 eines Tracks zu einem
MediaStream
erzeugt nun 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 verarbeiten. - Die
MediaStreamTrack
Schnittstelle unterstützt jetzt dasended
-Ereignis und den zugehörigen Ereignishandler. - Firefox unterstützt jetzt die
MediaStreamTrack.readyState
-Eigenschaft, die angibt, ob der Track live oder dauerhaft beendet ist. - Die Methoden
getConstraints()
undgetSettings()
derMediaStreamTrack
wurden implementiert; diese ermöglichen es Ihnen, das zuletzt angewendete Set der angepassten Eigenschaftsbeschränkungen und die tatsächlichen Werte aller einschränkbaren Eigenschaften des Tracks zu erhalten. Die zugehörigen Datentypen wurden ebenfalls dokumentiert. - Die
RTCDataChannel.stream
-Eigenschaft wurde entfernt. Diese wurde in Firefox 24 durchRTCDataChannel.id
ersetzt, wurde jedoch 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
PannerNode
Schnittstelle unterstützt jetzt die 3D-kartesischen Raum-Eigenschaften für die Position (PannerNode.positionX
,PannerNode.positionY
undPannerNode.positionZ
) und Richtungsabhängigkeit (PannerNode.orientationX
,PannerNode.orientationY
,PannerNode.orientationZ
) einer Audioquelle. - Die Schnittstelle
IIRFilterNode
, die ein allgemeines Infinite Impulse Response (IIR) Filter implementiert, wurde implementiert. - Drosselung in Hintergrund-Tabs von Timern, die durch
Window.setInterval()
,WorkerGlobalScope.setInterval()
,setTimeout()
undsetTimeout()
erstellt wurden, tritt nicht mehr auf, wenn eine Web Audio APIAudioContext
aktiv Sound abspielt. Dies sollte helfen, Probleme mit zeitkritischer Audiowiedergabe (wie Musikplayer, die einzelne Noten mit Hilfe von Timern erzeugen) im Hintergrund zu verhindern (Firefox Bug 1181073).
Audio/Video
- Das
AlignSetting
enum (darstellend 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()
sucht jetzt asynchron das nächste Bild im Medium 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 erlauben, selbst wenn sie sich nicht in einem Dokument befinden (Firefox Bug 871747).
Batteriestatus API
- Die
Navigator.battery
Eigenschaft, die seit Firefox 43 veraltet ist, ist jetzt überholt und wurde entfernt. Verwenden Sie die Methodenavigator.getBattery()
, um ein Batterie-Promise
zu erhalten, das aufgelöst wird, wenn derBatteryManager
zur Verfügung steht; derBatteryManager
wird in den Erfüllungshandler des Versprechens übergeben (Firefox Bug 12593355).
Dateien und Verzeichnisse
-
Ein Teil der File and Directory Entries API wurde implementiert, um die Kompatibilität mit Websites zu erhöhen, die zuvor nur mit Google Chrome kompatibel waren (Firefox Bug 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()
ein 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; damit können Sie eine Datei-Eingabe konfigurieren, um Verzeichnisse anstelle von Dateien zu akzeptieren (Firefox Bug 1258489). -
HTMLInputElement.webkitEntries
wurde implementiert; dies gibt ein Array von aufFileSystemEntry
basierenden Objekten zurück, die die ausgewählten Elemente repräsentieren. -
File.webkitRelativePath
wurde implementiert; dies enthält den Pfad der Datei relativ zum Wurzelverzeichnis des enthaltenenFileSystemDirectoryEntry
, das sich unter den Elementen in der vonHTMLInputElement.webkitEntries
zurückgegebenen Liste befindet. -
Siehe Unterstützung für die File and Directory Entries API in Firefox für Details darüber, was wir in dieser API unterstützen und was nicht.
-
Diese APIs sind jetzt standardmäßig aktiviert; einige waren zuvor verfügbar, jedoch nur hinter einer Einstellung (Firefox Bug 1288683).
-
-
Wir haben
DataTransferItem.webkitGetAsEntry()
als Teil der File and Directory Entries API implementiert; dies ermöglicht es Ihnen, einFileSystemEntry
zu erhalten, das eine abgeworfene 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 Einstellung versteckt.
Ältere Versionen
- 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
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers