Firefox 44 für Entwickler
Um die neuesten Entwickler-Features 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, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwicklerwerkzeuge
HTML
- `` beachtet jetzt das Attribut
crossorigin
(Firefox Bug 1214819).
CSS
-
position: fixed;
erstellt jetzt immer einen neuen Stapelkontext (Firefox Bug 1179288). -
Die Unterstützung von
unicode-range
wurde standardmäßig aktiviert (Firefox Bug 1119062). -
Unsere experimentelle Implementierung von CSS Writing Modes wurde aktualisiert, um der neuesten Spezifikation zu entsprechen:
- Der Wert
sideways
der Eigenschafttext-orientation
wurde implementiert undsideways-right
wurde zum Alias dafür gemacht (Firefox Bug 1193488). - Die Werte
sideways-rl
undsideways-lr
für die Eigenschaftwriting-mode
(Firefox Bug 1193488 und Firefox Bug 1193519).
- Der Wert
-
Die nicht standardisierten Eigenschaften
-moz-math-display
und-moz-window-shadow
sind im Web-Inhalt nicht mehr verfügbar (Firefox Bug 1207002, Firefox Bug 1211040 und Firefox Bug 1212607). -
Die Eigenschaft
font-style
unterscheidet jetzt zwischenoblique
unditalic
, wenn beide Varianten verfügbar sind (Firefox Bug 543715). -
Auch wenn nicht unterstützt, wurden die Eigenschaften
marks
,orphans
,page
,size
undwidows
analysiert und@supports
berichtete fälschlicherweise, dass sie unterstützt sind; 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 die Eigenschaftappearance
entfernt (Firefox Bug 1206468). -
Mehrere präfixierte
-webkit
Eigenschaften und Werte wurden zur 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 Bindungen von
let
undconst
auf globaler Ebene entsprechen jetzt den ES2015-Semantiken. Siehe Firefox Bug 589199 und den Blogpost "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istlet
nun im standardmäßigen Web-JavaScript (strikt und nicht strikt) verfügbar und erfordert keinen Versions-Opt-in mehr (Firefox Bug 932517). - Wenn typisierte Arrays' (wie
Int8Array
) undArrayBuffer
-Konstruktoren als Funktion ohne dennew
-Operator aufgerufen werden, wird nun einTypeError
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 (SpiderMonkeys REPL) verwendet jetzt standardmäßig die webkompatible JS-Version (und nicht mehr JS1.7+) (Firefox Bug 1192329).
Entfernungen
- Die 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 fürDocument.characterSet
implementiert (Firefox Bug 647621). - Die Unterstützung für die Methode
window.sidebar.addSearchEngine()
, die es Webseiten ermöglichte, die Installation eines Sherlock-Plugins zu initiieren, wurde entfernt und nun wird nur eine Warnung in der Webkonsole protokolliert (Firefox Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden Aufforderungen in
beforeunload
-Ereignissen von Seiten, die nicht interagiert wurden, nicht mehr angezeigt (Firefox Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()
wurde zur Rückwärtskompatibilität wieder implementiert (Firefox Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubset
wurde entfernt (Firefox Bug 801545). - Zur Kompatibilität mit bestehenden Seiten wurden die Eigenschaft
Window.orientation
und das Ereignisorientationchange
implementiert (Firefox Bug 920734). - Ein
<iframe>
mit explizitem Vollbildanforderung sollte nicht mehr implizit aus dem Vollbildmodus austreten (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). - Das nicht standardisierte
dialog
Feature fürWindow.open()
ist im Webinhalt nicht mehr verfügbar. Es ist noch für Erweiterungen und andere Code mit Chrome-Berechtigungen verfügbar (Firefox Bug 1095236).
Canvas
- Eine neue experimentelle
OffscreenCanvas
API, die es Rendering-Kontexten (wie WebGL) ermöglicht, in Web Workers ausgeführt zu werden, wurde implementiert. Diese experimentelle API setzen Siegfx.offscreencanvas.enabled
auftrue
in about:config (Firefox Bug 709490). Diese API umfasst:- Die Schnittstelle
OffscreenCanvas
, HTMLCanvasElement.transferControlToOffscreen()
, undWebGLRenderingContext.commit()
.- Mehrere WebGL-Schnittstellen sind nun auch im Worker-Kontext verfügbar, wenn diese API aktiviert ist.
- Die Schnittstelle
WebGL
- Uniform Buffer Objects wurden implementiert (Firefox Bug 1048747).
IndexedDB
- Die Methoden
IDBIndex.getAll()
undIDBIndex.getAllKeys()
sowie deren Gegenstücke aufIDBObjectStore
sind nun standardmäßig verfügbar (Firefox Bug 1196841).
Service Workers
- Die Schnittstellen
ServiceWorkerMessageEvent
undExtendableMessageEvent
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 Workers deaktiviert (Firefox Bug 931243). - Die Schnittstelle
FetchEvent
erweitert nunExtendableEvent
, sodass sie nun Zugriff auf die MethodeExtendableEvent.waitUntil()
hat (Firefox Bug 1214772). - Nach einer kürzlichen Ä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 Event-Handler
ServiceWorkerGlobalScope.onbeforeevicted
undServiceWorkerGlobalScope.onevicted
wurden entfernt, da sie nicht der Spezifikation entsprachen. Sie werden in der Zukunft wieder eingeführt, aber ihre Entfernung erlaubt es, dass die Funktionsdetektion wie erwartet funktioniert (Firefox Bug 1218142). - Im Konstruktor
FetchEvent()
wird, falls das MitgliedisReload
nicht im Optionswörterbuch vorhanden ist, der Standardwertfalse
verwendet (Firefox Bug 1216401). - Die Eigenschaft
Client.frameType
ist nun auf der richtigen Schnittstelle implementiert; sie war zuvor aufWindowClient
(Firefox Bug 1218146). - Wenn AppCache verwendet wird, um Offline-Support für eine Seite bereitzustellen, wird jetzt eine Warnmeldung in der Konsole angezeigt, die Entwickler darauf hinweist, stattdessen Service Workers zu verwenden (Firefox Bug 1204581).
- Service Workers wurden standardmäßig in Gecko aktiviert.
WebRTC
-
WebRTC-Schnittstellen wurden entprefixed (Firefox Bug 1155923). Insbesondere:
mozRTCPeerConnection
ist nunRTCPeerConnection
.mozRTCIceCandidate
ist nunRTCIceCandidate
.mozRTCSessionDescription
ist nunRTCSessionDescription
.
-
Die Eigenschaft
RTCDataChannel.bufferedAmountLowThreshold
, sowie das Ereignisbufferedamountlow
und sein Ereignishandler wurden implementiert (Firefox Bug 1178091). -
Das Attribut
RTCPeerConnection.canTrickleIceCandidates
wurde hinzugefügt, die nicht standardisierte MethodeRTCPeerConnection.updateIce()
wurde entfernt (Firefox Bug 1209744). -
Die Schnittstelle
MediaStream
unterstützt nun die MethodenMediaStream.addTrack()
undMediaStream.removeTrack()
(Firefox Bug 1103188). -
Der Konstruktor
MediaStream()
wurde implementiert (Firefox Bug 1070216). -
Die Unterstützung für die nicht standardisierte Listenoption im Constraint-Stil für
RTCOfferOptions
wurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas API in Workern ist vorhanden:
OffscreenCanvas
undHTMLCanvasElement.transferControlToOffscreen()
sind hinter dergfx.offscreencanvas.enabled
Präferenz verfügbar, die derzeit standardmäßig deaktiviert ist (Firefox Bug 709490). - Die Text2Speech-API, Teil der Web Speech API, hat nun ein Backend für OS X. Diese Funktion ist jedoch standardmäßig deaktiviert (Firefox Bug 1003452).
Sonstiges
URLSearchParams
-Objekte unterstützen nun einen Paar-Iterator, was bedeutet, dass die MethodenURLSearchParams.entries()
,URLSearchParams.keys()
, undURLSearchParams.values()
nun 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()
nun 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, wird nuntext/html
stattapplication/xml
verwendet (Firefox Bug 918771). - Sprachsynthese (Text-to-Speech) wurde in Firefox-Desktop für Mac und Linux implementiert, hinter der
media.webspeech.synth.enabled
Flag inabout:config
verborgen (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 Reinigung von WOFF-Schriftarten wurde etwas strenger, was dazu führt, dass mehr inkorrekte Schriftarten abgelehnt werden, diese Reinigung ist in Firefox 46 etwas weniger streng (Firefox Bug 1193050 und Firefox Bug 1244693).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
- Die Unterstützung des Brotli-Algorithmus wurde hinzugefügt und sowohl
Accept-Encoding
als auchContent-Encoding
Header unterstützen nun denbr
Wert (Firefox Bug 366559 und Firefox Bug 1211916). - Die inkorrekte Unterstützung von HTTP/2-Headern, die Zeilenumbrüche (
'/n'
) enthalten, wurde entfernt, da die Spezifikation dies im Gegensatz zu HTTP/1 nicht erlaubt (Firefox Bug 1197847).
Netzwerk
Keine Änderung.
Sicherheit
- RC4 ist jetzt auch in den Beta- und Release-Versionen des Browsers standardmäßig deaktiviert (Firefox Bug 1201025) und die Whitelist ist nun 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 zu Sqlite.jsm hinzugefügt (Firefox Bug 1188760).
- Snackbars.jsm-Modul zu Firefox für Android hinzugefügt (Firefox Bug 1215026)
XPCOM
- Das
nsIDOMWindow
Interface ist jetzt leer. Der Inhalt war entweder nicht mehr verwendet, anderswo verschoben oder wurde nur aus C++ Code verwendet. Die Elemente, die aus C++ Code verfügbar sind, befinden sich jetzt 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. 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