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
mit dem Wertisolate-override
(Firefox Fehler 1249497). - Das Setzen des
src
-Attributes des<track>
-Elements funktioniert jetzt korrekt (Firefox Fehler 1281418). - Das
referrerpolicy
-Attribut in<area>
,<a>
,<img>
,<iframe>
und<link>
ist jetzt standardmäßig verfügbar (Firefox Fehler 1223838, Firefox Fehler 1264165).
CSS
- Ecken mit
border-radius
und gestrichelten bzw. gepunkteten Stilen werden nun mit dem angegebenen Stil anstelle eines durchgehenden Stils gerendert (Firefox Fehler 382721). - Der nicht standardisierte Pseudoklassen-Selektor
:-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 implementierte (Firefox Fehler 1166728). - Die drei Werte
isolate
,isolate-override
undplaintext
derunicode-bidi
-Eigenschaft wurden unpräfixiert (Firefox Fehler 1141895). - Im Quirks-Modus erbt das Aufzählungszeichen eines Listenelements nun die Größe der Liste, genau wie im Standardmodus (Firefox Fehler 648331).
- Die
:in-range
und:out-of-range
Pseudoklassen haben ihr Verhalten geändert, sodass sie nicht mehr deaktivierte oder schreibgeschützte Eingaben treffen (Firefox Fehler 1264157). - Die
:any-link
Pseudoklasse ist jetzt 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 Unicode- und IgnoreCase-Flags wurde geändert, um dem aktuellen Entwurf der Spezifikation zu entsprechen. Es passt nun nicht mehr zu K, S, k, s, und dem KELVIN-Zeichen (U+212A) sowie dem LATINISCHEN KLEINBUCHSTABEN LANGES S (U+017F) (Firefox Fehler 1281739).
Entwickler-Tools
- Die Webkonsole versteht jetzt Quellkarten.
- Der Speicherinspektor ermöglicht es nun, einzelne Elemente aus IndexedDB-Objektspeichern zu löschen.
- Das Speichertool ist standardmäßig aktiviert.
- Die Boxmodellansicht wurde in die berechnete Ansicht verschoben.
- Die Webkonsole zeigt jetzt Stapelverfolgungen für XHR- oder Fetch()-Netzwerkanfragen an.
Alle Developer-Tools-Bugs, die zwischen Firefox 49 und Firefox 50 behoben wurden.
HTTP
- Die experimentelle (und veraltete) SPDY 3.1 ist nun 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. Weitere Informationen finden Sie unterSet-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 jetzt möglich, eine Inhalts-Sicherheitsrichtlinie für Worker festzulegen (Firefox Fehler 959388).
- Die Methode
Navigator.sendBeacon()
löst nun keine Ausnahme mehr aus, wenn die Beacon-Daten aufgrund einer Content-Security-Policy-Beschrä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 als veraltet markiert 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 hat die Unterstützung für RC4 im August 2016 eingestellt). Von nun an wird Firefox bei jeder Begegnung mit RC4-Verschlüsselung einen
SSL_ERROR_NO_CYPHER_OVERLAP
-Fehler melden.
Netzwerke
- Wenn ein Fehler während eines asynchronen
XMLHttpRequest
aufgetreten ist, gibt die MethodeXMLHttpRequest.getAllResponseHeaders()
jetzt eine leere Zeichenkette zurück (Firefox Fehler 1286744). - Anstatt einen
NetworkError
zurückzugeben, löst ein asynchronesXMLHttpRequest
, das aufgrund von CORS oder anderen Netzwerkbeschränkungen fehlschlägt, jetzt einerror
aus, das wie jeder andere Fehler erfasst werden kann (Firefox Fehler 709991). XMLHttpRequest.getResponseHeader()
undXMLHttpRequest.getAllResponseHeaders()
geben jetzt standardmäßig auch 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). - Das Interface
NodeList
ist jetzt iterierbar und die MethodenforEach()
,values()
,NodeList.entries()
undNodeList.keys()
sind jetzt verfügbar (Firefox Fehler 1290636). - Das Interface
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 zur Erstellung 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 bei SVG<image>
-Elementen wurde entfernt, um der neuesten SVG2-Spezifikation zu folgen (Firefox Fehler 1280425).
Drag-and-Drop-API
- Die
DataTransfer.items
-Eigenschaft wurde implementiert, was den Zugriff auf mehrere Elemente erlaubt, die mit der HTML-Drag-and-Drop-API gezogen und fallen gelassen werden. Um dies zu ermöglichen, 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 jeglichen Code, der sie noch verwendet, aktualisieren, um die HTML-Drag-and-Drop-API zu verwenden (Firefox Fehler 1162050).
Zeigerverriegelung-API
- Die Pointer Lock API ist jetzt unpräfixiert (Firefox Fehler 991899).
- Vor Firefox 50 bat
requestPointerLock()
um Erlaubnis über ein Meldungsfenster, und die Zeigersperre wurde erst aktiviert, wenn der Benutzer die Erlaubnis erteilt hatte. Ab Firefox 50 ist die Zeigersperre wie die Vollbild-API: sie wird sofort gewährt, jedoch wird eine Benachrichtigung angezeigt, die erklärt, wie man den Modus verlässt (Firefox Fehler 1273351).
IndexedDB
- Bei unerwartetem Schließen der entsprechenden Datenbank wird jetzt ein
close
-Ereignis an dasIDBDatabase
-Objekt gesendet (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 vom Service Worker gesteuert wird (Firefox Fehler 1218148).
WebGL
- Die WebGL-Erweiterung
EXT_shader_texture_lod
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 es in der Spezifikation beschrieben ist. Das Ereignis ist vom TypMediaStreamTrackEvent
und wird auf dem Stream ausgelöst, dem der Track hinzugefügt wurde. Sie können entwederMediaStream.addEventListener('addtrack', ...)
oder dieonaddtrack
-Eigenschaft verwenden, um"addtrack"
-Ereignisse zu behandeln. - Die
MediaStreamTrack
-Schnittstelle unterstützt jetzt dasended
-Ereignis und dessen Ereignishandler. - Firefox unterstützt jetzt die
MediaStreamTrack.readyState
-Eigenschaft, die angibt, ob der Track live ist oder dauerhaft beendet wurde. - Die Methoden
getConstraints()
undgetSettings()
derMediaStreamTrack
-Schnittstelle wurden implementiert; diese erlauben es Ihnen, das zuletzt angewendete Set an angepassten Eigenschaftenbeschränkungen und die tatsächlichen Werte aller constraint-baren Eigenschaften des Tracks zu erhalten. Die begleitenden Datentypen wurden ebenfalls dokumentiert. - Die Eigenschaft
RTCDataChannel.stream
wurde entfernt. Dies wurde in Firefox 24 durchRTCDataChannel.id
ersetzt, aber aus Gründen der Rückwärtskompatibilität unterstützt. Bitte stellen Sie sicher, dass Ihr Code dieid
-Eigenschaft verwendet, falls Sie dies noch nicht getan haben.
Web-Audio-API
- Die
PannerNode
-Schnittstelle unterstützt jetzt die 3D-Kartesischen Raumeigenschaften für die Position (PannerNode.positionX
,PannerNode.positionY
undPannerNode.positionZ
) und Richtungsorientierung (PannerNode.orientationX
,PannerNode.orientationY
,PannerNode.orientationZ
) einer Audioquelle. - Die Schnittstelle
IIRFilterNode
, die eine allgemeine Infinite Impulse Response (IIR) Filter implementiert, wurde eingeführt. - Die Drosselung in Hintergrund-Tabs von Timern, die durch
Window.setInterval()
,WorkerGlobalScope.setInterval()
,setTimeout()
undsetTimeout()
erstellt wurden, findet nicht mehr statt, wenn eine Web Audio APIAudioContext
aktiv Sound abspielt. Dies sollte helfen, Probleme mit timing-sensitiver Audio-Wiedergabe (wie Musikspieler, die einzelne Noten mit Timern generieren) im Hintergrund zu verhindern (Firefox Fehler 1181073).
Audio/Video
- Das
AlignSetting
-Enum (das mögliche Werte fürVTTCue.align
darstellt) umfasste zuvor fälschlicherweise den Wert"middle"
anstelle von"center"
. Dies wurde korrigiert (Firefox Fehler 1276130). - Die nicht standardisierte und experimentelle Methode
HTMLMediaElement.seekToNextFrame()
springt jetzt asynchron auf den nächsten Frame im Medium und gibt einPromise
zurück, das aufgelöst wird, sobald das Springen abgeschlossen ist. - Die Implementierung des
HTMLTrackElement
wurde korrigiert, so dass<track>
-Elemente Ressourcen laden können, auch wenn sie sich nicht in einem Dokument befinden (Firefox Fehler 871747).
Batterie API
- Die
Navigator.battery
-Eigenschaft, die seit Firefox 43 als veraltet gilt, ist jetzt obsolet und wurde entfernt. Verwenden Sie stattdessen die Methodenavigator.getBattery()
, um ein Batterien-Promise
zu erhalten, das aufgelöst wird, wenn derBatteryManager
zur Nutzung bereitsteht; derBatteryManager
wird in den Erfüllungs-Handler des Versprechens übergeben (Firefox Fehler 12593355).
Dateien und Verzeichnisse
-
Ein Teil 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 Fehler 1265767).
-
Die asynchronen API-Schnittstellen wurden implementiert, mit der Einschränkung, dass nur das Lesen von Dateien unterstützt wird; die Methode
FileSystemFileEntry.createWriter()
ist 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 Dateieingabe für Verzeichnisse anstelle von Dateien zu konfigurieren (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 zum Wurzelverzeichnis des enthaltenenFileSystemDirectoryEntry
, das sich unter den Elementen in der Liste befindet, die vonHTMLInputElement.webkitEntries
zurückgegeben werden. -
Diese APIs sind jetzt standardmäßig aktiviert; einige waren zuvor verfügbar, aber nur hinter einer Präferenz (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 heruntergeladene Datei darstellt (Firefox Fehler 1289255). Dies ist standardmäßig aktiviert. -
Die
HTMLInputElement.directory
-Eigenschaft, Teil des Vorschlags zur Verzeichnishochladen-API, wurde inallowdirs
umbenannt (Firefox Fehler 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