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, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Höhepunkte:
- Serverprotokollierung in der Webkonsole
- Schnelles Auffinden der Regel, die eine CSS-Deklaration überschrieben hat
- Menüeintrag "Use in Console" (In Konsole verwenden) im Inspector
- Option "Strict" (Streng) zum Filtern in der Regelansicht
- Netzwerkeinträge in der Konsole verlinken jetzt mit dem Netzwerkmonitor
- Die Markup-Ansicht zeigt Indikatoren für pseudoklassengeblockte Elemente
- Neues Seitenleisten-UI für WebIDE
Alle Devtools-Bugs, die zwischen Firefox 42 und Firefox 43 behoben wurden.
CSS
- Die Unterstützung für die standardmäßige, unveränderte Version von
hyphenswurde hinzugefügt (Firefox Bug 953408). - Die Kurzform-Eigenschaft
fontwurde aktualisiert, umfont-stretch-Werte zu akzeptieren (Firefox Bug 1057680). - Um die neueste Entwicklung der Spezifikation zu entsprechen, wählt die Pseudoklasse
:fullscreennun den gesamten Stapel von Elementen im Vollbild aus und 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 zu Standard-Eigenschaften hinzugefügt (Firefox Bug 1205787).
HTML
- Für
<img>mit ICO-Bild, das mehrere Frames enthält, wird die intrinsische Dimension des Bildes auf die des größten Frames festgelegt und nicht mehr auf die des kleinsten Frames Firefox Bug 1201796. - Der Wert des Viewports des Dokuments (definiert mit
<meta name="viewport">) kann nun über JavaScript dynamisch 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 bezüglich des arguments-Objekts
- Um der ES2015-Spezifikation zu entsprechen, haben Pfeilfunktionen kein eigenes
arguments-Objekt mehr. Dasarguments-Objekt ist jetzt lexikalisch gebunden (von der äußeren Funktion geerbt). In den meisten Fällen sind Restparameter eine gute Alternative(...args) => args[i], siehe Firefox Bug 889158. - Das
arguments-Objekt ist jetzt in Verbindung mit Restparametern erlaubt (Firefox Bug 1133298). - Ab jetzt wird ein gemapptes
arguments-Objekt in nicht-strikten Funktionen nur bereitgestellt, wenn die Funktion keine Restparameter, keine Standardparameter oder keine destrukturierten 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 sprachsensitives Sortieren wurde hinzugefügt, das die Erstellung von Indizes mit einer angegebenen Sprache ermöglicht, die dann zur Sortierung von Daten gemäß den Regeln dieser Sprache verwendet werden können (Firefox Bug 871846). Dies ist ein nicht standardmäßiges, Firefox-spezifisches Feature.
Service Workers
- Entsprechend der Spezifikation wird Firefox jetzt einen
InvalidStateErrorauslösen, wennExtendableEvent.waitUntil()außerhalb desExtendableEvent-Handlers aufgerufen wird; zudem werden mehrfache Aufrufe vonwaitUntil()jetzt aufgestapelt, und die resultierenden Versprechen werden zur Liste der erweiterten Lebenszeitversprechen 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 standardmäßige Constraints-Stilliste für
RTCOfferOptionswurde veraltet und wird vollständig in Firefox 44 entfernt.
Verschiedenes
- Die Battery Status API verwendet jetzt die neue Promise-Syntax für
Navigator.getBattery(), wie in der jüngsten Entwicklung der Spezifikation festgelegt (Firefox Bug 1050749). - Der
User-Agent-Header befindet sich nicht mehr in der Liste der forbidden request headers, sodass er jetzt in einem Fetch-Headers-Objekt gesetzt werden kann, via XHRXMLHttpRequest.setRequestHeader(),... (Firefox Bug 1188932). - Der Konstruktor
MediaRecorder()kann jetzt ein Options-Dictionary als Parameter akzeptieren, das es ermöglicht, benutzerdefinierte Bitraten für die aufzuzeichnenden Audio-/Video-Medien 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 Schnittstellen
PerformanceRenderTimingundPerformanceCompositeTimingsind jetzt verfügbar (Firefox Bug 1191178). - Die moderne Screen Orientation API wurde implementiert: das unveränderte
Screen.orientationund dasScreenOrientation-Interface 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 einenDOMHighResTimeStampzurück (Firefox Bug 1026803). - Experimentelle Unterstützung für
Selection-Ereignisseselectionchangeundselectstartsowie die Eigenschaft der EreignishandlerDocument.onselectionchangeundHTMLInputElement.onselectstartwurde hinzugefügt (Firefox Bug 571294). Dasselectionchange-Ereignis wird auf demDocumentausgelöst, wenn das zugehörigeSelection-Objekt betroffen ist, oder speziell auf demHTMLInputElementoderHTMLTextAreaElement(Firefox Bug 1196479). Dieses Feature wird durch diedom.select_events.enabled-Voreinstellung gesteuert, die standardmäßig auffalsegesetzt ist, außer auf 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 jetzt 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.
Netzwerke
Keine Änderung.
Sicherheit
- Der Zugriff auf Web Storage (d.h.
localStorageundsessionStorage) von Drittanbieter-IFrames ist jetzt untersagt, wenn der Benutzer Cookies von Drittanbietern deaktiviert hat (Firefox Bug 536509). - Diese Whitelist wurde sogar in den Nightly- und Aurora-/Dev-Editionen des Browsers entfernt (Firefox Bug 1201023). Es ist geplant, dass diese Entfernung auch für Beta- und Release-Versionen in der nächsten Version (Firefox 44) erfolgt.
- Subressourcenintegrität wurde für
<script>und<link>, die auf Stylesheets verlinkt, 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
- Zur Vorbereitung auf zukünftige Versionen, die auf Multi-Prozess-Inhalt umstellen werden, können NPAPI-Plugins nicht mehr im selben Prozess wie der Seiteninhalt ausgeführt werden. Die Präferenzen, die mit
dom.ipc.pluginsbeginnen, werden nicht mehr verwendet.
Sonstiges
Keine Änderung.