Firefox 41 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie 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:
- Erstellen Sie einen Screenshot eines DOM-Knotens
- Kopieren als HAR/speichern als HAR
- "Regel hinzufügen"-Taste in der Regelansicht
- Quelltext in einem Tab anzeigen (Standardmäßig deaktiviert)
- Mehr Optionen zum Kopieren von CSS-Regeln
- Bild als Data-URL in der Regelansicht kopieren
- Befehl zu GCLI hinzugefügt, um CSP-Informationen anzuzeigen
Alle Devtools-Bugs, die zwischen Firefox 40 und Firefox 41 behoben wurden: beachten Sie, dass viele dieser Bugs, insbesondere diejenigen, die sich auf die Leistungstools beziehen, auf Firefox 40 übertragen wurden.
CSS
-
Unterstützung für die Layoutdarstellung vertikaler Schriften wurde standardmäßig aktiviert (Firefox-Bug 1138384). Das bedeutet, dass folgende CSS-Eigenschaften jetzt verfügbar sind:
- Wahl der Schreibrichtung:
writing-mode
. - Kontrolle 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-inline-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 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 Äquivalente von
top
,right
,bottom
undleft
:offset-block-start
,offset-block-end
,offset-inline-start
undoffset-inline-end
.
- Wahl der Schreibrichtung:
-
Unterstützung des
transform-origin
-Eigenschaft in SVG und Implementierung dertransform-box
-Eigenschaft (Firefox-Bug 923193).
HTML
<a>
ohnehref
-Attribut wird nicht mehr als interaktiver Inhalt klassifiziert. Ein Klick darauf im Inneren von<label>
aktiviert den beschrifteten Inhalt (Firefox-Bug 1167816).- SVG-Icons werden jetzt für Website-Icons unterstützt, also Favicons und Shortcut-Icons (Firefox-Bug 366324).
- Das
crossorigin
-Attribut wird jetzt 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 keinDate
-Instanz mehr (Firefox-Bug 861219).Date.prototype.toString
ist jetzt eine generische Methode (Firefox-Bug 861219).Symbol.species
wurde hinzugefügt (Firefox-Bug 1131043).- Getter für
Map[Symbol.species]
undSet[Symbol.species]
wurden hinzugefügt (Firefox-Bug 1131043). - Unterstützung für nicht-standardmäßige let-Ausdruck wurde eingestellt (Firefox-Bug 1023609).
- Destrukturierte Parameter mit Standardwertzuweisung werden jetzt unterstützt (Firefox-Bug 1018628).
- Gemäß ES2015 sind geschweifte Klammern bei Methodendefinitionen erforderlich. Syntax ohne diese wird ab jetzt fehlschlagen (Firefox-Bug 1150855).
- Methodendefinitionen (außer für Generatormethoden) sind nicht mehr aufrufbar (Firefox-Bug 1059908 und Firefox-Bug 1166950).
- Im Rahmen der ES2015-Spezifikationskonformität werden in Klammern gesetzte Destruktionsmuster, wie
([a, b]) = [1, 2]
oder({a, b}) = { a: 1, b: 2 }
, jetzt als ungültig betrachtet und werfen einenSyntaxError
. Siehe Jeff Waldens Blog-Post für weitere Details. - Die
new.target
-Syntax wurde hinzugefügt (Firefox-Bug 1141865).
Schnittstellen/APIs/DOM
HTML-Editing-API
-
Das Handling von Ausschneide-, Kopier- und Einfügebefehlen wurde überarbeitet und erlaubt nun das programmatische Kopieren und Ausschneiden aus JavaScript für Webinhalte:
- Mit dem Befehl
'paste'
als Argument gibtDocument.queryCommandSupported()
jetztfalse
zurück, wenn er nicht über ausreichende Berechtigungen verfügt, die Aktion tatsächlich auszuführen (Firefox-Bug 1161721). - Mit den Befehlen
'cut'
oder'copy'
als Argument gibtDocument.queryCommandSupported()
jetzttrue
zurück, wenn sie im Kontext von benutzerinitiiertem oder privilegiertem Code aufgerufen werden (Firefox-Bug 1162952). - Mit den Befehlen
'cut'
oder'copy'
als Argument funktioniertDocument.execCommand()
jetzt, aber nur im Kontext von benutzerinitiiertem oder privilegiertem Code (Firefox-Bug 1012662). - Anstatt eine Ausnahme auszulösen, wird von
Document.execCommand()
nichts ausgelöst, wenn der Befehl nicht unterstützt oder aktiviert ist (Firefox-Bug 1027560).
- Mit dem Befehl
Ereignisse
- Die nicht-standardisierte Methode
initCloseEvent()
desCloseEvent
-Ereignisses und die Möglichkeit einCloseEvent
mit der Methodedocument.createEvent('CloseEvent')
zu erstellen, wurden entfernt; nutzen Sie stattdessen den Standardkonstruktor,CloseEvent()
(Firefox-Bug 1161950). - Auf dem Desktop ist
PointerEvent
jetzt standardmäßig in der Nightly-Version aktiviert; es ist nicht in der Developer Edition, Beta oder Release aktiviert und wird es in absehbarer Zeit 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 in Zukunft entfernt (Firefox-Bug 1164981).
Web-Krypto
SubtleCrypto.importKey()
undSubtleCrypto.exportKey()
unterstützen jetztECDH
-Schlüssel (Firefox-Bug 1050175).
Canvas-API
HTMLCanvasElement.captureStream()
undCanvasCaptureMediaStream
wurden hinzugefügt und ermöglichen das Streamen 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 Worker
-
Verbesserung unserer experimentellen Service Worker-Implementierung:
ServiceWorkerGlobalScope.skipWaiting()
wurde implementiert (Firefox-Bug 1131352).Clients.claim()
wurde hinzugefügt (Firefox-Bug 1130684).- Die anderen Funktionalereignisse von Service Workers erben jetzt von
ExtendableEvent
, sodass sie Zugriff auf diewaitUntil()
-Methode haben (Firefox-Bug 1160527).
-
Die Schnittstellen
CacheStorage
undCache
werden jetzt unterstützt (Firefox-Bug 1110144).
WebGL
- Das
failIfMajorPerformanceCaveat
WebGL-Kontext-Attribut wurde hinzugefügt und kann beim Erstellen eines WebGL-Kontexts mitHTMLCanvasElement.getContext()
gesetzt werden, um anzugeben, ob die Erstellung eines Kontexts fehlschlagen soll, wenn die Systemleistung niedrig ist (Firefox-Bug 1164970).
WebRTC
- Firefox bietet keinen Standard-STUN-Server mehr an, wenn keiner angegeben wird, wenn ein neuer
RTCPeerConnection
konstruiert wird. Sie müssen einen angeben, um eine WebRTC-Verbindung erfolgreich herzustellen.
Verschiedenes
- Unter OS X und Windows ändert sich
Navigator.onLine
jetzt bezüglich der Netzwerkverbindung (es wurde immertrue
zurückgegeben, es sei denn der Modus "Offline arbeiten" war ausgewählt) (Firefox-Bug 654579). MessagePort
undMessageChannel
sind jetzt in Webarbeitern verfügbar und in allen Kontexten standardmäßig aktiviert (Firefox-Bug 952139) und (Firefox-Bug 911972).- Die User Timing API ist jetzt in Webarbeitern verfügbar (Firefox-Bug 1155761).
- Die Notifications API ist jetzt in Webarbeitern verfügbar (Firefox-Bug 916893).
DOMRequest
undDOMCursor
sind jetzt in Webarbeitern verfügbar (Firefox-Bug 1167650).- Die CSS Font Loading API wurde vollständig implementiert und ist jetzt standardmäßig aktiviert (Firefox-Bug 1149381).
- Geteilte Arbeiter können nicht mehr zwischen privaten (also im privaten Fenster stöbern) 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 mehr das URL-Fragment (Firefox-Bug 1093611).
MathML
Neue Standard- und Fallback-Schriftbehandlung
Mathematische Formeln erfordern spezielle Schriften. Bisher waren diese Schriften im mathml.css
-Benutzeragenten-Stylesheet fest kodiert (das die Schriftfamilie auf dem <math>
-Tag setzt) und in der Präferenzeinstellung font.mathfont-family
(die die Fallback-Schriften zum Verwenden für Streck- und Großoperatoren setzt). Firefox 41 führt eine interne x-math
-Sprache ein, die automatisch auf dem <math>
-Tag gesetzt wird, sowie entsprechende Präferenzeinstellungen (z. B. font.name.serif.x-math
). Das Benutzeragenten-Stylesheet setzt jetzt die Schriftfamilie auf Serif beim <math>
-Tag und die Präferenzeinstellung font.mathfont-family
wird durch font.name.serif.x-math
ersetzt. Alle Plattformen verwenden jetzt im Wesentlichen die gleiche Liste von Fallback-Schriften, mit "Latin Modern Math" als erste. Die Standard-/Fallback-Schriften können im standardmäßigen Schriftpräferenz-Menü pro Sprache konfiguriert werden. Für weitere Details siehe Firefox-Bug 947654 und Firefox-Bug 1160456.
SVG
- Seitenicons (Favicons, Shortcut -Icons) unterstützen jetzt SVG (Firefox-Bug 366324).
Audio/Video
- Die
media.autoplay.enabled
-Einstellung gilt jetzt auch für unzuverlässige Aufrufe vonHTMLMediaElement.play()
, d. h. Aufrufe von nicht-benutzeraktivierten Skripten (Firefox-Bug 659285).
Netzwerk
- 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 verlangten fälschlicherweise, dass der Wert
origin-when-cross-origin
der Content Security Policy referrer-Direktive alsorigin-when-crossorigin
geschrieben werden musste. Dies wurde jetzt korrigiert, um den fehlenden Bindestrich 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 auf den Chrome-Kontext beschränkte 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 zu fotografieren. Für weitere Details siehe Firefox-Bug 1167477.
Ältere Versionen
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers