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. 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
>Entwicklerwerkzeuge
Highlights:
- Machen Sie einen Screenshot eines DOM-Nodes
- Copy as HAR/save as HAR
- "Add Rule"-Button in der Regeln-Ansicht
- Quelltext in einem Tab anzeigen (standardmäßig deaktiviert)
- Mehr Optionen zum Kopieren von CSS-Regeln
- Bild als Daten-URL in der Regeln-Ansicht kopieren
- Befehl in GCLI hinzugefügt, um CSP-Informationen anzuzeigen
Alle behobenen Devtools-Bugs zwischen Firefox 40 und Firefox 41: Beachten Sie, dass viele dieser Bugs, insbesondere die betreffend die Performance-Tools, in Firefox 40 hochgezogen wurden.
CSS
-
Unterstützung für vertikale Schriftarten 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 Entsprechungen von
widthundheight:block-sizeundinline-size. - Richtungsunabhängige Entsprechungen von
min-widthundmin-height:min-block-sizeundmin-inline-size. - Richtungsunabhängige Entsprechungen von
max-widthundmax-height:max-block-sizeundmax-inline-size. - Richtungsunabhängige Entsprechungen von
margin-top,margin-right,margin-bottomundmargin-left:margin-block-start,margin-block-end,margin-inline-startundmargin-inline-end. - Richtungsunabhängige Entsprechungen von
padding-top,padding-right,padding-bottomundpadding-left:padding-block-start,padding-block-end,padding-inline-startundpadding-inline-end. - Richtungsunabhängige Entsprechungen von
border-top,border-right,border-bottomundborder-leftund 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-styleundborder-inline-end-color. - Richtungsunabhängige Entsprechungen von
top,right,bottomundleft:offset-block-start,offset-block-end,offset-inline-startundoffset-inline-end.
- Auswahl der Schreibrichtung:
-
Unterstützung der Eigenschaft
transform-originin SVG und Implementierung der Eigenschafttransform-box(Firefox-Bug 923193).
HTML
- Ein
<a>ohnehref-Attribut wird nicht mehr als interaktiver Inhalt klassifiziert. Ein Klick darauf innerhalb eines<label>aktiviert jetzt gelabelte Inhalte (Firefox-Bug 1167816). - SVG-Icons werden jetzt für Webseiten-Icons unterstützt, das heißt Favicons und Shortcut-Icons (Firefox-Bug 366324).
- Das Attribut
crossoriginwird 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.prototypeist jetzt ein gewöhnliches Objekt, nicht mehr eine Instanz vonDate(Firefox-Bug 861219).Date.prototype.toStringist jetzt eine generische Methode (Firefox-Bug 861219).Symbol.specieswurde hinzugefügt (Firefox-Bug 1131043).- Getter für
Map[Symbol.species]undSet[Symbol.species]wurden hinzugefügt (Firefox-Bug 1131043). - Nicht standardmäßige Unterstützung für let-Ausdrücke wurde entfernt (Firefox-Bug 1023609).
- Destrukturierte Parameter mit Standardwertzuweisung werden jetzt unterstützt (Firefox-Bug 1018628).
- Laut ES2015 sind geschweifte Klammern für Methodendefinitionen erforderlich. Syntax ohne sie wird künftig fehlschlagen (Firefox-Bug 1150855).
- Methodendefinitionen (außer generative Methoden) sind nicht mehr konstruierbar (Firefox-Bug 1059908 und Firefox-Bug 1166950).
- Im Zuge der ES2015-Spezifikationskonformität werden parenthesierte Destrukturierungsmuster, wie
([a, b]) = [1, 2]oder({a, b}) = { a: 1, b: 2 }, jetzt als ungültig betrachtet und führen zu einemSyntaxError. Siehe Jeff Waldens Blogpost für weitere Details. - Die
new.targetSyntax wurde hinzugefügt (Firefox-Bug 1141865).
Schnittstellen/APIs/DOM
HTML-Bearbeitungs-API
- Die Verarbeitung von Ausschneide-, Kopier- und Einfügebefehlen wurde überarbeitet und ermöglicht nun das programmatische Kopieren und Ausschneiden von JS für Webinhalte:
- Mit dem Befehl
'paste'als Argument gibtDocument.queryCommandSupported()jetztfalsezurück, wenn nicht genügend Berechtigungen für die Ausführung der Aktion vorhanden sind (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 innerhalb des Kontextes von benutzerinitiiertem oder privilegiertem Code (Firefox-Bug 1012662). - Statt eine Ausnahme auszulösen, wird
Document.execCommand()verwendet, wenn der Befehl nicht unterstützt oder aktiviert ist (Firefox-Bug 1027560).
- Mit dem Befehl
Ereignisse
- Die nicht standardmäßige Methode
initCloseEvent()desCloseEvent-Ereignisses und die Möglichkeit, einCloseEventmit der Methodedocument.createEvent('CloseEvent')zu erstellen, wurde entfernt; verwenden Sie stattdessen den StandardkonstruktorCloseEvent()(Firefox-Bug 1161950). - Auf dem Desktop ist
PointerEventjetzt standardmäßig im Nightly aktiviert; es ist nicht im Developer Edition, Beta oder Release aktiviert und wird es mindestens für einige Versionen nicht sein (Firefox-Bug 1166347). - Die unpräfixierte Version von
MouseEvent.movementXundMouseEvent.movementYwurden hinzugefügt; die präfixierten Versionen sind veraltet und werden zu einem späteren Zeitpunkt 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 Echtzeit-Streaming der Anzeige eines<canvas>(Firefox-Bug 1032848).MediaStream.idgibt jetzt die eindeutige ID eines Streams zurück (Firefox-Bug 1089798).- Der Initialwert von
CanvasRenderingContext2D.filterist jetzt korrekt aufnonegesetzt (Firefox-Bug 1163124).
Service Workers
-
Verbesserung unserer experimentellen Implementierung von Service Worker:
ServiceWorkerGlobalScope.skipWaiting()wurde implementiert (Firefox-Bug 1131352).Clients.claim()wurde hinzugefügt (Firefox-Bug 1130684).- Die anderen funktionalen Ereignisse von Service Workers wurden so verändert, dass sie von
ExtendableEventerben, was ihnen Zugriff auf die MethodewaitUntil()gibt (Firefox-Bug 1160527).
-
Die Schnittstellen
CacheStorageundCachewerden jetzt unterstützt (Firefox-Bug 1110144).
WebGL
- Das
failIfMajorPerformanceCaveatWebGL-Kontextattribut wurde hinzugefügt und kann beim Erstellen eines WebGL-Kontextes mitHTMLCanvasElement.getContext()gesetzt werden, um anzugeben, ob die Erstellung des Kontexts fehlschlagen soll, wenn die Systemleistung gering ist (Firefox-Bug 1164970).
WebRTC
- Firefox bietet standardmäßig keinen STUN-Server mehr an, wenn keiner beim Erstellen einer neuen
RTCPeerConnectionangegeben wird. Sie müssen einen bereitstellen, um eine WebRTC-Verbindung erfolgreich zu etablieren.
Verschiedenes
- Unter OS X und Windows ändert sich
Navigator.onLinejetzt im Hinblick auf die Netzwerkverbindung (es hatte vorher immertruezurückgegeben, es sei denn, der Modus "Offline arbeiten" wurde ausgewählt) (Firefox-Bug 654579). MessagePortundMessageChannelsind jetzt in Webarbeitern verfügbar und sind standardmäßig in allen Kontexten aktiviert (Firefox-Bug 952139) und (Firefox-Bug 911972).- Die Benutzerzeit-API ist jetzt in Webarbeitern verfügbar (Firefox-Bug 1155761).
- Die Notifications API ist jetzt in Webarbeitern verfügbar (Firefox-Bug 916893).
DOMRequestundDOMCursorsind 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).
- Gemeinsame Arbeiter können nicht mehr zwischen privaten (d.h. beim Browsen in einem privaten Fenster) und nicht-privaten Dokumenten geteilt werden (siehe Firefox-Bug 1177621).
- Die Eigenschaft
URL.searchParamsist jetzt schreibgeschützt (Firefox-Bug 1174731). - Die Eigenschaft
HTMLAnchorElement.hashdekodiert URL-Fragmente nicht mehr (Firefox-Bug 1093611).
MathML
Neue Standard- und Fallback-Schriftbehandlung
Mathematische Formeln erfordern spezielle Schriftarten. Bisher waren diese Schriftarten im mathml.css-User-Agent-Stylesheet (das die Schriftfamilie auf dem <math>-Tag festlegt) und in der Präferenzoption font.mathfont-family (die die Fallback-Schriftarten zur Verwendung für dehnbare und große Operatoren festlegt) fest codiert. 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 Serif 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 Fallback-Schriftarten, mit "Latin Modern Math" als erste. Die Standard-/Fallback-Schriftarten können im Standard-Schriftartenpräferenzmenü pro Sprache konfiguriert werden. Für weitere Details siehe Firefox-Bug 947654 und Firefox-Bug 1160456.
SVG
- Seiten-Icons (Favicons, Shortcut-Icons) unterstützen jetzt SVG (Firefox-Bug 366324).
Audio/Video
- Die Präferenz
media.autoplay.enabledgilt jetzt auch für nicht vertrauenswürdige Aufrufe vonHTMLMediaElement.play(), d.h. Aufrufe von nicht vom Benutzer initiierten Skripten (Firefox-Bug 659285).
Netzwerk
- Der
X-Content-Duration-Header wird nicht mehr unterstützt (Firefox-Bug 1160695). - Entwürfe der HTTP/2-Protokollversionen werden nicht mehr unterstützt (Firefox-Bug 1132357).
Sicherheit
- Die CSP 1.1
manifest-srcDirektive wird jetzt unterstützt (Firefox-Bug 1089255). - Frühere Firefox-Versionen erwarteten fälschlicherweise, dass der Wert der Content Security Policy-Referrer-Direktive
origin-when-cross-originalsorigin-when-crossorigingeschrieben wird. Dies wurde korrigiert, um den fehlenden Bindestrich hinzuzufügen.
Ä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 im Chrome-Kontext verfügbare API, um das Root-Widget eines Fensters in ein
<canvas>zu rendern, wurde hinzugefügt:CanvasRenderingContext2D.drawWidgetAsOnScreen(). Diese API verwendet das Betriebssystem, um das Widget auf dem Bildschirm zu erfassen. Für weitere Details siehe Firefox-Bug 1167477.