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 nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie für Entwickler von Add-ons.
Änderungen für Webentwickler
Entwicklerwerkzeuge
Hauptmerkmale:
- Server-Logging in der Web-Konsole
- Schnelles Auffinden der Regel, die eine CSS-Deklaration überschrieben hat
- Kontextmenüeintrag "Im Konsole verwenden" im Inspector
- Option "Strict" für Filterung in der Regeln-Ansicht
- 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)
- Neue Sidebar-Oberfläche für WebIDE
Alle Devtools-Bugs, die zwischen Firefox 42 und Firefox 43 behoben wurden.
CSS
- Unterstützung für die standardisierte, nicht-präfixierte Version von
hyphens
wurde implementiert (Firefox-Bug 953408). - Die Kurzform
font
wurde aktualisiert, umfont-stretch
-Werte zu akzeptieren (Firefox-Bug 1057680). - Um der neuesten Spezifikationsevolution zu entsprechen, wählt die
:fullscreen
Pseudo-Klasse jetzt den gesamten Stapel von Elementen im Vollbildmodus aus und nicht nur das oberste Element (Firefox-Bug 1199522). - Die veralteten SVG-Werte für
writing-mode
,lr
,lr-tb
,rl
,tb
undtb-rl
, wurden 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, ist die intrinsische Dimension des Bildes auf die des größten Frames und nicht mehr auf die des kleinsten Frames gesetzt Firefox-Bug 1201796. - Der Wert des Ansichtsfensters des Dokuments (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 der ES2015-Spezifikation zu entsprechen, haben Pfeilfunktionen kein eigenes
arguments
-Objekt mehr. Dasarguments
-Objekt ist jetzt lexikalisch gebunden (aus der äußeren Funktion geerbt). In den meisten Fällen sind Rest-Parameter eine gute Alternative(...args) => args[i]
, siehe Firefox-Bug 889158. - Das arguments-Objekt ist jetzt in Verbindung mit Rest-Parametern erlaubt (Firefox-Bug 1133298).
- Ab jetzt wird ein zugeordnetes
arguments
-Objekt in nicht-strikten Funktionen nur bereitgestellt, wenn die Funktion keine Rest-Parameter, Standardparameter oder destructurierte 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 sprachabhängige Sortierung wurde hinzugefügt, das die Erstellung von Indizes mit einer angegebenen Sprache ermöglicht, die dann verwendet werden können, um Daten gemäß den Regeln dieser Sprache zu sortieren (Firefox-Bug 871846). Dies ist eine nicht standardmäßige Firefox-spezifische Funktion.
Service Workers
- Gemäß der Spezifikation wird Firefox nun einen
InvalidStateError
werfen, wennExtendableEvent.waitUntil()
außerhalb desExtendableEvent
-Handlers aufgerufen wird; außerdem werden mehrere Aufrufe vonwaitUntil()
nun stapeln, und die resultierenden Promises werden der Liste der extend lifetime 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 standardmäßige Einschränkung für den Stil der Optionsliste für
RTCOfferOptions
wurde abgelehnt 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 Spezifikationsevolution definiert (Firefox-Bug 1050749). - Der
User-Agent
-Header ist nicht länger in der Liste der verbotenen Header-Namen, so dass er jetzt in einem FetchHeaders
-Objekt, über XHRXMLHttpRequest.setRequestHeader()
,... gesetzt werden kann (Firefox-Bug 1188932). - Der
MediaRecorder()
-Konstruktor kann jetzt ein Options-Dictionary als Parameter akzeptieren, mit dem Sie benutzerdefinierte Bitraten für die Audio-/Videoaufnahme 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: Die unpräfixierte
Screen.orientation
und dieScreenOrientation
-Schnittstelle sind jetzt verfügbar (Firefox-Bug 1131470). Die nicht standardmäßigeScreen.mozOrientation
,Screen.onmozorientationchange
,Screen.mozLockOrientation()
undScreen.mozUnlockOrientation()
werden in Zukunft entfernt. - Unter Linux, wie unter Windows, gibt
Event.timeStamp
jetzt einenDOMHighResTimeStamp
zurück (Firefox-Bug 1026803). - Experimentelle Unterstützung für
Selection
-Ereignisseselectionchange
undselectstart
, sowie dieDocument.onselectionchange
undHTMLInputElement.onselectstart
-Ereignis-Handler-Eigenschaft wurde 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
gesetzt ist, außer auf 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 jetzt verweigert, wenn der Benutzer Drittanbieter-Cookies deaktiviert hat (Firefox-Bug 536509). - Diese Whitelist wurde sogar in den 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) erfolgen wird.
- Die Subresource-Integrität 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 umsteigen werden, können NPAPI-Plugins nicht mehr im gleichen Prozess wie die Seiteninhalte ausgeführt werden. Die mit
dom.ipc.plugins
beginnenden Präferenzen werden nicht mehr verwendet.
Sonstiges
Keine Änderung.
Ältere Versionen
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers