Firefox 50 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie 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 des
<bdo>
-Elements setzt nununicode-bidi
mit dem Wertisolate-override
(Firefox-Bug 1249497). - Das Festlegen des
src
-Attributs für das<track>
-Element funktioniert jetzt korrekt (Firefox-Bug 1281418). - Das Attribut
referrerpolicy
auf den Elementen<area>
,<a>
,<img>
,<iframe>
und<link>
ist jetzt standardmäßig verfügbar (Firefox-Bug 1223838, Firefox-Bug 1264165).
CSS
- Ecken mit border-radius und gestrichelten und gepunkteten Stilen werden jetzt mit dem angegebenen Stil statt mit einem festen Stil gerendert (Firefox-Bug 382721).
- Der nicht standardisierte
:-moz-full-screen-ancestor
Pseudo-Class-Selektor wurde entfernt (Firefox-Bug 1199529). - Der
box-sizing
: padding-box
wurde entfernt, da er keinen Teil der Spezifikation mehr ausmacht und Firefox der einzige große Browser war, der ihn implementierte (Firefox-Bug 1166728). - Die drei Werte
isolate
,isolate-override
undplaintext
derunicode-bidi
-Eigenschaft wurden ohne Präfix verfügbar gemacht (Firefox-Bug 1141895). - Im Quirks-Modus erbt die Aufzählungsmarke eines Listenelements jetzt die Größe der Liste, genau wie im Standardmodus (Firefox-Bug 648331).
- Die Pseudoklassen
:in-range
und:out-of-range
haben ihr Verhalten geändert, um nicht mehr auf deaktivierte oder schreibgeschützte Eingaben zu passen (Firefox-Bug 1264157). - Die Pseudoklasse
:any-link
ist jetzt ohne Präfix verfügbar (Firefox-Bug 843579). - Der Wert
space
fürborder-image-repeat
wurde implementiert (Firefox-Bug 720531).
JavaScript
- Die ES2015-Eigenschaft
Symbol.hasInstance
wurde implementiert (Firefox-Bug 1054906). - Die ES2017-Methode
Object.getOwnPropertyDescriptors()
wurde implementiert (Firefox-Bug 1245024). - Das Verhalten von \W in
RegExp
mit Unicode- und IgnoreCase-Flags wurde geändert, um mit dem aktuellen Spezifikationsentwurf übereinzustimmen. Jetzt passt es nicht mehr zu K, S, k, s und KELVIN-ZEICHEN (U+212A) und LATIN SMALL LETTER LONG S (U+017F) (Firefox-Bug 1281739).
Entwickler-Tools
- 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 Boxmodell wird in die Berechnungsansicht verschoben.
- Die Webkonsole zeigt jetzt Stack-Traces für XHR- oder Fetch()-Netzwerkanfragen an.
Alle Devtools-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 policy directive (Firefox-Bug 1100181). - Unterstützung für die
sandbox
CSP-Direktive wurde hinzugefügt (Firefox-Bug 671389). - Es ist jetzt möglich, eine Content-Security-Policy für Worker festzulegen (Firefox-Bug 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 wird wie erwartetfalse
zurückgegeben (Firefox-Bug 1234813). - Die Unterstützung für RC4-Verschlüsselung wurde in Firefox 36 als veraltet markiert und standardmäßig in Firefox 44 deaktiviert. Die einjährige Übergangsfrist ist abgelaufen, sodass Firefox 50 die Unterstützung für RC4 vollständig entfernt (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.
Netzwerktechnik
- Wenn ein Fehler während einer asynchronen
XMLHttpRequest
auftritt, gibt die MethodeXMLHttpRequest.getAllResponseHeaders()
jetzt eine leere Zeichenkette zurück (Firefox-Bug 1286744). - Statt einen
NetworkError
zurückzugeben, löst ein asynchronesXMLHttpRequest
, das bei CORS oder anderen Netzbeschränkungen scheitert, nun einenerror
aus, der wie jeder andere Fehler gefangen werden kann (Firefox-Bug 709991). XMLHttpRequest.getResponseHeader()
undXMLHttpRequest.getAllResponseHeaders()
geben jetzt standardmäßig auch leere Header zurück. Dies kann über die Präferenznetwork.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). - 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 zur Erstellung von benutzerdefinierten Elementen (Firefox-Bug 1276579).
SVG
- Das
allowReorder
-Attribut wurde entfernt und das Verhalten, das es festlegte, ist jetzt der Standard für SVG-<switch>
-Elemente (Firefox-Bug 1279690). - Das Schlüsselwort
defer
für daspreserveAspectRatio
-Attribut auf SVG-<image>
-Elementen wurde entfernt, um der neuesten SVG2-Spezifikation zu entsprechen (Firefox-Bug 1280425).
Drag-and-Drop-API
- Die Eigenschaft
DataTransfer.items
wurde implementiert, die den Zugriff auf mehrere Elemente ermöglicht, die mithilfe der HTML-Drag-and-Drop-API gezogen und fallen gelassen werden. Um dies zu ermöglichen, werden auch die SchnittstellenDataTransferItem
undDataTransferItemList
unterstützt (Firefox-Bug 906420). Dies ist standardmäßig aktiviert. - Die alten, veralteten, Firefox-spezifischen Drag-and-Drop-API-Events
dragdrop
unddraggesture
werden nicht mehr unterstützt. Achten Sie darauf, Ihren Code zu aktualisieren, um die HTML-Drag-and-Drop-API zu verwenden (Firefox-Bug 1162050).
Pointer Lock API
- Die Pointer Lock API ist jetzt ohne Präfix (Firefox-Bug 991899).
- Vor Firefox 50 fragte
requestPointerLock()
um Erlaubnis mithilfe eines Türhangers und der Zeiger-Sperre würde nicht aktiviert, bis der Benutzer die Erlaubnis erteilte. Ab Firefox 50 ist die Zeiger-Sperre wie die Fullscreen-API: Sie wird sofort gewährt, aber eine Benachrichtigung wird angezeigt, die erklärt, wie der Benutzer diese verlassen kann (Firefox-Bug 1273351).
IndexedDB
- Ein
close
-Event wird jetzt an dasIDBDatabase
-Objekt gesendet, wenn die entsprechende Datenbank unerwartet geschlossen wird (Firefox-Bug 1151017).
Service Worker
- Die Methode
WindowClient.navigate()
wurde implementiert. Diese Methode ermöglicht es Ihnen, eine bestimmte URL in einem Clientfenster zu öffnen, das durch den Service Worker gesteuert 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
löst jetzt dasaddtrack
-Event aus, wie es in der Spezifikation beschrieben ist. Das Event 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"
-Events zu behandeln. - Die
MediaStreamTrack
-Schnittstelle unterstützt jetzt dasended
-Event und den entsprechenden Ereignishandler. - Firefox unterstützt jetzt die Eigenschaft
MediaStreamTrack.readyState
, die anzeigt, ob der Track live ist oder dauerhaft beendet wurde. - Die Methoden
getConstraints()
undgetSettings()
derMediaStreamTrack
-Schnittstelle wurden implementiert; diese ermöglichen es Ihnen, die zuletzt angepasste Menge von Eigenschaftsrestriktionen zu erhalten sowie die tatsächlichen Werte aller einschränkbaren Eigenschaften des Tracks. Die dazugehörigen Datentypen wurden ebenfalls dokumentiert. - Die Eigenschaft
RTCDataChannel.stream
wurde entfernt. Diese wurde in Firefox 24 durchRTCDataChannel.id
ersetzt, war aber aus Kompatibilitätsgründen weiterhin verfügbar. Bitte stellen Sie sicher, dass Ihr Code dieid
-Eigenschaft verwendet, 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 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, tritt nicht mehr auf, wenn eine Web Audio APIAudioContext
aktiv Sound abspielt. Dies sollte helfen, Probleme mit zeitkritischer Audiowiedergabe (wie Musik-Player, die einzelne Noten mit Timern erzeugen) im Hintergrund zu verhindern (Firefox-Bug 1181073).
Audio/Video
- Das
AlignSetting
-Enum (das mögliche Werte fürVTTCue.align
darstellt) enthielt zuvor fälschlicherweise den Wert"middle"
statt"center"
. Dies wurde korrigiert (Firefox-Bug 1276130). - Die nicht standardisierte und experimentelle Methode
HTMLMediaElement.seekToNextFrame()
springt jetzt asynchron zum nächsten Bild im Medium, anstatt synchron, und gibt einPromise
-Objekt zurück, das sich auflöst, sobald das Springen abgeschlossen ist. - Die Implementierung von
HTMLTrackElement
wurde korrigiert, um<track>
-Elementen zu ermöglichen, Ressourcen zu laden, auch wenn sie sich nicht in einem Dokument befinden (Firefox-Bug 871747).
Batterie-API
- Die Eigenschaft
Navigator.battery
, die seit Firefox 43 als veraltet gilt, ist jetzt obsolet und wurde entfernt. Verwenden Sie stattdessen die Methodenavigator.getBattery()
, um ein Batterie-Promise
zu erhalten, das sich auflöst, wenn derBatteryManager
verfügbar ist; derBatteryManager
wird dem Erfüller für das Promise übergeben (Firefox-Bug 12593355).
Dateien und Verzeichnisse
-
Ein Teilset der File and Directory Entries API wurde implementiert, um die Kompatibilität mit Sites zu verbessern, die zuvor nur mit Google Chrome kompatibel waren (Firefox-Bug 1265767).
-
Die asynchronen API-Schnittstellen wurden implementiert, mit dem Hinweis, dass nur das Lesen von Dateien unterstützt wird; z. B. 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; dies ermöglicht es Ihnen, eine Dateieingabe so zu konfigurieren, dass Verzeichnisse anstelle von Dateien akzeptiert werden (Firefox-Bug 1258489). -
HTMLInputElement.webkitEntries
wurde implementiert; dies gibt ein Array von aufFileSystemEntry
basierenden Objekten zurück, die die ausgewählten Elemente darstellen. -
File.webkitRelativePath
wurde implementiert; dies enthält den Pfad der Datei relativ zur Wurzel des enthaltenenFileSystemDirectoryEntry
, das zu den in der Liste zurückgegebenen Elementen vonHTMLInputElement.webkitEntries
gehört. -
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 es Ihnen, eineFileSystemEntry
zu erhalten, die eine fallengelassene Datei darstellt (Firefox-Bug 1289255). Dies ist standardmäßig aktiviert. -
Die Eigenschaft
HTMLInputElement.directory
, Teil des Directory Upload API-Vorschlags, wurde inallowdirs
umbenannt (Firefox-Bug 1288681). Diese Eigenschaft ist hinter einer Präferenz versteckt.
Ä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