Firefox 41 Versionshinweise 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. In diesem Artikel werden die wichtigsten Änderungen aufgelistet, 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
Highlights:
- Ein Bildschirmfoto eines DOM-Knotens erstellen
- Als HAR kopieren/speichern
- „Regel hinzufügen“-Button in der Regelübersicht
- Quelltext in einem Tab anzeigen (Standardmäßig deaktiviert)
- Weitere Optionen zum Kopieren von CSS-Regeln
- Bild als Daten-URL im Regelbereich kopieren
- Befehl zu GCLI hinzugefügt, um CSP-Infos anzuzeigen
Alle behobenen DevTools-Fehler zwischen Firefox 40 und Firefox 41: Beachten Sie, dass viele dieser Fehler, insbesondere jene im Zusammenhang mit den Performance-Werkzeugen, auf Firefox 40 zurückübertragen wurden.
CSS
-
Unterstützung für die Anordnung vertikaler Schriften wurde standardmäßig aktiviert (Firefox Bug 1138384). Das bedeutet, dass die folgenden CSS-Eigenschaften nun verfügbar sind:
- Auswahl der Schreibrichtung:
writing-mode. - Steuerung der Ausrichtung von Zeichen:
text-orientation. - Richtungsunabhängige Äquivalente von
widthundheight:block-sizeundinline-size. - Richtungsunabhängige Äquivalente von
min-widthundmin-height:min-block-sizeundmin-inline-size. - Richtungsunabhängige Äquivalente von
max-widthundmax-height:max-block-sizeundmax-inline-size. - Richtungsunabhängige Äquivalente von
margin-top,margin-right,margin-bottomundmargin-left:margin-block-start,margin-block-end,margin-inline-startundmargin-inline-end. - Richtungsunabhängige Äquivalente von
padding-top,padding-right,padding-bottomundpadding-left:padding-block-start,padding-block-end,padding-inline-startundpadding-inline-end. - Richtungsunabhängige Äquivalente von
border-top,border-right,border-bottomundborder-leftund 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-styleundborder-inline-end-color. - Richtungsunabhängige Äquivalente von
top,right,bottomundleft:offset-block-start,offset-block-end,offset-inline-startundoffset-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>ohnehref-Attribut wird nicht mehr als interaktiver Inhalt eingestuft. Ein Klick darauf innerhalb eines<label>wird den bezeichneten Inhalt aktivieren (Firefox Bug 1167816).- SVG-Icons werden jetzt für Site-Icons, d.h. Favicons und Shortcut-Icons, unterstützt (Firefox Bug 366324).
- Das
crossorigin-Attribut wird nun für <link rel='preconnect'> unterstützt (Firefox Bug 1174152). - Das Bild-Element reagiert nicht auf Größenänderungen des Viewports (Firefox Bug 1135812).
JavaScript
Date.prototypeist jetzt ein gewöhnliches Objekt und nicht mehr eineDate-Instanz (Firefox Bug 861219).Date.prototype.toStringist jetzt eine generische Methode (Firefox Bug 861219).Symbol.specieswurde hinzugefügt (Firefox Bug 1131043).Map[Symbol.species]undSet[Symbol.species]Getter wurden hinzugefügt (Firefox Bug 1131043).- Die Unterstützung für nicht standardkonforme Let-Ausdrücke wurde entfernt (Firefox Bug 1023609).
- Dekonstruierte Parameter mit Standardwertzuweisung werden jetzt unterstützt (Firefox Bug 1018628).
- Laut ES2015 sind geschweifte Klammern bei Methodendefinitionen erforderlich. Syntax ohne sie wird zukünftig fehlschlagen (Firefox Bug 1150855).
- Methodendefinitionen (außer für Generator-Methoden) sind nicht mehr konstruierbar (Firefox Bug 1059908 und Firefox Bug 1166950).
- Im Rahmen der Konformität mit der ES2015-Spezifikation werden geklammerte Destrukturierungsmuster, wie
([a, b]) = [1, 2]oder({a, b}) = { a: 1, b: 2 }, jetzt als ungültig betrachtet und werfen einenSyntaxError. Weitere Einzelheiten finden Sie in Jeff Waldens Blogbeitrag. - Die
new.target-Syntax wurde hinzugefügt (Firefox Bug 1141865).
Schnittstellen/APIs/DOM
HTML-Bearbeitungs-API
- Die Bearbeitung von Ausschneiden-, Kopieren- und Einfügen-Befehlen wurde überarbeitet und ermöglicht jetzt das programmatische Kopieren und Ausschneiden von JS für Web-Inhalte:
- Mit dem Befehl
'paste'als Argument gibtDocument.queryCommandSupported()jetztfalsezurück, wenn es unzureichende Berechtigungen hat, um die Aktion tatsächlich auszuführen (Firefox Bug 1161721). - Mit dem Befehl
'cut'oder'copy'als Argument gibtDocument.queryCommandSupported()jetzttruezurück, wenn es im Kontext von benutzerinitiiertem oder privilegiertem Code aufgerufen wird (Firefox Bug 1162952). - Mit dem Befehl
'cut'oder'copy'als Argument funktioniertDocument.execCommand()jetzt, jedoch nur im Kontext von benutzerinitiiertem oder privilegiertem Code (Firefox Bug 1012662). - Anstatt eine Ausnahme auszulösen, wenn der Befehl nicht unterstützt oder aktiviert ist, gibt
Document.execCommand()einfachfalsezurück (Firefox Bug 1027560).
- Mit dem Befehl
Events
- Die nicht standardkonforme
initCloseEvent()-Methode desCloseEvent-Events und die Möglichkeit, einCloseEventüber diedocument.createEvent('CloseEvent')-Methode zu erstellen, wurde entfernt; verwenden Sie stattdessen den Standardkonstruktor,CloseEvent()(Firefox Bug 1161950). - Auf dem Desktop ist
PointerEventjetzt standardmäßig in Nightly aktiviert; es ist nicht in Developer Edition, Beta oder Release aktiviert und wird es für mindestens einige Versionen nicht sein (Firefox Bug 1166347). - Die unpräfixierten Versionen von
MouseEvent.movementXundMouseEvent.movementYwurden hinzugefügt; die präfixierten Versionen sind veraltet und werden irgendwann entfernt (Firefox Bug 1164981).
Web-Crypto
SubtleCrypto.importKey()undSubtleCrypto.exportKey()unterstützen jetztECDH-Schlüssel (Firefox Bug 1050175).
Canvas-API
HTMLCanvasElement.captureStream()undCanvasCaptureMediaStreamwurden hinzugefügt und ermöglichen das Streaming der Anzeige eines<canvas>in Echtzeit (Firefox Bug 1032848).MediaStream.idgibt jetzt die eindeutige ID eines Streams zurück (Firefox Bug 1089798).- Der Anfangswert von
CanvasRenderingContext2D.filterwird nun korrekt aufnonegesetzt (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 wurden so gestaltet, dass sie von
ExtendableEventerben, wodurch sie Zugriff auf diewaitUntil()-Methode haben (Firefox Bug 1160527).
-
Die
CacheStorage- undCache-Schnittstellen werden nun unterstützt (Firefox Bug 1110144).
WebGL
- Das
failIfMajorPerformanceCaveatWebGL-Kontextattribut wurde hinzugefügt und kann beim Erstellen eines WebGL-Kontexts mitHTMLCanvasElement.getContext()gesetzt werden, um anzugeben, ob die Erstellung eines Kontexts scheitern soll, wenn die Systemleistung gering ist (Firefox Bug 1164970).
WebRTC
- Firefox bietet keine standardmäßigen STUN-Server mehr an, die verwendet werden, wenn keine angegeben sind, wenn eine neue
RTCPeerConnectionkonstruiert wird. Sie müssen einen angeben, um eine WebRTC-Verbindung erfolgreich herzustellen.
Sonstiges
- Auf OS X und Windows ändert sich
Navigator.onLinenun je nach Netzwerkverbindung (es gab vorher immertruezurück, es sei denn, der Modus „Offline arbeiten“ war aktiviert) (Firefox Bug 654579). MessagePortundMessageChannelsind jetzt in Webworkern verfügbar und sind standardmäßig in allen Kontexten aktiviert (Firefox Bug 952139) und (Firefox Bug 911972).- Die User Timing API ist jetzt in Webworkern verfügbar (Firefox Bug 1155761).
- Die Benachrichtigungs-API ist jetzt in Webworkern verfügbar (Firefox Bug 916893).
DOMRequestundDOMCursorsind jetzt in Webworkern verfügbar (Firefox Bug 1167650).- Die CSS-Schriftarten-Lade-API wurde vollständig implementiert und ist jetzt standardmäßig aktiviert (Firefox Bug 1149381).
- Gemeinsame Worker können nicht mehr zwischen privaten (d.h. in einem privaten Fenster) 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 Fragmente von URLs nicht mehr (Firefox Bug 1093611).
MathML
Neue Standard- und Fallback-Schrifthandhabung
Mathematische Formeln erfordern spezielle Schriftarten. Bisher waren diese Schriftarten im mathml.css-Nutzeagenten-Stylesheet hartcodiert (was die Schriftfamilie auf dem <math>-Tag festlegt) und in der Einstellung font.mathfont-family (die die Ersatzschriften zum Verwenden 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 Einstellungsoptionen (z. B. font.name.serif.x-math). Das Benutzeragenten-Stylesheet setzt nun die Schriftfamilie auf serif für den <math>-Tag und die Einstellungsoption font.mathfont-family wird durch font.name.serif.x-math ersetzt. Alle Plattformen verwenden jetzt im Wesentlichen die gleiche Liste von Ersatzschriften, mit "Latin Modern Math" als erste. Die Standard/Ersatzschriften können über das standardmäßige Einstellungsmenü pro Sprache konfiguriert werden. Weitere Details finden Sie unter Firefox Bug 947654 und Firefox Bug 1160456.
SVG
- Site-Icons (Favicons, Shortcut-Icons) unterstützen jetzt SVG (Firefox Bug 366324).
Audio/Video
- Die Einstellung
media.autoplay.enabledgilt 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-srcDirektive wird jetzt unterstützt (Firefox Bug 1089255). - Frühere Versionen von Firefox erwarteten fälschlicherweise, dass der Wert der Referrer-Direktive der Content-Security-Policy
origin-when-cross-originalsorigin-when-crossorigingeschrieben wird. Dies wurde korrigiert, um das fehlende Bindestrichzeichen einzuschließen.
Ä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 für Chrome-Kontext geeignete API zum Rendern des Stamm-Widgets eines Fensters in ein
<canvas>wurde hinzugefügt:CanvasRenderingContext2D.drawWidgetAsOnScreen(). Diese API verwendet das Betriebssystem, um das Widget im Bildschirm zu erfassen. Für weitere Details siehe Firefox Bug 1167477.