Firefox 41 für Entwickler
Um die neuesten Entwicklerfunktionen 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 für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwicklerwerkzeuge
Höhepunkte:
- Machen Sie einen Screenshot eines DOM-Knotens
- Kopieren als HAR/speichern als HAR
- "Regel hinzufügen"-Schaltfläche in der Regelnansicht
- Quelle in einem Tab anzeigen (Standardmäßig deaktiviert)
- Weitere Optionen zum Kopieren von CSS-Regeln
- Bild im Daten-URL-Format in der Regelnansicht kopieren
- Befehl zum Anzeigen von CSP-Informationen im GCLI hinzugefügt
Alle zwischen Firefox 40 und Firefox 41 behobenen DevTools-Fehler: Beachten Sie, dass viele dieser Fehler, insbesondere diejenigen, die sich auf die Leistungstools beziehen, auf Firefox 40 übertragen wurden.
CSS
-
Die Unterstützung für das Layout vertikaler Schriften wurde standardmäßig aktiviert (Firefox-Fehler 1138384). Das bedeutet, dass die folgenden CSS-Eigenschaften jetzt verfügbar sind:
- Auswahl der Schreibrichtung:
writing-mode
. - Steuerung der Ausrichtung von Zeichen:
text-orientation
. - Richtungsunabhängige Entsprechungen von
width
undheight
:block-size
undinline-size
. - Richtungsunabhängige Entsprechungen von
min-width
undmin-height
:min-block-size
undmin-inline-size
. - Richtungsunabhängige Entsprechungen von
max-width
undmax-height
:max-block-size
undmax-block-size
. - Richtungsunabhängige Entsprechungen von
margin-top
,margin-right
,margin-bottom
undmargin-left
:margin-block-start
,margin-block-end
,margin-inline-start
undmargin-inline-end
. - Richtungsunabhängige Entsprechungen von
padding-top
,padding-right
,padding-bottom
undpadding-left
:padding-block-start
,padding-block-end
,padding-inline-start
undpadding-inline-end
. - Richtungsunabhängige Entsprechungen von
border-top
,border-right
,border-bottom
undborder-left
und deren 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 Entsprechungen 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 Eigenschaft
transform-origin
in SVG und Implementierung der Eigenschafttransform-box
(Firefox-Fehler 923193).
HTML
<a>
ohne einhref
-Attribut wird nicht mehr als interaktiver Inhalt klassifiziert. Ein Klick darauf innerhalb eines<label>
aktiviert den beschrifteten Inhalt (Firefox-Fehler 1167816).- SVG-Icons werden jetzt für Site-Icons unterstützt, d.h. Favicons und Shortcut-Icons (Firefox-Fehler 366324).
- Das
crossorigin
-Attribut wird jetzt für <link rel='preconnect'> unterstützt (Firefox-Fehler 1174152). - Das
picture
-Element reagiert nicht mehr auf Größenänderungen des Viewports (Firefox-Fehler 1135812).
JavaScript
Date.prototype
ist jetzt ein gewöhnliches Objekt und keinDate
-Instanz mehr (Firefox-Fehler 861219).Date.prototype.toString
ist jetzt eine generische Methode (Firefox-Fehler 861219).Symbol.species
wurde hinzugefügt (Firefox-Fehler 1131043).Map[Symbol.species]
undSet[Symbol.species]
Getter wurden hinzugefügt (Firefox-Fehler 1131043).- Die nicht standardmäßige Unterstützung für let expression wurde entfernt (Firefox-Fehler 1023609).
- Destructured parameters with default value assignment werden jetzt unterstützt (Firefox-Fehler 1018628).
- Gemäß ES2015 sind geschweifte Klammern für Methodendefinitionen erforderlich. Syntaxen ohne diese werden von nun an fehlschlagen (Firefox-Fehler 1150855).
- Methodendefinitionen (außer für Generator-Methoden) sind nicht mehr konstruierbar (Firefox-Fehler 1059908 und Firefox-Fehler 1166950).
- Im Rahmen der ES2015-Spezifikationskonformität werden parenthesierte Destrukturierungsmuster, wie
([a, b]) = [1, 2]
oder({a, b}) = { a: 1, b: 2 }
, jetzt als ungültig angesehen und werfen einenSyntaxError
. Weitere Details finden Sie auf Jeff Waldens Blogbeitrag. - Die
new.target
-Syntax wurde hinzugefügt (Firefox-Fehler 1141865).
Schnittstellen/APIs/DOM
HTML-Bearbeitungs-API
-
Die Handhabung von Ausschneiden-, Kopieren- und Einfügebefehlen wurde überarbeitet und erlaubt jetzt das programmgesteuerte Kopieren und Ausschneiden von JS für Webinhalte:
- Mit dem
'paste'
-Befehl als Argument gibtDocument.queryCommandSupported()
jetztfalse
zurück, wenn unzureichende Berechtigungen bestehen, um die Aktion tatsächlich auszuführen (Firefox-Fehler 1161721). - Mit den
'cut'
- oder'copy'
-Befehlen als Argument gibtDocument.queryCommandSupported()
jetzttrue
zurück, wenn es im Kontext von benutzerinitiiertem oder privilegiertem Code aufgerufen wird (Firefox-Fehler 1162952). - Mit den
'cut'
- oder'copy'
-Befehlen als Argument funktioniertDocument.execCommand()
jetzt, jedoch nur im Kontext von benutzerinitiiertem oder privilegiertem Code (Firefox-Fehler 1012662). - Anstatt eine Ausnahme zu erzeugen, wenn
Document.execCommand()
der Befehl nicht unterstützt oder aktiviert ist (Firefox-Fehler 1027560).
- Mit dem
Ereignisse
- Die nicht standardmäßige Methode
initCloseEvent()
desCloseEvent
-Ereignisses und die Möglichkeit, einCloseEvent
mit der Methodedocument.createEvent('CloseEvent')
zu erstellen, wurden entfernt; verwenden Sie stattdessen den Standardkonstruktor,CloseEvent()
(Firefox-Fehler 1161950). - Auf Desktop ist
PointerEvent
jetzt standardmäßig in Nightly aktiviert; es ist nicht in der Developer Edition, Beta oder Release aktiviert und wird es auch für einige Versionen nicht sein (Firefox-Fehler 1166347). - Die unpräfixierte Version von
MouseEvent.movementX
undMouseEvent.movementY
wurde hinzugefügt; die präfixierten Versionen sind veraltet und werden in Zukunft entfernt (Firefox-Fehler 1164981).
Web-Kryptografie
SubtleCrypto.importKey()
undSubtleCrypto.exportKey()
unterstützen jetztECDH
-Schlüssel (Firefox-Fehler 1050175).
Canvas-API
HTMLCanvasElement.captureStream()
undCanvasCaptureMediaStream
wurden hinzugefügt und ermöglichen das Streaming der Anzeige eines<canvas>
in Echtzeit (Firefox-Fehler 1032848).MediaStream.id
gibt jetzt die eindeutige ID eines Streams zurück (Firefox-Fehler 1089798).- Der Anfangswert von
CanvasRenderingContext2D.filter
ist jetzt korrekt aufnone
gesetzt (Firefox-Fehler 1163124).
Service Workers
-
Verbesserung unserer experimentellen Service Worker-Implementierung:
ServiceWorkerGlobalScope.skipWaiting()
wurde implementiert (Firefox-Fehler 1131352).Clients.claim()
wurde hinzugefügt (Firefox-Fehler 1130684).- Die anderen funktionalen Ereignisse von Service Workers wurden veranlasst, von
ExtendableEvent
zu erben, wodurch sie Zugriff auf die MethodewaitUntil()
erhalten (Firefox-Fehler 1160527).
-
Die Schnittstellen
CacheStorage
undCache
werden jetzt unterstützt (Firefox-Fehler 1110144).
WebGL
- Das
failIfMajorPerformanceCaveat
WebGL-Kontextattribut wurde hinzugefügt und kann beim Erstellen eines WebGL-Kontexts mitHTMLCanvasElement.getContext()
gesetzt werden, um anzugeben, ob die Kontexterstellung fehlschlagen soll, wenn die Systemleistung niedrig ist (Firefox-Fehler 1164970).
WebRTC
- Firefox bietet keinen Standard-STUN-Server mehr an, der verwendet wird, wenn kein Server angegeben ist, wenn eine neue
RTCPeerConnection
erstellt wird. Sie müssen einen angeben, um erfolgreich eine WebRTC-Verbindung herzustellen.
Sonstiges
- Unter OS X und Windows ändert sich
Navigator.onLine
jetzt in Bezug auf die Netzwerkkonnektivität (es gab zuvor immertrue
zurück, es sei denn, der Modus "Offline arbeiten" war ausgewählt) (Firefox-Fehler 654579). MessagePort
undMessageChannel
sind jetzt in Webarbeitern verfügbar und in allen Kontexten standardmäßig aktiviert (Firefox-Fehler 952139) und (Firefox-Fehler 911972).- Die User Timing API ist jetzt in Webarbeitern verfügbar (Firefox-Fehler 1155761).
- Die Benachrichtigungs-API ist jetzt in Webarbeitern verfügbar (Firefox-Fehler 916893).
DOMRequest
undDOMCursor
sind jetzt in Webarbeitern verfügbar (Firefox-Fehler 1167650).- Die CSS-Schriftartenlade-API wurde vollständig implementiert und ist jetzt standardmäßig aktiviert (Firefox-Fehler 1149381).
- Shared-Worker können nicht mehr zwischen privaten (d.h. beim Browsen in einem privaten Fenster) und nicht privaten Dokumenten gemeinsam genutzt werden (siehe Firefox-Fehler 1177621).
- Die
URL.searchParams
-Eigenschaft ist jetzt schreibgeschützt (Firefox-Fehler 1174731). - Die
HTMLAnchorElement.hash
-Eigenschaft decodiert das URL-Fragment nicht mehr (Firefox-Fehler 1093611).
MathML
Neues Standard- und Ersatzschriftarten-Handling
Mathematische Formeln benötigen spezielle Schriftarten. Bisher waren diese Schriftarten in der User-Agent-Stylesheet mathml.css
fest kodiert (die die Schriftfamilie auf dem <math>
-Tag setzt) und in der Präferenzoption font.mathfont-family
(die die Ersatzschriftarten für dehnbare und große Operatoren festlegt). Firefox 41 führt eine interne x-math
-Sprache ein, die automatisch auf dem <math>
-Tag gesetzt wird, sowie entsprechende Präferenzoptionen (z. B. font.name.serif.x-math
). Das User-Agent-Stylesheet setzt jetzt die Schriftfamilie auf Serife auf dem <math>
-Tag und die Präferenzoption font.mathfont-family
wird durch font.name.serif.x-math
ersetzt. Alle Plattformen verwenden jetzt im Wesentlichen die gleiche Liste von Ersatzschriftarten, wobei "Latin Modern Math" die erste ist. Die Standard-/Ersatzschriftarten können aus dem standardmäßigen prädiktierten Schriftartenpräferenzmenü konfiguriert werden. Weitere Details finden Sie im Firefox-Fehler 947654 und Firefox-Fehler 1160456.
SVG
- Website-Icons (Favicons, Shortcut-Icons) unterstützen jetzt SVG (Firefox-Fehler 366324).
Audio/Video
- Die Einstellung
media.autoplay.enabled
gilt jetzt auch für nicht vertrauenswürdigeHTMLMediaElement.play()
-Aufrufe, d.h. Aufrufe aus nicht benutzeraktivierten Skripten (Firefox-Fehler 659285).
Netzwerke
- Der
X-Content-Duration
-Header wird nicht mehr unterstützt (Firefox-Fehler 1160695). - Entwurfsfassungen des HTTP/2-Protokolls werden nicht mehr unterstützt (Firefox-Fehler 1132357).
Sicherheit
- Die CSP 1.1
manifest-src
Direktive wird jetzt unterstützt (Firefox-Fehler 1089255). - Frühere Versionen von Firefox erwarteten fälschlicherweise, dass der Content Security Policy referrer-Direktivwert
origin-when-cross-origin
alsorigin-when-crossorigin
geschrieben wird. Dies wurde korrigiert, um das fehlende Bindestrichzeichen einzuschließen.
Änderungen für Add-on- und Mozilla-Entwickler
XUL
Keine Änderung.
JavaScript-Code-Module
Keine Änderung.
XPCOM
Schnittstellen
Keine Änderung.
Sonstiges
- Eine neue, interne und nur im Chrome-Kontext verfügbare API zum Rendern des Root-Widgets eines Fensters in ein
<canvas>
wurde hinzugefügt:CanvasRenderingContext2D.drawWidgetAsOnScreen()
. Diese API verwendet das Betriebssystem, um das Widget auf dem Bildschirm aufzunehmen. Weitere Details finden Sie im Firefox-Fehler 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