Firefox 44 für Entwickler
Testen Sie die neuesten Entwicklerfunktionen von Firefox, indem Sie die Firefox Developer Edition installieren. 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
Entwicklertools
HTML
<link rel="prefetch">
beachtet jetzt dascrossorigin
-Attribut (Firefox-Bug 1214819).
CSS
-
position: fixed;
erstellt nun 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-Schreibmodi wurde aktualisiert, um die neueste Spezifikation zu reflektieren:
- Der Wert
sideways
der Eigenschafttext-orientation
wurde implementiert, undsideways-right
wurde zu einem Alias davon (Firefox-Bug 1193488). - Die Werte
sideways-rl
undsideways-lr
der Eigenschaftwriting-mode
(Firefox-Bug 1193488 und Firefox-Bug 1193519).
- Der Wert
-
Die nicht standardmäßigen Eigenschaften
-moz-math-display
und-moz-window-shadow
sind für Webinhalte 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). -
Obwohl nicht unterstützt, wurden die Eigenschaften
marks
,orphans
,page
,size
, undwidows
interpretiert und@supports
meldete sie fälschlicherweise als unterstützt; dies wurde behoben und die Eigenschaften werden nicht mehr interpretiert 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
-webkit
-Präfixeigenschaften und -werte wurden aus Webkompatibilitätsgründen hinzugefügt, hinter der Einstellunglayout.css.prefixes.webkit
, standardmäßig auffalse
gesetzt (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
deklarationen auf globaler Ebene wurden gemäß ES2015-Semantik angepasst. Siehe Firefox-Bug 589199 und den Blogbeitrag "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istlet
jetzt im Standard-Web-JavaScript verfügbar (sowohl strikt als auch nicht strikt) und erfordert keine Versionsauswahl mehr (Firefox-Bug 932517). - Wenn die Konstruktoren von typisierten 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 Sticky-Flag von
RegExp
folgt nun dem ES2015-Standard für verankerte sticky reguläre Ausdrücke (Firefox-Bug 773687). - Die JavaScript-Shell (SpiderMonkeys REPL) verwendet nun standardmäßig die Web-kompatible JS-Version (nicht mehr JS1.7+) (Firefox-Bug 1192329).
Entfernte Funktionen
- Die Unterstützung für die nicht standardmäßigen
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
- Um die Kompatibilität mit bestimmten vorhandenen Websites sicherzustellen, 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 ermöglichte, die Installation eines Sherlock-Plugins zu initiieren, wurde eingestellt und stattdessen wird einfach 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 aus Gründen der Rückwärtskompatibilität wieder implementiert (Firefox-Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubset
wurde entfernt (Firefox-Bug 801545). - Zur Kompatibilität mit bestehenden Websites wurden die Eigenschaft
Window.orientation
und das Ereignisorientationchange
implementiert (Firefox-Bug 920734). - Ein
<iframe>
mit spezifischer Vollbildanforderung sollte nicht implizit aus dem Vollbildmodus aussteigen (Firefox-Bug 1187801). - Die Ereignisse
mouseover
,mouseout
,mouseenter
,mouseleave
,pointermove
,pointerover
,pointerout
,pointerenter
undpointerleave
werden jetzt 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, konvertiert die Methode
Document.createAttribute()
nun die Eingabe in Kleinbuchstaben (Firefox-Bug 1176313). - Die nicht standardisierte
dialog
-Eigenschaft fürWindow.open()
ist für Webinhalte nicht mehr verfügbar. Sie ist weiterhin für Erweiterungen und anderen Code mit Chrome-Berechtigungen verfügbar (Firefox-Bug 1095236).
Canvas
-
Eine neue experimentelle
OffscreenCanvas
-API, die es Render-Kontexten (wie WebGL) ermöglicht, in Web Workers zu laufen, wurde implementiert. Um diese experimentelle API zu nutzen, setzen Siegfx.offscreencanvas.enabled
in about:config auftrue
(Firefox-Bug 709490). Diese API umfasst:- Die Schnittstelle
OffscreenCanvas
, HTMLCanvasElement.transferControlToOffscreen()
, undWebGLRenderingContext.commit()
.- Mehrere WebGL-Schnittstellen sind jetzt 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 jetzt 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 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 Nutzung der
XMLHttpRequest
-API in Service Workers wurde deaktiviert (Firefox-Bug 931243). - Die Schnittstelle
FetchEvent
erweitert jetztExtendableEvent
und hat somit Zugriff auf die MethodeExtendableEvent.waitUntil()
(Firefox-Bug 1214772). - Nach einer kürzlich erfolgten Ä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 Zukunft wieder eingeführt, aber ihre Entfernung ermöglicht eine ordnungsgemäße Funktionsdetektion (Firefox-Bug 1218142). - Im Konstruktor
FetchEvent()
gilt jetztisReload
standardmäßig alsfalse
, wenn das Mitglied nicht im Options-Dictionary vorhanden ist (Firefox-Bug 1216401). - Die Eigenschaft
Client.frameType
wird nun auf der richtigen Schnittstelle implementiert; vorher war sie aufWindowClient
(Firefox-Bug 1218146). - Wird AppCache verwendet, um eine Seite offline verfügbar zu machen, wird jetzt in der Konsole eine Warnmeldung angezeigt, die Entwickler darauf hinweist, stattdessen Service Workers zu verwenden (Firefox-Bug 1204581).
- Service Workers sind nun 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 Eigenschaft
RTCDataChannel.bufferedAmountLowThreshold
sowie das Ereignisbufferedamountlow
und sein Ereignishandler wurden implementiert (Firefox-Bug 1178091). -
Das Attribut
RTCPeerConnection.canTrickleIceCandidates
wurde hinzugefügt und die nicht-standardisierte 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 den nicht-standardisierten Constraint-Style-Optionsliste für
RTCOfferOptions
wurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas-API in Workern wurde eingeführt:
OffscreenCanvas
undHTMLCanvasElement.transferControlToOffscreen()
sind verfügbar hinter dergfx.offscreencanvas.enabled
-Einstellung, die derzeit standardmäßig deaktiviert ist (Firefox-Bug 709490). - Die Text-to-Speech-API, Teil der Web Speech API, hat jetzt ein OS X-Backend. Aber dies ist 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 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 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 der
media.webspeech.synth.enabled
-Einstellung inabout:config
(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 auf Vollbild gesetzt werden (Firefox-Bug 1212299). - Die Bereinigung von WOFF-Schriftarten ist etwas strenger, was dazu führt, dass mehr fehlerhafte Schriftarten abgelehnt werden. Diese Bereinigung wird in Firefox 46 etwas weniger streng gemacht (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 die Header
Accept-Encoding
als auchContent-Encoding
unterstützen nun den Wertbr
(Firefox-Bug 366559 und Firefox-Bug 1211916). - Die fehlerhafte Unterstützung von HTTP/2-Headern mit Zeilenumbrüchen (
'/n'
) wurde entfernt, da die Spezifikation dies nicht zulässt, im Gegensatz zu HTTP/1 (Firefox-Bug 1197847).
Netzwerktechnik
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 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).- Das Modul Snackbars.jsm wurde zu Firefox für Android hinzugefügt (Firefox-Bug 1215026).
XPCOM
- Die Schnittstelle
nsIDOMWindow
ist jetzt leer. Ihre Inhalte wurden entweder nicht mehr genutzt, woandershin verlagert, oder nur von 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 sind, 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