Firefox 44 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 44 wurde am 26. Januar 2016 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
HTML
- `` folgt nun dem
crossorigin
Attribut (Firefox Bug 1214819).
CSS
-
position: fixed;
erzeugt nun immer einen neuen Stacking-Kontext (Firefox Bug 1179288). -
Die Unterstützung von
unicode-range
wurde standardmäßig aktiviert (Firefox Bug 1119062). -
Unsere experimentelle Implementierung der CSS Writing Modes wurde aktualisiert, um der neuesten Spezifikation zu entsprechen:
- Der Wert
sideways
dertext-orientation
-Eigenschaft wurde implementiert undsideways-right
wurde zu einem Alias davon gemacht (Firefox Bug 1193488). - Die Werte
sideways-rl
undsideways-lr
derwriting-mode
-Eigenschaft (Firefox Bug 1193488 und Firefox Bug 1193519).
- Der Wert
-
Die nicht standardmäßigen Eigenschaften
-moz-math-display
und-moz-window-shadow
sind nicht mehr aus Webinhalten verfügbar (Firefox Bug 1207002, Firefox Bug 1211040 und Firefox Bug 1212607). -
Die
font-style
-Eigenschaft unterscheidet nun zwischenoblique
unditalic
, wenn beide Varianten verfügbar sind (Firefox Bug 543715). -
Dennoch nicht unterstützt, wurden die Eigenschaften
marks
,orphans
,page
,size
undwidows
geparst und@supports
hat sie fälschlicherweise als unterstützt gemeldet; dies wurde behoben und die Eigenschaften werden nicht mehr geparst oder als unterstützt markiert (Firefox Bug 1215702). -
Der interne Wert
-moz-mac-unified-toolbar
wurde aus den möglichen Werten für dieappearance
-Eigenschaft entfernt (Firefox Bug 1206468). -
Mehrere
-webkit
-Präfix-Eigenschaften und -Werte wurden hinzugefügt, um die Web-Kompatibilität zu verbessern, hinter der Präferenzlayout.css.prefixes.webkit
, die standardmäßig auffalse
steht (Firefox Bug 837211):-webkit-animation
-webkit-animation-delay
-webkit-animation-direction
-webkit-animation-duration
-webkit-animation-fill-mode
-webkit-animation-iteration-count
-webkit-animation-name
-webkit-animation-play-state
-webkit-animation-timing-function
-webkit-text-size-adjust
-webkit-transform
-webkit-transform-origin
-webkit-transform-style
-webkit-transition
-webkit-transition-delay
-webkit-transition-duration
-webkit-transition-property
-webkit-transition-timing-function
-webkit-border-radius
-webkit-border-top-left-radius
-webkit-border-top-right-radius
-webkit-border-bottom-left-radius
-webkit-border-bottom-right-radius
-webkit-appearance
-webkit-background-clip
-webkit-background-origin
-webkit-background-size
-webkit-border-image
-webkit-box-shadow
-webkit-box-sizing
-webkit-user-select
-webkit-linear-gradient()
Firefox Bug 1210575-webkit-radial-gradient"()
Firefox Bug 1210575-webkit-repeating-linear-gradient()
Firefox Bug 1210575-webkit-repeating-radial-gradient()
Firefox Bug 1210575
JavaScript
Neue APIs
Symbol.toPrimitive
,Symbol.prototype[Symbol.toPrimitive]()
, undDate.prototype[Symbol.toPrimitive]()
wurden implementiert (Firefox Bug 1054756).
Änderungen
- Die
let
undconst
Bindungen auf globaler Ebene wurden gemäß ES2015-Semantik umgesetzt. Siehe Firefox Bug 589199 und den Blogeintrag "Breaking changes in let and const in Firefox Nightly 44". Außerdem istlet
nun im Standard-Web-JavaScript (strict und non-strict) verfügbar und erfordert keine Versionsaktivierung mehr (Firefox Bug 932517). - Wenn Konstruktoren von typisierten Arrays (wie
Int8Array
) undArrayBuffer
als Funktion ohne dennew
-Operator aufgerufen werden, wird nun eineTypeError
gemäß der ES2015-Spezifikation ausgelöst (Firefox Bug 980945, Firefox Bug 1214936). - Das
RegExp
-Sticky-Flag folgt nun dem ES2015-Standard für verankerte Sticky-Reguläre-Ausdrücke (Firefox Bug 773687). - Die JavaScript-Shell (SpiderMonkey's REPL) verwendet nun standardmäßig die webkompatible JS-Version (und nicht mehr JS1.7+) (Firefox Bug 1192329).
Entfernungen
- Die Unterstützung für die nicht-standardmäßigen
let
Blöcke wurde entfernt (Firefox Bug 1167029. - Die nicht-standardmäßige und veraltete Eigenschaft
Object.prototype.__noSuchMethod__
wurde entfernt (Firefox Bug 683218).
Schnittstellen/APIs/DOM
DOM & HTML DOM
- Für die Kompatibilität mit bestimmten vorhandenen Websites wurde die Eigenschaft
Document.charset
als Alias fürDocument.characterSet
implementiert (Firefox Bug 647621). - Die Unterstützung der Methode
window.sidebar.addSearchEngine()
, die es Web-Seiten ermöglichte, die Installation eines Sherlock-Plugins zu initiieren, wurde eingestellt und es wird jetzt nur noch eine Warnung in der Web-Konsole ausgegeben (Firefox Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden Aufforderungen, die in
beforeunload
-Ereignissen von Seiten, mit denen nicht interagiert wurde, angefordert wurden, nicht mehr angezeigt (Firefox Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()
wurde aus Rückwärtskompatibilitätsgründen wieder implementiert (Firefox Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubset
wurde entfernt (Firefox Bug 801545). - Zur Kompatibilität mit bestehenden Websites wurden die
Window.orientation
Eigenschaft und dasorientationchange
Ereignis implementiert (Firefox Bug 920734). - Ein
<iframe>
mit expliziter Vollbildanforderung sollte nicht implizit den Vollbildmodus verlassen (Firefox Bug 1187801). - Die Ereignisse
mouseover
,mouseout
,mouseenter
,mouseleave
,pointermove
,pointerover
,pointerout
,pointerenter
undpointerleave
werden jetzt für deaktivierte Formularelemente ausgelöst (Firefox Bug 218093). - Die Methode
Element.webkitMatchesSelector()
wurde hinzugefügt (Firefox Bug 1216193), um die Interoperabilität zu verbessern. - Um der Spezifikation zu entsprechen, konvertiert die Methode
Document.createAttribute()
nun die Eingabe in Kleinbuchstaben (Firefox Bug 1176313). - Die nicht-standardmäßige
dialog
-Funktion fürWindow.open()
ist nicht mehr für Webinhalte verfügbar. Sie ist immer noch für Erweiterungen und anderen Code mit Chrome-Berechtigungen verfügbar (Firefox Bug 1095236).
Canvas
-
Eine neue experimentelle
OffscreenCanvas
API, die es ermöglicht, Rendering-Kontexte (wie WebGL) in Web Workers auszuführen, wurde implementiert. Um diese experimentelle API zu verwenden, setzen Siegfx.offscreencanvas.enabled
auftrue
in about:config (Firefox Bug 709490). Diese API umfasst:- Das
OffscreenCanvas
Interface, HTMLCanvasElement.transferControlToOffscreen()
, undWebGLRenderingContext.commit()
.- Mehrere WebGL-Schnittstellen sind jetzt auch im Worker-Kontext verfügbar, wenn diese API aktiviert ist.
- Das
WebGL
- Uniform Buffer Objects wurden implementiert (Firefox Bug 1048747).
IndexedDB
- Die Funktionen
IDBIndex.getAll()
undIDBIndex.getAllKeys()
sowie deren Gegenstücke aufIDBObjectStore
sind jetzt standardmäßig verfügbar (Firefox Bug 1196841).
Service Workers
- Die
ServiceWorkerMessageEvent
undExtendableMessageEvent
Schnittstellen wurden implementiert (Firefox Bug 1143717 und Firefox Bug 1207068). Headers
Objekte unterstützen nun einen Paar-Iterator, was bedeutet, dass die MethodenHeaders.entries()
,Headers.keys()
undHeaders.values()
jetzt verfügbar sind;Symbol.iterator
gibt nun auch den Standard-Iterator für sie zurück (Firefox Bug 1108181).- Die
XMLHttpRequest
API wurde bei Service Workern deaktiviert (Firefox Bug 931243). - Das Interface
FetchEvent
erweitert jetztExtendableEvent
, was ihm Zugriff auf die MethodeExtendableEvent.waitUntil()
gibt. (Firefox Bug 1214772). - Nach einer aktuellen Änderung in der Spezifikation wurde
FetchEvent.client
entfernt (Firefox Bug 1218135). - Um der neuesten Spezifikation zu entsprechen, wurde
ServiceWorkerContainer.onreloadpage
entfernt (Firefox Bug 1218139). - Die Ereignishandler
ServiceWorkerGlobalScope.onbeforeevicted
undServiceWorkerGlobalScope.onevicted
wurden entfernt, da sie nicht der Spezifikation folgten. Sie werden in Zukunft wieder eingeführt, aber ihre Entfernung erlaubt es, dass die Funktionsüberprüfung wie erwartet funktioniert (Firefox Bug 1218142). - Im
FetchEvent()
Konstruktor, wenn dasisReload
-Mitglied nicht im Options-Dictionary vorhanden ist, wird es jetzt standardmäßig auffalse
gesetzt (Firefox Bug 1216401). - Die
Client.frameType
Eigenschaft wird jetzt auf dem richtigen Interface implementiert; vorher war sie aufWindowClient
(Firefox Bug 1218146). - Wenn AppCache zur Bereitstellung von Offline-Unterstützung für eine Seite verwendet wird, wird jetzt eine Warnnachricht in der Konsole angezeigt, die Entwicklern rät, stattdessen Service Workers zu verwenden (Firefox Bug 1204581.)
- Service Workers wurden standardmäßig in Gecko aktiviert.
WebRTC
-
WebRTC-Schnittstellen wurden unpräfixiert (Firefox Bug 1155923). Insbesondere:
mozRTCPeerConnection
ist jetztRTCPeerConnection
.mozRTCIceCandidate
ist jetztRTCIceCandidate
.mozRTCSessionDescription
ist jetztRTCSessionDescription
.
-
Die
RTCDataChannel.bufferedAmountLowThreshold
Eigenschaft sowie dasbufferedamountlow
Ereignis und dessen Ereignishandler wurden implementiert (Firefox Bug 1178091). -
Das Attribut
RTCPeerConnection.canTrickleIceCandidates
wurde hinzugefügt, die nicht-standardmäßige MethodeRTCPeerConnection.updateIce()
entfernt (Firefox Bug 1209744). -
Die Schnittstelle
MediaStream
unterstützt jetzt die MethodenMediaStream.addTrack()
undMediaStream.removeTrack()
(Firefox Bug 1103188). -
Der Konstruktor
MediaStream()
wurde implementiert (Firefox Bug 1070216). -
Die Unterstützung für die nicht-standardisierte Optionsliste im Constraint-Stil für
RTCOfferOptions
wurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas-API in Workern wurde eingeführt:
OffscreenCanvas
undHTMLCanvasElement.transferControlToOffscreen()
sind hinter dergfx.offscreencanvas.enabled
-Präferenz verfügbar, momentan standardmäßig deaktiviert (Firefox Bug 709490). - Die Text2Speech-API, Teil der Web Speech API, hat jetzt ein OS X-Backend. Aber diese ist standardmäßig deaktiviert (Firefox Bug 1003452).
Verschiedenes
URLSearchParams
Objekte unterstützen nun einen Paar-Iterator, was bedeutet, dass die MethodenURLSearchParams.entries()
,URLSearchParams.keys()
undURLSearchParams.values()
jetzt verfügbar sind;Symbol.iterator
gibt nun auch den Standard-Iterator für sie zurück (Firefox Bug 1085284).FormData
Objekte unterstützen nun einen Paar-Iterator, was bedeutet, dass die MethodenFormData.entries()
,FormData.keys
undFormData.values()
jetzt verfügbar sind;Symbol.iterator
gibt nun auch den Standard-Iterator für sie zurück (Firefox Bug 1127703).- Wenn
XMLHttpRequest.send()
mit einem HTML-Dokument verwendet wird, verwendet es jetzttext/html
stattapplication/xml
(Firefox Bug 918771). - Sprachsynthese (Text-to-Speech) wurde in Firefox für Desktop für Mac und Linux implementiert, hinter dem
media.webspeech.synth.enabled
-Flag inabout:config
verborgen (Firefox Bug 1003452, Firefox Bug 1003464.) Weitere Informationen finden Sie in der Web Speech API. - Elemente innerhalb eines
<frame>
oder eines<object>
können nicht mehr im Vollbildmodus angezeigt werden (Firefox Bug 1212299). - Die Überprüfung von WOFF-Schriften ist etwas strenger geworden, was dazu führt, dass mehr falsche Schriften abgelehnt werden, diese Überprüfung wird in Firefox 46 etwas weniger strikt (Firefox Bug 1193050 und Firefox Bug 1244693).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
- Unterstützung für den Brotli Algorithmus wurde hinzugefügt und sowohl
Accept-Encoding
als auchContent-Encoding
Kopfzeilen unterstützen jetzt denbr
Wert (Firefox Bug 366559 und Firefox Bug 1211916). - Falsche Unterstützung von HTTP/2 Überschriften, die Zeilenumbrüche (
'/n'
) enthalten, wurde entfernt, da die Spezifikation dies anders als bei HTTP/1 nicht zulässt (Firefox Bug 1197847).
Netzwerk
Keine Änderung.
Sicherheit
- RC4 ist jetzt auch standardmäßig in den Beta- und Release-Versionen des Browsers deaktiviert (Firefox Bug 1201025) und die Whitelist ist jetzt standardmäßig leer (Firefox Bug 1215796).
Änderungen für Add-on- und Mozilla-Entwickler
Schnittstellen
Keine Änderung.
XUL
Keine Änderung.
JavaScript-Code-Module
LIKE
-Unterstützung wurde zu Sqlite.jsm hinzugefügt (Firefox Bug 1188760).- Snackbars.jsm Modul wurde zu Firefox für Android hinzugefügt (Firefox Bug 1215026)
XPCOM
- Das
nsIDOMWindow
Interface ist jetzt leer. Seine Inhalte wurden entweder nicht mehr verwendet, an anderer Stelle verschoben oder nur von C++ genutzt. Die Objekte, die jetzt in C++-Code verfügbar sind, befinden sich im nsPIDOMWindow Interface (Firefox Bug 1216401).
Sonstiges
- Aufgrund von Änderungen in Firefox 44 (Bug 1202902) funktionieren Add-ons, die mit cfx gepackt wurden, nicht mehr. Um Ihr Add-on wieder kompatibel zu machen, verwenden Sie bitte jpm. Schritte zur Migration von cfx zu jpm finden Sie hier.
Ältere Versionen
- Firefox 43 für Entwickler
- Firefox 42 für Entwickler
- 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