Firefox 41 für Entwickler
Um die neuesten Entwickler-Funktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 41 wurde am 22. September 2015 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
Höhepunkte:
- Einen Screenshot eines DOM-Knotens aufnehmen
- Als HAR kopieren/speichern
- „Regel hinzufügen“-Button in der Regelansicht
- Quellcode in einem Tab anzeigen (Standardmäßig deaktiviert)
- Mehr Optionen zum Kopieren von CSS-Regeln
- Bild als Daten: URL in der Regelansicht kopieren
- Befehl zu GCLI hinzugefügt, um CSP-Informationen anzuzeigen
Alle zwischen Firefox 40 und Firefox 41 behobenen Devtools-Bugs: beachten Sie, dass viele dieser Bugs, insbesondere diejenigen in Bezug auf die Leistungswerkzeuge, in Firefox 40 übernommen wurden.
CSS
-
Die Unterstützung für das Layout von vertikalen Schriften wurde standardmäßig aktiviert (Firefox Bug 1138384). Das bedeutet, dass die folgenden CSS-Eigenschaften jetzt verfügbar sind:
- Auswahl der Schreibrichtung:
writing-mode
. - Steuerung der Orientierung von Zeichen:
text-orientation
. - Richtungsunabhängige Äquivalente von
width
undheight
:block-size
undinline-size
. - Richtungsunabhängige Äquivalente von
min-width
undmin-height
:min-block-size
undmin-inline-size
. - Richtungsunabhängige Äquivalente von
max-width
undmax-height
:max-block-size
undmax-block-size
. - Richtungsunabhängige Äquivalente von
margin-top
,margin-right
,margin-bottom
undmargin-left
:margin-block-start
,margin-block-end
,margin-inline-start
undmargin-inline-end
. - Richtungsunabhängige Äquivalente von
padding-top
,padding-right
,padding-bottom
undpadding-left
:padding-block-start
,padding-block-end
,padding-inline-start
undpadding-inline-end
. - Richtungsunabhängige Äquivalente von
border-top
,border-right
,border-bottom
undborder-left
und ihre Langformen für Breite, Stil und Farbe:border-block-start
,border-block-start-width
,border-block-start-style
,border-block-start-color
,border-block-end
,border-block-end-width
,border-block-end-style
,border-block-end-color
,border-inline-start
,border-inline-start-width
,border-inline-start-style
,border-inline-start-color
,border-inline-end
,border-inline-end-width
,border-inline-end-style
undborder-inline-end-color
. - Richtungsunabhängige Äquivalente von
top
,right
,bottom
undleft
:offset-block-start
,offset-block-end
,offset-inline-start
undoffset-inline-end
.
- Auswahl der Schreibrichtung:
-
Unterstützung für die
transform-origin
Eigenschaft in SVG und Implementierung dertransform-box
Eigenschaft (Firefox Bug 923193).
HTML
<a>
ohne einhref
Attribut wird nicht länger als interaktiver Inhalt klassifiziert. Ein Klick darauf innerhalb eines<label>
aktiviert den markierten Inhalt (Firefox Bug 1167816).- SVG-Icons werden nun für Webseiten-Icons, also Favicons und Verknüpfungs-Icons unterstützt (Firefox Bug 366324).
- Das Attribut
crossorigin
wird nun für <link rel='preconnect'> unterstützt (Firefox Bug 1174152). - Das
<picture>
Element reagiert nicht auf Größenänderungen/Viewport-Änderungen (Firefox Bug 1135812).
JavaScript
Date.prototype
ist jetzt ein gewöhnliches Objekt und nicht mehr eineDate
Instanz (Firefox Bug 861219).Date.prototype.toString
ist jetzt eine generische Methode (Firefox Bug 861219).Symbol.species
wurde hinzugefügt (Firefox Bug 1131043).Map[Symbol.species]
undSet[Symbol.species]
Getter wurden hinzugefügt (Firefox Bug 1131043).- Die nicht standardisierte let expression Unterstützung wurde entfernt (Firefox Bug 1023609).
- Destrukturierte Parameter mit Standardwertzuweisung werden nun unterstützt (Firefox Bug 1018628).
- Nach ES2015 sind geschwungene Klammern für Methodendefinitionen erforderlich. Syntax ohne sie wird zukünftig fehlschlagen (Firefox Bug 1150855).
- Methodendefinitionen (außer für Generator-Methoden) können nicht mehr erstellt werden (Firefox Bug 1059908 und Firefox Bug 1166950).
- Im Rahmen der Konformität mit der ES2015-Spezifikation werden elternhesierte Destrukturierungsmuster, wie
([a, b]) = [1, 2]
oder({a, b}) = { a: 1, b: 2 }
, jetzt als ungültig betrachtet und werfen einenSyntaxError
. Für mehr Details, siehe Jeff Waldens Blogbeitrag. - Die Syntax
new.target
wurde hinzugefügt (Firefox Bug 1141865).
Schnittstellen/APIs/DOM
HTML Editing API
- Die Behandlung von Ausschneiden, Kopieren und Einfügen Befehlen wurde überarbeitet und ermöglicht nun das programmgesteuerte Kopieren und Ausschneiden von JS für Web-Inhalte:
- Mit dem
'paste'
Befehl als Argument gibtDocument.queryCommandSupported()
nunfalse
zurück, wenn die erforderlichen Berechtigungen fehlen, um die Aktion tatsächlich durchzuführen (Firefox Bug 1161721). - Mit dem
'cut'
oder'copy'
Befehl als Argument gibtDocument.queryCommandSupported()
nuntrue
zurück, wenn es im Kontext von benutzerinitiierter oder privilegierter Code ausgeführt wird (Firefox Bug 1162952). - Mit dem
'cut'
oder'copy'
Befehl als Argument funktioniertDocument.execCommand()
nun, jedoch nur im Kontext von benutzerinitiierter oder privilegierter Code (Firefox Bug 1012662). - Anstatt eine Ausnahme auszulösen, wenn der Befehl nicht unterstützt oder aktiviert ist (Firefox Bug 1027560).
- Mit dem
Ereignisse
- Die nicht standardisierte
initCloseEvent()
Methode desCloseEvent
Ereignisses und die Möglichkeit, einCloseEvent
mit derdocument.createEvent('CloseEvent')
Methode zu erstellen, wurden entfernt; verwenden Sie stattdessen den Standardkonstruktor,CloseEvent()
(Firefox Bug 1161950). - Auf dem Desktop ist
PointerEvent
jetzt in Nightly standardmäßig aktiviert; es ist in Developer Edition, Beta oder Release nicht aktiviert und wird es für einige Versionen auch nicht sein (Firefox Bug 1166347). - Die unpräfixierten Versionen von
MouseEvent.movementX
undMouseEvent.movementY
wurden hinzugefügt; die präfixierten Versionen sind veraltet und werden zukünftig entfernt (Firefox Bug 1164981).
Web Crypto
SubtleCrypto.importKey()
undSubtleCrypto.exportKey()
unterstützen nunECDH
Schlüssel (Firefox Bug 1050175).
Canvas API
HTMLCanvasElement.captureStream()
undCanvasCaptureMediaStream
wurden hinzugefügt und erlauben das Streaming der Anzeige eines<canvas>
in Echtzeit (Firefox Bug 1032848).MediaStream.id
gibt jetzt die eindeutige ID eines Streams zurück (Firefox Bug 1089798).- Der Anfangswert von
CanvasRenderingContext2D.filter
ist jetzt korrekt aufnone
gesetzt (Firefox Bug 1163124).
Service Workers
-
Verbesserung unserer experimentellen Service Worker Implementierung:
ServiceWorkerGlobalScope.skipWaiting()
wurde implementiert (Firefox Bug 1131352).Clients.claim()
wurde hinzugefügt (Firefox Bug 1130684).- Die anderen funktionalen Ereignisse von Service Workers erben jetzt von
ExtendableEvent
, was ihnen Zugriff auf diewaitUntil()
Methode gibt (Firefox Bug 1160527).
-
Die Schnittstellen
CacheStorage
undCache
werden jetzt unterstützt (Firefox Bug 1110144).
WebGL
- Das
failIfMajorPerformanceCaveat
WebGL Kontextattribut wurde hinzugefügt und kann verwendet werden, wenn ein WebGL-Kontext mitHTMLCanvasElement.getContext()
erstellt wird, um anzuzeigen, ob die Kontext-Erstellung fehlschlagen soll, wenn die Systemleistung niedrig ist (Firefox Bug 1164970).
WebRTC
- Firefox bietet keinen Standard-STUN-Server mehr an, der verwendet wird, wenn beim Erstellen einer neuen
RTCPeerConnection
keiner angegeben wird. Sie müssen einen bereitstellen, um erfolgreich eine WebRTC-Verbindung herzustellen.
Verschiedenes
- Unter OS X und Windows ändert sich
Navigator.onLine
jetzt im Hinblick auf die Netzwerkverbindung (es hat vorher immertrue
zurückgegeben, außer wenn der Modus "Offline arbeiten" ausgewählt war) (Firefox Bug 654579). MessagePort
undMessageChannel
sind jetzt in Web-Workern verfügbar und sind standardmäßig in allen Kontexten aktiviert (Firefox Bug 952139 und Firefox Bug 911972).- Die User Timing API ist jetzt in Web-Workern verfügbar (Firefox Bug 1155761).
- Die Notifications API ist jetzt in Web-Workern verfügbar (Firefox Bug 916893).
DOMRequest
undDOMCursor
sind jetzt in Web-Workern verfügbar (Firefox Bug 1167650).- Die CSS Font Loading API wurde vollständig implementiert und ist jetzt standardmäßig aktiviert (Firefox Bug 1149381).
- Gemeinsame Worker können nun nicht mehr zwischen privaten (d.h. in einem privaten Fenster surfen) und nicht-privaten Dokumenten geteilt werden (siehe Firefox Bug 1177621).
- Die
URL.searchParams
Eigenschaft ist jetzt schreibgeschützt (Firefox Bug 1174731). - Die
HTMLAnchorElement.hash
Eigenschaft dekodiert nicht länger das URL-Fragment (Firefox Bug 1093611).
MathML
Neue Standard- und Fallback-Schriftartenverwaltung
Mathematische Formeln benötigen spezielle Schriftarten. Bis jetzt wurden diese Schriftarten im mathml.css
User-Agent-Stylesheet (welches die Schriftfamilie am <math>
Tag festsetzt) und in der Option font.mathfont-family
(welche die Fallback-Schriftarten für dehnbare und große Operatoren festlegt) festgelegt. Firefox 41 führt eine interne x-math
Sprache ein, die automatisch am <math>
Tag gesetzt wird, sowie entsprechende Einstellungsoptionen (z.B., font.name.serif.x-math
). Das User-Agent-Stylesheet setzt nun die Schriftfamilie auf Serif am <math>
Tag, und die Option font.mathfont-family
wird durch font.name.serif.x-math
ersetzt. Alle Plattformen verwenden jetzt im Wesentlichen die gleiche Liste von Fallback-Schriftarten, wobei "Latin Modern Math" als erste gewählt wird. Die Standard/Fallback-Schriftarten können im standardmäßigen Sprachschriftpräferenzmenü konfiguriert werden. Für weitere Details siehe Firefox Bug 947654 und Firefox Bug 1160456.
SVG
- Webseiten-Icons (Favicons, Verknüpfungsicons) unterstützen nun SVG (Firefox Bug 366324).
Audio/Video
- Die
media.autoplay.enabled
Einstellung gilt jetzt auch für nicht vertrauteHTMLMediaElement.play()
Aufrufe, also Aufrufe von nicht durch Benutzer aktiviertem Skript (Firefox Bug 659285).
Netzwerke
- Der
X-Content-Duration
Header wird nicht mehr unterstützt (Firefox Bug 1160695). - Entwurfsversionen des HTTP/2-Protokolls werden nicht mehr unterstützt (Firefox Bug 1132357).
Sicherheit
- Die CSP 1.1
manifest-src
Direktive wird jetzt unterstützt (Firefox Bug 1089255). - Frühere Versionen von Firefox haben fälschlicherweise erwartet, dass der Wert
origin-when-cross-origin
der Content Security Policy referrer Direktive alsorigin-when-crossorigin
geschrieben wird. Dies wurde korrigiert, um das fehlende Bindestrichzeichen zu enthalten.
Änderungen für Add-on- und Mozilla-Entwickler
XUL
Keine Änderungen.
JavaScript-Code-Module
Keine Änderungen.
XPCOM
Schnittstellen
Keine Änderungen.
Sonstiges
- Eine neue, interne und nur in Chrome-Contexts verfügbare API zum Rendern des Root-Widgets eines Fensters in eine
<canvas>
wurde hinzugefügt:CanvasRenderingContext2D.drawWidgetAsOnScreen()
. Diese API verwendet das Betriebssystem, um das Widget auf dem Bildschirm zu schnappen. Für mehr Details siehe Firefox Bug 1167477.
Ältere Versionen
- 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
- Firefox 12 für Entwickler
- Firefox 11 für Entwickler
- Firefox 10 für Entwickler