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 Add-on-Entwickler.
Änderungen für Webentwickler
Entwicklerwerkzeuge
HTML
- `` beachtet jetzt das
crossorigin
Attribut (Firefox-Bug 1214819).
CSS
-
position: fixed;
erstellt jetzt immer einen neuen Stapelkontext (Firefox-Bug 1179288). -
Die Unterstützung für
unicode-range
wurde standardmäßig aktiviert (Firefox-Bug 1119062). -
Unsere experimentelle Implementierung der CSS-Schreib-Modi wurde aktualisiert, um die neueste Spezifikation zu reflektieren:
- Der Wert
sideways
dertext-orientation
Eigenschaft wurde implementiert undsideways-right
wurde ein 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 verfügbar (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
meldete sie fälschlicherweise als unterstützt; dies wurde behoben und die Eigenschaften werden nicht mehr analysiert 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äfixierte Eigenschaften und Werte wurden für die Web-Kompatibilität hinzugefügt, 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 den ES2015-Semantiken angepasst. Siehe Firefox-Bug 589199 und den Blog-Beitrag "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istlet
jetzt im Standard-Web-JavaScript (strict und non-strict) verfügbar und erfordert keine Versionseinstellung mehr (Firefox-Bug 932517). - Wenn Konstruktoren für typisierte Arrays' (wie
Int8Array
) undArrayBuffer
) als Funktion ohne dennew
Operator aufgerufen werden, wird nun gemäß der ES2015-Spezifikation einTypeError
geworfen (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). - Das JavaScript-Shell (SpiderMonkeys REPL) verwendet jetzt standardmäßig die webkompatible JS-Version (nicht mehr JS1.7+) (Firefox-Bug 1192329).
Entfernungen
- Unterstützung für die nicht standardisierten
let
Blöcke wurde entfernt (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 bestehenden Seiten wurde die Eigenschaft
Document.charset
als Alias vonDocument.characterSet
implementiert (Firefox-Bug 647621). - Die Unterstützung für die Methode
window.sidebar.addSearchEngine()
, die es Web-Seiten erlaubte, eine Installation eines Sherlock-Plugins zu veranlassen, wurde entfernt und es wird nun nur noch eine Warnmeldung in der Web Console ausgegeben (Firefox-Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden die Aufforderungen in
beforeunload
Ereignissen von Seiten, mit denen nicht interagiert wurde, nicht mehr angezeigt (Firefox-Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()
wurde aus Kompatibilitätsgründen wieder implementiert (Firefox-Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubset
wurde entfernt (Firefox-Bug 801545). - Zur Kompatibilität mit bestehenden Seiten wurden die
Window.orientation
Eigenschaft und dasorientationchange
Ereignis implementiert (Firefox-Bug 920734). - Ein
<iframe>
mit expliziter Fullscreen-Anforderung sollte den Vollbildmodus nicht implizit 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 die Spezifikation zu erfüllen, konvertiert die Methode
Document.createAttribute()
nun die Eingabe in Kleinbuchstaben (Firefox-Bug 1176313). - Die nicht standardisierte
dialog
Funktion fürWindow.open()
ist für Web-Inhalte nicht mehr verfügbar. Sie steht weiterhin Erweiterungen und anderem Code mit Chrome-Berechtigungen zur Verfügung (Firefox-Bug 1095236).
Canvas
-
Eine neue experimentelle
OffscreenCanvas
API, die es Rendering-Kontexten (wie WebGL) ermöglicht, in Web-Workern zu laufen, wurde implementiert. Um diese experimentelle API zu nutzen, setzen Siegfx.offscreencanvas.enabled
auftrue
in about:config (Firefox-Bug 709490). Diese API umfasst:- Das
OffscreenCanvas
Interface, HTMLCanvasElement.transferControlToOffscreen()
undWebGLRenderingContext.commit()
.- Mehrere WebGL-Interfaces 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 Methoden
IDBIndex.getAll()
undIDBIndex.getAllKeys()
und ihre Gegenstücke aufIDBObjectStore
sind jetzt standardmäßig verfügbar (Firefox-Bug 1196841).
Service Workers
- Die
ServiceWorkerMessageEvent
undExtendableMessageEvent
Interfaces 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 jetzt auch den Standard-Iterator für sie zurück (Firefox-Bug 1108181).- Die
XMLHttpRequest
API wurde für Service Worker deaktiviert (Firefox-Bug 931243). - Das Interface
FetchEvent
erweitert jetztExtendableEvent
, wodurch es Zugriff auf die MethodeExtendableEvent.waitUntil()
erhält (Firefox-Bug 1214772). - Nach einer kürzlich erfolgten Änderung in der Spezifikation wurde
FetchEvent.client
entfernt (Firefox-Bug 1218135). - Um die neueste Spezifikation zu erfüllen, wurde der
ServiceWorkerContainer.onreloadpage
entfernt (Firefox-Bug 1218139). - Die Event-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 eine funktionierende Feature-Erkennung (Firefox-Bug 1218142). - Im
FetchEvent()
Konstruktor, wenn dasisReload
Mitglied im Optionen-Dictionary nicht vorhanden ist, wird es jetzt auffalse
gesetzt (Firefox-Bug 1216401). - Die
Client.frameType
Eigenschaft ist jetzt im richtigen Interface implementiert; zuvor war sie aufWindowClient
(Firefox-Bug 1218146). - Wenn AppCache zur Bereitstellung von Offline-Unterstützung für eine Seite verwendet wird, wird jetzt eine Warnmeldung in der Konsole angezeigt, die Entwicklern rät, 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 sein Event-Handler wurden implementiert (Firefox-Bug 1178091). -
Der Attribut
RTCPeerConnection.canTrickleIceCandidates
wurde hinzugefügt, die nicht standardisierte MethodeRTCPeerConnection.updateIce()
wurde entfernt (Firefox-Bug 1209744). -
Das
MediaStream
Interface 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 Zwangsoptionsliste 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, derzeit standardmäßig deaktiviert (Firefox-Bug 709490). - Die Text2Speech API, Teil der Web Speech API, hat jetzt ein Backend für OS X. Dies ist jedoch standardmäßig deaktiviert (Firefox-Bug 1003452).
Verschiedenes
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 jetzt 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 jetzt auch den Standard-Iterator für sie zurück (Firefox-Bug 1127703).- Wenn
XMLHttpRequest.send()
mit einem HTML-Dokument verwendet wird, wird jetzttext/html
anstelle vonapplication/xml
verwendet (Firefox-Bug 918771). - Die Sprachsynthese (Text-zu-Sprache) wurde in Firefox Desktop für Mac und Linux implementiert, versteckt hinter der
media.webspeech.synth.enabled
Option inabout:config
(Firefox-Bug 1003452, Firefox-Bug 1003464). Siehe Web Speech API für weitere Informationen. - Elemente in einem
<frame>
oder einem<object>
können nicht mehr im Vollbildmodus gesetzt werden (Firefox-Bug 1212299). - Die Überprüfung von WOFF-Schriften ist etwas strenger geworden, was dazu führt, dass mehr fehlerhafte Schriften abgelehnt werden. Diese Überprüfung wird in Firefox 46 etwas weniger streng gemacht (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 auch dieContent-Encoding
Header unterstützen jetzt denbr
Wert (Firefox-Bug 366559 und Firefox-Bug 1211916). - Falsche Unterstützung von HTTP/2 Headern mit Zeilenumbrüchen (
'/n'
) wurde entfernt, da die Spezifikation dies nicht erlaubt, im Gegensatz zu HTTP/1 (Firefox-Bug 1197847).
Netzwerk
Keine Änderungen.
Sicherheit
- RC4 ist nun auch in den Beta- und Release-Versionen des Browsers standardmäßig deaktiviert (Firefox-Bug 1201025) und die Whitelist ist 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).- Das Modul Snackbars.jsm wurde zu Firefox für Android hinzugefügt (Firefox-Bug 1215026).
XPCOM
- Das
nsIDOMWindow
Interface ist jetzt leer. Sein Inhalt wurde entweder nicht mehr verwendet, an andere Stellen verschoben oder nur noch aus C++ genutzt. Die aus C++ verfügbaren Elemente befinden sich jetzt im nsPIDOMWindow Interface (Firefox-Bug 1216401).
Andere
- 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