Firefox 44 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie 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 für Add-on-Entwickler.
Änderungen für Webentwickler
Entwickler-Tools
HTML
- `` beachtet jetzt das
crossorigin
Attribut (Firefox Bug 1214819).
CSS
-
position: fixed;
erzeugt jetzt immer einen neuen Stacking-Kontext (Firefox Bug 1179288). -
Die Unterstützung von
unicode-range
ist standardmäßig aktiviert (Firefox Bug 1119062). -
Unsere experimentelle Implementierung der CSS-Schreibmodi wurde aktualisiert, um den neuesten Spezifikationen 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 standardisierten Eigenschaften
-moz-math-display
und-moz-window-shadow
sind nicht mehr aus Web-Inhalten zugänglich (Firefox Bug 1207002, Firefox Bug 1211040 und Firefox Bug 1212607). -
Die
font-style
Eigenschaft unterscheidet jetzt zwischenoblique
unditalic
, wenn beide Varianten verfügbar sind (Firefox Bug 543715). -
Obwohl nicht unterstützt, wurden die Eigenschaften
marks
,orphans
,page
,size
, undwidows
analysiert und@supports
hat fälschlicherweise deren Unterstützung angezeigt. Dies wurde behoben und die Eigenschaften werden nicht mehr analysiert und auch nicht mehr als unterstützt markiert (Firefox Bug 1215702). -
Der interne Wert
-moz-mac-unified-toolbar
wurde aus den möglichen Werten derappearance
Eigenschaft entfernt (Firefox Bug 1206468). -
Mehrere mit
-webkit
präfixierte Eigenschaften und Werte wurden für die Web-Kompatibilität hinzugefügt, hinter der Präferenzlayout.css.prefixes.webkit
, die standardmäßig auffalse
gesetzt ist (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 angepasst, um den ES2015-Spezifikationen zu entsprechen. Siehe Firefox Bug 589199 und den Blogbeitrag "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istlet
nun für Standard-JavaScript im Web (strict und non-strict) verfügbar und erfordert kein Versionsopt-in mehr (Firefox Bug 932517). - Wenn Konstruktoren von typisierten Arrays (wie
Int8Array
) undArrayBuffer
) als Funktion ohne dennew
Operator aufgerufen werden, wird jetzt einTypeError
gemäß der ES2015-Spezifikation ausgelöst (Firefox Bug 980945, Firefox Bug 1214936). - Das
RegExp
sticky
-Flag entspricht nun dem ES2015-Standard für verankerte sticky Regular Expressions (Firefox Bug 773687). - Die JavaScript-Shell (REPL von SpiderMonkey) verwendet jetzt standardmäßig die webkompatible JS-Version (und nicht mehr JS1.7+) (Firefox Bug 1192329).
Entfernungen
- Die Unterstützung für nicht-standardisierte
let
Blöcke wurde eingestellt (Firefox Bug 1167029). - Die nicht-standardisierte und veraltete Eigenschaft
Object.prototype.__noSuchMethod__
wurde entfernt (Firefox Bug 683218).
Schnittstellen/APIs/DOM
DOM & HTML DOM
- Zur Kompatibilität mit bestimmten existierenden Seiten wurde die Eigenschaft
Document.charset
als Alias fürDocument.characterSet
implementiert (Firefox Bug 647621). - Die Unterstützung für die Methode
window.sidebar.addSearchEngine()
, die es Webseiten erlaubte, die Installation eines Sherlock-Plugins einzuleiten, wurde entfernt und nun wird lediglich eine Warnung in der Webkonsole ausgegeben (Firefox Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden Eingabeaufforderungen in
beforeunload
Ereignissen von Seiten, die nicht interagiert wurden, nicht mehr angezeigt (Firefox Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()
wurde aus Gründen der Abwärtskompatibilität wieder implementiert (Firefox Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubset
wurde entfernt (Firefox Bug 801545). - Zur Kompatibilität mit existierenden Seiten wurden die
Window.orientation
Eigenschaft und dasorientationchange
Ereignis implementiert (Firefox Bug 920734). - Ein
<iframe>
mit explizitem Fullscreen-Antrag sollte nicht mehr automatisch den Fullscreen-Modus beenden (Firefox Bug 1187801). - Die Ereignisse
mouseover
,mouseout
,mouseenter
,mouseleave
,pointermove
,pointerover
,pointerout
,pointerenter
undpointerleave
werden nun auch 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, wandelt die Methode
Document.createAttribute()
jetzt die Eingabe in Kleinbuchstaben um (Firefox Bug 1176313). - Die nicht-standardisierte
dialog
Funktionalität fürWindow.open()
ist nicht mehr für Webinhalte verfügbar. Sie ist weiterhin für Erweiterungen und andere Code mit Chrome-Berechtigungen verfügbar (Firefox Bug 1095236).
Canvas
- Eine neue experimentelle
OffscreenCanvas
API, die es ermöglicht, Render-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 in einem Worker-Kontext verfügbar, wenn diese API aktiviert ist.
- Das
WebGL
- Uniform Buffer Objects wurden implementiert (Firefox Bug 1048747).
IndexedDB
- Die
IDBIndex.getAll()
undIDBIndex.getAllKeys()
, sowie ihre 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 jetzt 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 in Service Workers deaktiviert (Firefox Bug 931243). - Das Interface
FetchEvent
erweitert jetztExtendableEvent
, wodurch es Zugriff auf die MethodeExtendableEvent.waitUntil()
erhält. (Firefox Bug 1214772). - Nach einer kürzlichen Änderung in der Spezifikation wurde
FetchEvent.client
entfernt (Firefox Bug 1218135). - Um die neueste Spezifikation zu erfüllen, wurde
ServiceWorkerContainer.onreloadpage
entfernt (Firefox Bug 1218139). - Die Ereignis-Handler
ServiceWorkerGlobalScope.onbeforeevicted
undServiceWorkerGlobalScope.onevicted
wurden entfernt, da sie nicht der Spezifikation entsprachen. Sie werden in Zukunft wieder eingeführt, aber ihre Entfernung ermöglicht es, dass die Funktionsprü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 ist jetzt auf der richtigen Schnittstelle implementiert; zuvor war sie aufWindowClient
(Firefox Bug 1218146). - Wenn AppCache verwendet wird, um eine Offline-Unterstützung für eine Seite bereitzustellen, wird jetzt eine Warnmeldung in der Konsole angezeigt, die Entwickler dazu auffordert Service Workers zu verwenden (Firefox Bug 1204581.)
- Service Workers wurden standardmäßig in Gecko aktiviert.
WebRTC
-
WebRTC-Schnittstellen wurden unpräsent (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-standardisierte MethodeRTCPeerConnection.updateIce()
entfernt (Firefox Bug 1209744). -
Die
MediaStream
Schnittstelle 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 Constraint-Style-Optionenliste für
RTCOfferOptions
wurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas-API in Workern wurde eingeführt:
OffscreenCanvas
undHTMLCanvasElement.transferControlToOffscreen()
sind hinter der Präferenzgfx.offscreencanvas.enabled
verfügbar, die derzeit standardmäßig deaktiviert ist (Firefox Bug 709490). - Die Text2Speech API, ein Teil der Web Speech API, hat jetzt ein OS X Backend. Aber dies ist standardmäßig deaktiviert (Firefox Bug 1003452).
Sonstiges
URLSearchParams
Objekte unterstützen jetzt 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 jetzt 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
anstelle vonapplication/xml
(Firefox Bug 918771). - Sprachsynthese (Text-to-Speech) wurde in Firefox Desktop für Mac und Linux implementiert, versteckt hinter dem
media.webspeech.synth.enabled
Flag inabout:config
(Firefox Bug 1003452, Firefox Bug 1003464). Siehe Web Speech API für mehr Informationen. - Elemente innerhalb eines
<frame>
oder eines<object>
können nicht mehr im Vollbildmodus gesetzt werden (Firefox Bug 1212299). - Die Sanitierung von WOFF-Fonts ist etwas strenger geworden, was dazu führt, dass mehr fehlerhafte Schriften abgelehnt werden, diese Sanitierung wird in Firefox 46 etwas weniger streng (Firefox Bug 1193050 und Firefox Bug 1244693).
MathML
Keine Änderungen.
SVG
Keine Änderungen.
Audio/Video
Keine Änderungen.
HTTP
- Unterstützung für den Brotli Algorithmus wurde hinzugefügt und sowohl die
Accept-Encoding
als auchContent-Encoding
Header unterstützen jetzt denbr
Wert (Firefox Bug 366559 und Firefox Bug 1211916). - Unkorrekte Unterstützung für HTTP/2-Header, die Zeilenumbrüche (
'/n'
) enthalten, wurde entfernt, da die Spezifikation dies nicht ermöglicht, im Gegensatz zu HTTP/1 (Firefox Bug 1197847).
Netzwerk
Keine Änderungen.
Sicherheit
- RC4 ist jetzt auch in den Beta- und Release-Versionen des Browsers standardmäßig 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 Änderungen.
XUL
Keine Änderungen.
JavaScript-Code-Module
LIKE
-Unterstützung wurde zu Sqlite.jsm hinzugefügt (Firefox Bug 1188760).- Modul Snackbars.jsm wurde zu Firefox für Android hinzugefügt (Firefox Bug 1215026)
XPCOM
- Die
nsIDOMWindow
Schnittstelle ist jetzt leer. Deren Inhalte wurden entweder nicht mehr genutzt, sind an anderer Stelle verschoben worden, oder nur aus C++ verwendet. Die aus C++-Code verfügbaren Elemente befinden sich jetzt in der nsPIDOMWindow Schnittstelle (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. Siehe den cfx zu jpm Migrationsleitfaden.
Ä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