Firefox 42 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 42 wurde am 3. November 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 Add-on-Entwickler.
Änderungen für Webentwickler
Entwicklertools
Höhepunkte:
- Debugging von Firefox für Android über WLAN
- Konfiguration des Firefox OS Simulators in WebIDE
- CSS-Filter-Voreinstellungen
Alle zwischen Firefox 41 und Firefox 42 behobenen Devtools-Fehler.
CSS
- Vertikale
writing-mode
wird jetzt mit rtl-Skripten unterstützt (Firefox-Bug 1131451). - Die Werte von
caption-side
beziehen sich jetzt relativ auf die Tabelle und ändern ihre tatsächliche Bedeutung gemäß ihremwriting-mode
-Wert (Firefox-Bug 1202993). - Nicht-standardmäßige Eigenschaften wie
-moz-margin-start
sind nun Aliase ihrer standardmäßigen Entsprechungen (margin-inline-start
, …). Zuvor war es umgekehrt. Dies wirkt sich auf den vonCSSStyleDeclaration.cssText
zurückgegebenen Wert und die Iteration der Eigenschaften in einer Stilregel aus, die beide die kanonische Form verwenden (Firefox-Bug 1118103). - Die präfixierte Version von CSS-Gradienten kann deaktiviert werden, indem die Präferenz
layout.css.prefixes.gradients
auffalse
gesetzt wird. - Mehrere alte Fehler mit
float
und dem Verhalten von Margen-Kollaps wurden behoben (Firefox-Bug 478834, Firefox-Bug 538194 und Firefox-Bug 451791).
HTML
- Experimentelle Unterstützung für das
referrer
-Attribut von<img>
(Firefox-Bug 1166910),<iframe>
(Firefox-Bug 1175736),<a>
und<area>
(Firefox-Bug 1174913) wurde hinzugefügt. Es gibt standardmäßig keinen Effekt, danetwork.http.enablePerElementReferrer
standardmäßig auffalse
steht.
JavaScript
- Das
Reflect
-Objekt wurde implementiert (Firefox-Bug 987514). - Die Implementierung der
Proxy
handler.ownKeys()
-Falle wurde aktualisiert, um der finalen ES2015-Spezifikation zu entsprechen (Firefox-Bug 1049662). - Aufrufe von
Map
,Set
, oderWeakMap
ohnenew
werfen nun einenTypeError
(Firefox-Bug 1083752).
Schnittstellen/APIs/DOM
DOM & HTML DOM
-
Bilder mit einer
id
werden nicht mehr als Eigenschaft derWindow
-Schnittstelle aufgeführt:<img id="login">
ist nicht mehr alswindow.login
zugänglich. Dieses Verhalten wurde in Firefox 26 eingeführt und wurde entfernt, um einer späteren Änderung in der Spezifikation zu entsprechen (Firefox-Bug 959992). -
MouseEvent.offsetX
undMouseEvent.offsetY
wurden hinzugefügt (Firefox-Bug 69787). -
Die
HTMLInputElement
-Schnittstelle wurde experimentell erweitert, um das Hochladen von Verzeichnissen zu verwalten (Firefox-Bug 1164310). Diese vier Mitglieder können sichtbar gemacht werden, indem diedom.input.dirpicker
Präferenz auftrue
gesetzt wird:HTMLInputElement.directory
HTMLInputElement.isFilesAndDirectoriesSupported
HTMLInputElement.getFilesAndDirectories()
HTMLInputElement.chooseDirectory()
-
Die
Directory
-Schnittstelle wurde experimentell erweitert (Firefox-Bug 1177688). Die beiden MitgliederDirectory.path
undDirectory.getContents
können sichtbar gemacht werden, indem diedom.input.dirpicker
Präferenz auftrue
gesetzt wird. -
Das
HTMLMediaElement.mozSrcObject
wurde inHTMLMediaElement.srcObject
umbenannt (Firefox-Bug 1175523).
Service Workers
Request.context
wurde entfernt (Firefox-Bug 1188062).- Die Push API wurde standardmäßig auf Firefox für Desktop aktiviert (Firefox-Bug 1153499), aber nur in den Kanälen Nightly/Dev Edition/Beta. Sie ist im Release-Kanal standardmäßig deaktiviert, bis die Benutzeroberfläche und Debugging-Funktionen vollständig implementiert sind (Firefox-Bug 1207875). Sie können sie dennoch aktivieren, indem Sie die
dom.push.enabled
Präferenz inabout:config
einschalten. - Die Methode
PushManager.hasPermission()
wurde in der Spezifikation als veraltet erklärt und durch diePushManager.permissionState()
Methode ersetzt. Firefox hat seine Implementierung dahingehend aktualisiert (Firefox-Bug 1183853). - Änderungen in Bezug auf Service Worker für die Notifications API wurden implementiert (Firefox-Bug 1114554), sind aber in dieser Version deaktiviert.
Web Animations API
Unsere experimentelle Implementierung der Web Animations API wurde erweitert, um Folgendes zu unterstützen:
- Die
AnimationPlayer.playbackRate
Eigenschaft (Firefox-Bug 1127380). - Die
CSSAnimation
undCSSTransition
Schnittstellen (Firefox-Bug 1178186). - Die
Animation.reverse()
Methode (Firefox-Bug 1150808). - Die
AnimationPlaybackEvent
Schnittstelle wurde hinzugefügt. Zudem werdencancel
undfinish
jetzt aufAnimation
ausgelöst (Firefox-Bug 1178664).
Web Components
Unsere experimentelle Implementierung von Shadow DOM wurde modifiziert:
- Beim Versuch,
Node.cloneNode()
auf einemShadowRoot
aufzurufen, wird jetzt eineDataCloneError
-Ausnahme ausgelöst (Firefox-Bug 1176757). - Beim Aufruf von
Document.importNode()
mit einemShadowRoot
als Argument wird jetzt eineNotSupportedError
DOMException
ausgelöst (Firefox-Bug 1177914). - Beim Aufruf von
Document.adoptNode()
mit einemShadowRoot
als Argument wird jetzt eineHierarchyRequestError
DOMException
ausgelöst (Firefox-Bug 1177991).
WebGL
- WebGL2
WebGLTransformFeedback
wurde implementiert (Firefox-Bug 1048724). - Um einen WebGL2-Kontext zu erhalten, nimmt
HTMLCanvasElement.getContext()
jetztwebgl2
anstelle vonexperimental-webgl2
(Firefox-Bug 1187174).
WebRTC
- Der
options
-Datentyp vonRTCPeerConnection.createOffer()
,RTCOfferOptions
, wurde aktualisiert, um die Spezifikation näher zu erfüllen. Unter anderem basiert er jetzt auf demRTCOfferAnswerOptions
-Wörterbuch, das dievoiceActivityDetection
-Option bietet. - Das
RTCAnswerOptions
-Wörterbuch wurde hinzugefügt. Dies ist der Typ, der für denoptions
-Parameter voncreateAnswer()
verwendet wird. - Der
RTCICECandidatePairStats.mozPriority
wurde inRTCICECandidatePairStats.priority
umbenannt (Firefox-Bug 1184426).
Neue APIs
- Das
ImageBitmap
Interface, die MethodenWindow.createImageBitmap()
undWorkerGlobalScope.createImageBitmap()
wurden implementiert. Sie sind in normalen Fensterskripten und in Webworkern verfügbar und erlauben eine effiziente Übertragung von Bildern zwischen Fenster- und Worker-Kontexten (Firefox-Bug 1044102).
Verschiedenes
- Das
IDBCursorWithValue
-Interface ist jetzt in Webworkern verfügbar (Firefox-Bug 1188115). - Error-Events, die in Webworkern gesendet werden, sprudeln nicht mehr (Firefox-Bug 1188141).
- Media Source Extensions (MSE) wurden für alle Webseiten aktiviert und nicht mehr nur für eine weiße Liste von Seiten (Firefox-Bug 1185611).
- Der nicht standardisierte und veraltete
Window.mozRequestAnimationFrame()
wurde entfernt (Firefox-Bug 909154). Verwenden Sie stattdessen die standardmäßigeWindow.requestAnimationFrame()
. - Sprachsynthese (Text-zu-Sprache) wurde in Firefox Desktop für Windows implementiert und ist hinter der
media.webspeech.synth.enabled
-Flagge inabout:config
versteckt (Firefox-Bug 1003457). Weitere Informationen finden Sie in der Web Speech API.
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
- Firefox 41 und frühere Versionen akzeptierten fälschlicherweise undefinierte oder ungültige Pseudo-Header-Felder in HTTP/2-Antworten. Dies wurde behoben, und das einzige Pseudo-Header-Feld, das ab Firefox 42 akzeptiert wird, ist das :status entsprechend der Spezifikation. Antwort-Header, die willkürliche Felder enthalten, gelten als fehlerhaft (Firefox-Bug 1136727).
Netzwerk
- Die CSP-Direktive
upgrade-insecure-requests
wurde implementiert (Firefox-Bug 1139297).
Sicherheit
- EV-Zertifikate mit einer Gültigkeit von mehr als 39 Monaten werden nun als DV-Zertifikate betrachtet und behandelt (Firefox-Bug 1145679).
Änderungen für Add-on- und Mozilla-Entwickler
Schnittstellen
nsIContentPolicy
- Die Konstante
TYPE_EMBED
wurdensIContentPolicy
hinzugefügt, um es Gecko-Interna und Add-on-Code zu ermöglichen, verschiedene Arten von Anfragen besser zu unterscheiden. Zuvor wurdeTYPE_OBJECT
für diese Fälle verwendet (Firefox-Bug 1148030). - Ebenso wurde die Konstante
TYPE_SUBDOCUMENT
inTYPE_FRAME
undTYPE_IFRAME
aufgeteilt (Firefox-Bug 1148044).
XUL
Keine Änderung.
JavaScript-Code-Module
Keine Änderung.
XPCOM
Keine Änderung.
Sonstiges
Keine Änderung.
Ältere Versionen
- 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
- Firefox 18 für Entwickler
- Firefox 17 für Entwickler
- Firefox 16 für Entwickler
- Firefox 15 für Entwickler
- Firefox 14 für Entwickler
- Firefox 13 für Entwickler
- Firefox 12 für Entwickler
- Firefox 11 für Entwickler