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
Entwicklerwerkzeuge
Highlights:
- Debugging von Firefox für Android über Wi-Fi
- Konfiguration des Firefox OS Simulators in WebIDE
- CSS-Filtervorlagen
Alle behobenen Devtools-Bugs zwischen Firefox 41 und Firefox 42.
CSS
- Vertikaler
writing-mode
wird jetzt mit RTL-Skripten unterstützt (Firefox-Bug 1131451). - Die Werte von
caption-side
sind jetzt relativ zur Tabelle und ändern ihre tatsächliche Bedeutung gemäß ihremwriting-mode
-Wert Firefox-Bug 1202993. - Nicht standardisierte Eigenschaften wie
-moz-margin-start
sind jetzt Aliasnamen ihres standardmäßigen Gegenstücks (margin-inline-start
, …). Zuvor war es umgekehrt. Dies betrifft den Wert, der vonCSSStyleDeclaration.cssText
zurückgegeben wird, sowie die Iteration der Eigenschaften in einer Stilregel, die beide die kanonische Form verwenden (Firefox-Bug 1118103). - Die vorgegebene Version von CSS-Gradienten kann durch Setzen der Einstellung
layout.css.prefixes.gradients
auffalse
deaktiviert werden. - Mehrere alte Fehler mit
float
und dem Zusammenfallen des Randverhaltens wurden behoben (Firefox-Bug 478834, Firefox-Bug 538194 und Firefox-Bug 451791).
HTML
- Experimentelle Unterstützung für das
referrer
Attribut des<img>
(Firefox-Bug 1166910),<iframe>
(Firefox-Bug 1175736),<a>
und<area>
(Firefox-Bug 1174913) wurde hinzugefügt. Standardmäßig gibt es 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 letzten ES2015-Spezifikation zu entsprechen (Firefox-Bug 1049662). - Das Aufrufen von
Map
,Set
oderWeakMap
ohnenew
löst jetzt einenTypeError
aus (Firefox-Bug 1083752).
Schnittstellen/APIs/DOM
DOM & HTML DOM
-
Bilder mit einer
id
werden nicht mehr als Eigenschaft derWindow
-Schnittstelle aufgelistet:<img id="login">
ist nicht mehr alswindow.login
zugänglich. Dieses Verhalten wurde in Firefox 26 eingeführt und 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 den Upload von Verzeichnissen zu verwalten (Firefox-Bug 1164310). Diese vier Mitglieder können durch Setzen derdom.input.dirpicker
-Einstellung auftrue
freigelegt werden: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 durch Setzen derdom.input.dirpicker
-Einstellung auftrue
freigelegt werden. -
HTMLMediaElement.mozSrcObject
wurde inHTMLMediaElement.srcObject
umbenannt (Firefox-Bug 1175523).
Service Workers
Request.context
wurde entfernt (Firefox-Bug 1188062).- Die Push-API wurde standardmäßig in Firefox für Desktop aktiviert (Firefox-Bug 1153499), aber nur in den Nightly/Dev Edition/Beta-Kanälen. Sie wird standardmäßig im Release-Kanal deaktiviert, bis Verbrauchererfahrung und Debugging-Funktionen ordnungsgemäß implementiert wurden (Firefox-Bug 1207875). Sie können sie trotzdem aktivieren, indem Sie die Einstellung
dom.push.enabled
inabout:config
aktivieren. - Die Methode
PushManager.hasPermission()
ist in der Spezifikation veraltet und wurde durch die MethodePushManager.permissionState()
ersetzt. Firefox hat seine Implementierung entsprechend aktualisiert (Firefox-Bug 1183853). - Service-Worker-bezogene Erweiterungen der Notifications API wurden implementiert (Firefox-Bug 1114554), sind jedoch in dieser Version deaktiviert.
Web Animations API
Unsere experimentelle Implementierung der Web Animations API wurde erweitert, um folgende Funktionen zu unterstützen:
- Die Eigenschaft
AnimationPlayer.playbackRate
(Firefox-Bug 1127380). - Die Schnittstellen
CSSAnimation
undCSSTransition
(Firefox-Bug 1178186). - Die Methode
Animation.reverse()
(Firefox-Bug 1150808). - Die
AnimationPlaybackEvent
-Schnittstelle wurde hinzugefügt undcancel
undfinish
werden jetzt beiAnimation
ausgelöst (Firefox-Bug 1178664).
Web Components
Unsere experimentelle Implementierung des Shadow DOM wurde modifiziert:
- Beim Versuch,
Node.cloneNode()
auf einemShadowRoot
aufzurufen, wird eineDataCloneError
-Ausnahme ausgelöst (Firefox-Bug 1176757). - Beim Aufrufen von
Document.importNode()
mit einemShadowRoot
als Argument wird jetzt eineNotSupportedError
-DOMException
ausgelöst (Firefox-Bug 1177914). - Beim Aufrufen 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
stattexperimental-webgl2
(Firefox-Bug 1187174).
WebRTC
- Der Optionsdatentyp von
RTCPeerConnection.createOffer()
,RTCOfferOptions
, wurde aktualisiert, um enger an die Spezifikation anzupassen. Unter anderem basiert er jetzt auf demRTCOfferAnswerOptions
-Wörterbuch, das dievoiceActivityDetection
-Option bereitstellt. - Das
RTCAnswerOptions
-Wörterbuch wurde hinzugefügt. Dies ist der Typ, der für denoptions
-Parameter beicreateAnswer()
verwendet wird. RTCICECandidatePairStats.mozPriority
wurde inRTCICECandidatePairStats.priority
umbenannt (Firefox-Bug 1184426).
Neue APIs
- Die
ImageBitmap
-Schnittstelle, dieWindow.createImageBitmap()
-Methode und dieWorkerGlobalScope.createImageBitmap()
-Methode wurden implementiert. Sie sind in regulären Fenster-Skripten und in Web-Arbeitern verfügbar und ermöglichen das effiziente Posten von Bildern zwischen Fenster- und Arbeiter-Kontexten (Firefox-Bug 1044102).
Verschiedenes
- Die
IDBCursorWithValue
-Schnittstelle ist jetzt in Web-Arbeitern verfügbar (Firefox-Bug 1188115). - Fehlerereignisse, die in Web-Arbeitern gesendet werden, blubbern nicht mehr (Firefox-Bug 1188141).
- Media Source Extensions (MSE) wurden für alle Websites aktiviert und nicht mehr nur für eine Whitelist von Websites (Firefox-Bug 1185611).
- Die nicht standardisierte und veraltete
Window.mozRequestAnimationFrame()
wurde entfernt (Firefox-Bug 909154). Verwenden Sie stattdessen die standardisierteWindow.requestAnimationFrame()
. - Sprachausgabe (Text-zu-Sprache) wurde in Firefox Desktop für Windows implementiert, verborgen hinter der
media.webspeech.synth.enabled
-Einstellung inabout:config
(Firefox-Bug 1003457). Weitere Informationen finden Sie unter 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 ist nun behoben, und das einzige Pseudo-Header-Feld, das von Firefox 42 akzeptiert wird, ist der :status gemäß der Spezifikation. Antwortheader, die beliebige Felder enthalten, werden als fehlerhaft betrachtet. (Firefox-Bug 1136727)
Netzwerk
- Die CSP-Direktive
upgrade-insecure-requests
wurde implementiert (Firefox-Bug 1139297).
Sicherheit
- EV-Zertifikate mit einer Gültigkeit von über 39 Monaten werden jetzt als DV-Zertifikate betrachtet und behandelt (Firefox-Bug 1145679).
Änderungen für Add-on- und Mozilla-Entwickler
Schnittstellen
nsIContentPolicy
- Die Konstante
TYPE_EMBED
wurde zunsIContentPolicy
hinzugefügt, um es Gecko-Interna und Add-on-Code zu ermöglichen, verschiedene Anfragetypen besser zu differenzieren. 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