Firefox 43 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 Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwicklerwerkzeuge
Highlights:
- Serverprotokollierung in der Webkonsole
- Schnelles Auffinden der Regel, die eine CSS-Deklaration überschrieben hat
- Kontextmenüeintrag "Use in Console" im Inspektor
- Option "Strict" zum Filtern in der Regelnansicht
- Netzwerkeinträge in der Konsole verlinken jetzt zum Netzwerkmonitor
- Die Markup-Ansicht zeigt Indikatoren für Pseudo-Klassen, die für Elemente gesperrt sind](https://firefox-source-docs.mozilla.org/devtools-user/page_inspector/how_to/examine_and_edit_css/index.html#setting-hover-active-focus)
- Neues Sidebar-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, unpräfixierte Version von
hyphens
wurde hinzugefügt (Firefox-Bug 953408). - Die Kurzschreibweise
font
wurde aktualisiert, umfont-stretch
-Werte zu akzeptieren (Firefox-Bug 1057680). - Um die neueste Entwicklung der Spezifikation anzupassen, wählt die Pseudo-Klasse
:fullscreen
nun den gesamten Stapel von Elementen im Vollbildmodus aus und nicht nur das oberste (Firefox-Bug 1199522). - Die veralteten SVG-Werte für
writing-mode
,lr
,lr-tb
,rl
,tb
, undtb-rl
, wurden als Aliase für Standard-Eigenschaften im CSS hinzugefügt (Firefox-Bug 1205787).
HTML
- Für
<img>
mit ICO-Bildern, die mehrere Frames enthalten, wird die intrinsische Dimension des Bildes auf die des größten Frames gesetzt und nicht mehr auf die des kleinsten Firefox-Bug 1201796. - Der Wert der Dokumentenansicht (definiert mit
<meta name="viewport">
) kann jetzt dynamisch über 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 bezüglich des arguments
-Objekts
- Um die ES2015-Spezifikation anzupassen, haben Arrow-Funktionen kein eigenes
arguments
-Objekt mehr. Dasarguments
-Objekt ist jetzt lexikalisch gebunden (vom äußeren Funktionsumfang geerbt). In den meisten Fällen sind Restparameter eine gute Alternative(...args) => args[i]
, siehe Firefox-Bug 889158. - Das
arguments
-Objekt darf jetzt in Verbindung mit Restparametern verwendet werden (Firefox-Bug 1133298). - Von nun an wird ein abgebildetes
arguments
-Objekt in nicht-strikten Funktionen nur bereitgestellt, wenn die Funktion keine Restparameter, Standardparameter oder destrukturierte Parameter enthält (Firefox-Bug 1175394).
Andere Änderungen
- Generatoren und Generator-Methoden sind gemäß ES2016 nicht mehr konstruierbar (Firefox-Bug 1191486).
Schnittstellen/APIs/DOM
DOM & HTML DOM
Keine Änderung.
IndexedDB
- Ein neues Feature namens länderspezifische Sortierung wurde hinzugefügt, das ermöglicht, Indizes mit einer angegebenen Regionalspezifikation zu erstellen, die dann verwendet werden kann, um Daten gemäß den Regeln dieser Region zu sortieren (Firefox-Bug 871846). Dies ist eine nicht standardmäßige Firefox-spezifische Funktion.
Service Workers
- Laut Spezifikation wird Firefox jetzt einen
InvalidStateError
auslösen, wennExtendableEvent.waitUntil()
außerhalb desExtendableEvent
-Handlers aufgerufen wird. Zusätzlich werden mehrere Aufrufe vonwaitUntil()
nun gestapelt, und die resultierenden Versprechen werden der Liste von erweiterte Lebenszyklusversprechen 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 Einschränkungsstiloption für
RTCOfferOptions
ist veraltet und wird in Firefox 44 vollständig entfernt.
Verschiedenes
- Die Battery Status API verwendet jetzt die neue Versprechen-Syntax für
Navigator.getBattery()
, wie in der jüngsten Entwicklung der Spezifikation spezifiziert (Firefox-Bug 1050749). - Der
User-Agent
-Header gehört nicht mehr zur Liste der verbotenen Anforderungsheader, sodass er nun in einemFetch
Headers
-Objekt oder via XHRXMLHttpRequest.setRequestHeader()
gesetzt werden kann (Firefox-Bug 1188932). - Der
MediaRecorder()
-Konstruktor kann jetzt ein Optionswörterbuch als Parameter akzeptieren, mit dem Sie benutzerdefinierte Bitraten für das aufzuzeichnende Audio/Video festlegen können (Firefox-Bug 1161276). - Die
PerformanceObserver
-Schnittstelle, die 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: unpräfigiert
Screen.orientation
und 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 auch unter Windows gibt
Event.timeStamp
nun einDOMHighResTimeStamp
zurück (Firefox-Bug 1026803). - Experimentelle Unterstützung für
Selection
-Ereignisseselectionchange
undselectstart
, sowie die Eigenschaft der EreignishandlerDocument.onselectionchange
undHTMLInputElement.onselectstart
wurden hinzugefügt (Firefox-Bug 571294). Dasselectionchange
-Ereignis wird auf demDocument
ausgelöst, wenn das zugehörigeSelection
-Objekt betroffen ist, oder auf dem spezifischenHTMLInputElement
oderHTMLTextAreaElement
(Firefox-Bug 1196479). Diese Funktion wird durch die Präferenzdom.select_events.enabled
gesteuert, die standardmäßig auffalse
eingestellt ist, außer in Nightly. - Unterstützung für
MouseEvent.offsetX
undMouseEvent.offsetY
wurde 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.
Netzwerk
Keine Änderung.
Sicherheit
- Der Zugriff auf Web Storage (d.h.
localStorage
undsessionStorage
) von 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 die Beta- und Release-Versionen in der nächsten Version (Firefox 44) stattfindet.
- Subressourcen-Integrität wurde für
<script>
und<link>
implementiert, die auf Stylesheets verlinken (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
- Im Hinblick auf zukünftige Veröffentlichungen, die auf Multi-Process-Inhalte umschalten, können NPAPI-Plugins nicht mehr im selben Prozess wie der Seiteninhalt ausgeführt werden. Die Präferenzen, die mit
dom.ipc.plugins
beginnen, werden nicht mehr verwendet.
Sonstiges
Keine Änderung.