Firefox 43 Versionshinweise für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition Firefox 43 wurde am 15. Dezember 2015 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
>Entwicklerwerkzeuge
Highlights:
- Serverprotokollierung in der Webkonsole
- Schnelles finden der Regel, die eine CSS-Deklaration überschrieben hat
- "In Konsole verwenden" Kontextmenüeintrag im Inspector
- "Striktes" Filteroption in der Regelansicht
- Netzwerkeinträge in der Konsole verlinken nun zum Netzwerkmonitor
- Die Strukturanzeige zeigt Indikatoren für gesperrte Pseudoklassen für Elemente an
- Neues Seitenleisten-UI für WebIDE
Alle behobenen Entwicklerwerkzeug-Bugs zwischen Firefox 42 und Firefox 43.
CSS
- Unterstützung für die standardisierte, nicht-prefixed Version von
hyphenswurde implementiert (Firefox-Bug 953408). - Die Kurzschreibweise
fontwurde aktualisiert, umfont-stretch-Werte zu akzeptieren (Firefox-Bug 1057680). - Um die neueste Entwicklung der Spezifikation zu erfüllen, wählt die
:fullscreen-Pseudoklasse jetzt den gesamten Stapel von Elementen im Vollbildmodus aus, nicht nur das oberste Element (Firefox-Bug 1199522). - Die veralteten SVG-Werte für
writing-mode,lr,lr-tb,rl,tbundtb-rlwurden in CSS als Aliase für Standard-Eigenschaften hinzugefügt (Firefox-Bug 1205787).
HTML
- Für
<img>mit ICO-Bild, das mehrere Frames enthält, wird die inhärente Dimension des Bildes auf die des größten Frames und nicht mehr auf die des kleinsten Frames gesetzt Firefox-Bug 1201796. - Der Wert des Viewports des Dokuments (definiert mit
<meta name="viewport>) kann nun dynamisch via JavaScript geändert werden (Firefox-Bug 976616).
JavaScript
Neue APIs
- Die neuen ES2016-Methoden
Array.prototype.includes()undTypedArray.prototype.includes()sind jetzt standardmäßig aktiviert (Firefox-Bug 1070767).
Änderungen im Zusammenhang mit dem arguments-Objekt
- Um die ES2015-Spezifikation zu erfüllen, haben Arrow-Funktionen kein eigenes
arguments-Objekt mehr. Dasarguments-Objekt ist nun lexikalisch gebunden (geerbt von der äußeren Funktion). In den meisten Fällen sind Rest-Parameter eine gute Alternative(...args) => args[i], siehe Firefox-Bug 889158. - Das arguments-Objekt ist nun in Verbindung mit Rest-Parametern erlaubt (Firefox-Bug 1133298).
- Von nun an wird ein abgebildetes
arguments-Objekt in nicht-strikten Funktionen nur bereitgestellt, wenn die Funktion keine Rest-Parameter, Standardparameter oder destrukturierte Parameter enthält (Firefox-Bug 1175394).
Weitere Änderungen
- Generatoren und Generatormethoden sind gemäß ES2016 nicht mehr konstruierbar (Firefox-Bug 1191486).
Schnittstellen/APIs/DOM
DOM & HTML DOM
Keine Änderung.
IndexedDB
- Ein neues Feature namens locale-aware-Sortierung wurde hinzugefügt, das die Erstellung von Indizes mit einer spezifizierten Locale ermöglicht, die dann verwendet werden können, um Daten gemäß den Regeln dieser Locale zu sortieren (Firefox-Bug 871846). Dies ist ein nicht-standardisiertes Firefox-spezifisches Feature.
Service Workers
- Gemäß der Spezifikation wird Firefox jetzt einen
InvalidStateErrorwerfen, wennExtendableEvent.waitUntil()außerhalb desExtendableEvent-Handlers aufgerufen wird; zudem werden mehrere Aufrufe vonwaitUntil()jetzt gestapelt, und die resultierenden Promises werden zur Liste der Lebensdauer verlängernden Promises hinzugefügt (Firefox-Bug 1180274). PushMessageData-Methoden wurden implementiert (Firefox-Bug 1149195).
WebRTC
- Die Methode
HTMLCanvasElement.captureStream()wurde standardmäßig aktiviert (Firefox-Bug 1177276). - Die nicht-standardisierte Constraint Style Option List für
RTCOfferOptionswurde als veraltet markiert und wird in Firefox 44 vollständig entfernt.
Verschiedenes
- Die Battery Status API verwendet jetzt die neue Promise-Syntax für
Navigator.getBattery(), wie in der jüngsten Entwicklung der Spezifikation spezifiziert (Firefox-Bug 1050749). - Der
User-Agent-Header steht nicht mehr auf der Liste der verbotenen Anforderungsheader, sodass er jetzt in einem FetchHeaders-Objekt, via XHRXMLHttpRequest.setRequestHeader(),… gesetzt werden kann (Firefox-Bug 1188932). - Der
MediaRecorder()-Konstruktor kann jetzt ein Options-Wörterbuch als Parameter akzeptieren, das es Ihnen erlaubt, benutzerdefinierte Bitraten für die aufzuzeichnenden Audio-/Videoaufnahmen festzulegen (Firefox-Bug 1161276). - Das
PerformanceObserver-Interface, das zu den Performance APIs gehört, wurde implementiert (Firefox-Bug 1165796). - Die Frame Timing API wurde hinzugefügt: Die
PerformanceRenderTiming- undPerformanceCompositeTiming-Schnittstellen sind jetzt verfügbar (Firefox-Bug 1191178). - Die moderne Screen Orientation API wurde implementiert: Ungeprätztes
Screen.orientationund dieScreenOrientation-Schnittstelle sind jetzt verfügbar (Firefox-Bug 1131470). Die nicht-standardmäßigenScreen.mozOrientation,Screen.onmozorientationchange,Screen.mozLockOrientation(), undScreen.mozUnlockOrientation()werden in Zukunft entfernt. - Unter Linux, wie unter Windows, gibt
Event.timeStampjetzt einDOMHighResTimeStampzurück (Firefox-Bug 1026803). - Experimenteller Support für
Selection-Ereignisseselectionchangeundselectstart, sowie dieDocument.onselectionchangeundHTMLInputElement.onselectstart-Ereignishandler-Eigenschaft wurde hinzugefügt (Firefox-Bug 571294). Dasselectionchange-Ereignis wird auf demDocumentausgelöst, wenn das zugehörigeSelection-Objekt betroffen ist, oder auf dem spezifischenHTMLInputElementoderHTMLTextAreaElement(Firefox-Bug 1196479). Diese Funktion wird durch diedom.select_events.enabled-Einstellung gesteuert, die standardmäßig auffalsegesetzt ist, außer in Nightly. - Unterstützung für
MouseEvent.offsetXundMouseEvent.offsetYwurde auf Firefox für Android und Firefox OS aktiviert (Firefox-Bug 1204841). - Die Methode
HTMLCanvasElement.mozFetchAsStream()wurde entfernt (Firefox-Bug 1206030). - Der Konstruktor
Request()sowiefetch()werden nun eineTypeError-Ausnahme auslösen, wenn sie mit einer URL verwendet werden, die einen Benutzernamen und ein Passwort enthält (Firefox-Bug 1195820).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
Keine Änderung.
Netzwerk
Keine Änderung.
Sicherheit
- Der Zugriff auf Web Storage (d.h.
localStorageundsessionStorage) aus Drittanbieter-IFrames wird nun verweigert, wenn der Benutzer Drittanbieter-Cookies deaktiviert hat (Firefox-Bug 536509). - Diese Whitelist wurde sogar in der Nightly und Aurora/Dev Edition des Browsers entfernt (Firefox-Bug 1201023). Es ist derzeit geplant, dass diese Entfernung auch für Beta- und Release-Versionen in der nächsten Version (Firefox 44) erfolgt.
- Subresource Integrity wurde für
<script>und<link>, die auf Stylesheets verlinken, implementiert (Firefox-Bug 992096).
Änderungen für Add-on- und Mozilla-Entwickler
>Schnittstellen
Keine Änderung.
XUL
Keine Änderung.
JavaScript-Code-Module
Keine Änderung.
XPCOM
Keine Änderung.
Plugins
- In Vorbereitung auf zukünftige Versionen, die auf Multi-Prozess-Inhalte umstellen, können NPAPI-Plugins nicht mehr im selben Prozess wie die Seiteninhalte ausgeführt werden. Die Präferenzen, die mit
dom.ipc.pluginsbeginnen, werden nicht mehr verwendet.
Sonstiges
Keine Änderung.