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 nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.
Änderungen für Webentwickler
Entwicklerwerkzeuge
Höhepunkte:
- Erstellen Sie einen Screenshot eines DOM-Knotens
- Kopieren als HAR/speichern als HAR
- "Regel hinzufügen"-Button in der Regelnansicht
- Quelltext in einem Tab anzeigen (Standardmäßig deaktiviert)
- Weitere Optionen zum Kopieren von CSS-Regeln
- Bild als Daten-URL in der Regelnansicht kopieren
- Hinzugefügt: Befehl in GCLI, 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 die Performance-Tools betreffen, auf Firefox 40 übertragen wurden.
CSS
-
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
. - Kontrolle der Ausrichtung 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
.
- Auswahl der Schreibrichtung:
-
Unterstützung des
transform-origin
-Eigenschaft in SVG und Implementierung dertransform-box
-Eigenschaft (Firefox Bug 923193).
HTML
<a>
ohnehref
-Attribut wird nicht länger als interaktiver Inhalt klassifiziert. Ein Klick darauf innerhalb eines<label>
-Elements aktiviert nun den beschrifteten Inhalt (Firefox Bug 1167816).- SVG-Icons werden jetzt für Webseiten-Icons unterstützt, das heißt 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 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).- Getter für
Map[Symbol.species]
undSet[Symbol.species]
wurden hinzugefügt (Firefox Bug 1131043). - Die nicht standardisierte let expression-Unterstützung wurde entfernt (Firefox Bug 1023609).
- Destruierte Parameter mit Standardwertzuweisung werden jetzt unterstützt (Firefox Bug 1018628).
- Laut ES2015 sind geschweifte Klammern für Methodendefinitionen erforderlich. Syntax ohne diese wird nun fehlschlagen (Firefox Bug 1150855).
- Methodendefinitionen (außer generative Methoden) sind nun nicht mehr konstruierbar (Firefox Bug 1059908 und Firefox Bug 1166950).
- Im Rahmen der ES2015-Spezifikationskonformität werden paarweise auftrennte Destrukturierungsmuster, wie
([a, b]) = [1, 2]
oder({a, b}) = { a: 1, b: 2 }
, nun als ungültig angesehen und werfen einenSyntaxError
. Weitere Details finden Sie im Blogbeitrag von Jeff Walden. - Die
new.target
-Syntax wurde hinzugefügt (Firefox Bug 1141865).
Schnittstellen/APIs/DOM
HTML Editing API
-
Das Handling der Befehle zum Ausschneiden, Kopieren und Einfügen wurde überarbeitet und erlaubt nun das programmatische Kopieren und Ausschneiden aus JS für Web-Content:
- Mit dem Befehl
'paste'
als Argument gibtDocument.queryCommandSupported()
jetztfalse
zurück, wenn unzureichende Berechtigungen vorliegen, um die Aktion tatsächlich durchzuführen (Firefox Bug 1161721). - Mit den Befehlen
'cut'
oder'copy'
als Argument gibtDocument.queryCommandSupported()
nuntrue
zurück, wenn es im Kontext eines vom Benutzer initiierten oder privilegierten Codes aufgerufen wird (Firefox Bug 1162952). - Mit den Befehlen
'cut'
oder'copy'
als Argument funktioniert jetztDocument.execCommand()
, aber nur im Kontext von vom Benutzer initiierten oder privilegierten Codes (Firefox Bug 1012662). - Statt eine Ausnahme zu werfen, wenn der Befehl nicht unterstützt oder aktiviert ist, gibt
Document.execCommand()
keine Ausnahme mehr aus (Firefox Bug 1027560).
- Mit dem Befehl
Ereignisse
- Die nicht standardisierte
initCloseEvent()
-Methode desCloseEvent
Ereignisses und die Möglichkeit, einCloseEvent
mit der Methodedocument.createEvent('CloseEvent')
zu erstellen, wurde entfernt; verwenden Sie stattdessen den Standardkonstruktor,CloseEvent()
(Firefox Bug 1161950). - Auf dem Desktop ist
PointerEvent
nun standardmäßig in Nightly aktiviert; es ist in Developer Edition, Beta oder Release nicht aktiviert und wird es für mindestens einige Versionen nicht sein (Firefox Bug 1166347). - Die unprefixed Versionen von
MouseEvent.movementX
undMouseEvent.movementY
wurden hinzugefügt; die prefixed Versionen sind veraltet und werden zu einem späteren Zeitpunkt entfernt (Firefox Bug 1164981).
Web-Krypto
SubtleCrypto.importKey()
undSubtleCrypto.exportKey()
unterstützen nunECDH
-Schlüssel (Firefox Bug 1050175).
Canvas-API
HTMLCanvasElement.captureStream()
undCanvasCaptureMediaStream
wurden hinzugefügt und erlauben das Echtzeit-Streaming der Anzeige eines<canvas>
(Firefox Bug 1032848).MediaStream.id
gibt jetzt die eindeutige ID eines Streams zurück (Firefox Bug 1089798).- Der Anfangswert von
CanvasRenderingContext2D.filter
ist nun 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 nun von
ExtendableEvent
, wodurch sie Zugang zur MethodewaitUntil()
haben (Firefox Bug 1160527).
-
Die Schnittstellen
CacheStorage
undCache
werden nun unterstützt (Firefox Bug 1110144).
WebGL
- Das
failIfMajorPerformanceCaveat
Attribut im WebGL-Kontext wurde hinzugefügt und kann gesetzt werden, wenn ein WebGL-Kontext mitHTMLCanvasElement.getContext()
erstellt wird, um anzugeben, ob eine Kontext-Erstellung fehlschlagen sollte, wenn die Systemleistung niedrig ist (Firefox Bug 1164970).
WebRTC
- Firefox bietet keinen Standard-STUN-Server mehr an, der verwendet werden kann, wenn keiner angegeben wird, wenn eine neue
RTCPeerConnection
konstruiert wird. Sie müssen einen bereitstellen, um eine erfolgreiche WebRTC-Verbindung herzustellen.
Verschiedenes
- Unter OS X und Windows ändert sich
Navigator.onLine
jetzt in Bezug auf die Netzwerkverbindung (es hat zuvor immertrue
zurückgegeben, es sei denn, der Modus "Offline arbeiten" war ausgewählt) (Firefox Bug 654579). MessagePort
undMessageChannel
sind nun in Webarbeitern verfügbar und sind standardmäßig in allen Kontexten aktiviert (Firefox Bug 952139) und (Firefox Bug 911972).- Die User Timing API ist nun in Webarbeitern verfügbar (Firefox Bug 1155761).
- Die Notifications API ist nun in Webarbeitern verfügbar (Firefox Bug 916893).
DOMRequest
undDOMCursor
sind nun in Webarbeitern verfügbar (Firefox Bug 1167650).- Die CSS Font Loading API wurde vollständig implementiert und ist nun standardmäßig aktiviert (Firefox Bug 1149381).
- Shared Worker können nicht mehr zwischen privaten (d.h. Browsen 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 keine URL-Fragment mehr (Firefox Bug 1093611).
MathML
Neue Standard- und Fallback-Schriftartenhandhabung
Mathematische Formeln erfordern spezielle Schriftarten. Bisher waren diese Schriftarten im mathml.css
User-Agent-Stylesheet fest codiert (welches die Schriftfamilie auf dem <math>
-Tag setzt) und in der Präferenzoption font.mathfont-family
(welche die Fallback-Schriftarten festlegt, die für dehnbare und große Operatoren verwendet werden sollen). Firefox 41 führt eine interne x-math
Sprache ein, die automatisch auf das <math>
-Tag gesetzt wird sowie entsprechende Präferenzoptionen (z.B. font.name.serif.x-math
). Das User-Agent-Stylesheet legt nun die Schriftfamilie auf Serif auf dem <math>
-Tag fest 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, wobei "Latin Modern Math" als erste verwendet wird. Die Standard-/Fallback-Schriftarten können über das reguläre Einstellungsmenü pro Sprache konfiguriert werden. Weitere Details finden Sie unter Firefox Bug 947654 und Firefox Bug 1160456.
SVG
- Webseiten-Icons (Favicons, Shortcut-Icons) unterstützen jetzt SVG (Firefox Bug 366324).
Audio/Video
- Die
media.autoplay.enabled
-Präferenz gilt jetzt auch für nicht vertrauenswürdigeHTMLMediaElement.play()
-Aufrufe, das heißt Aufrufe von Skripten, die nicht vom Benutzer aktiviert wurden (Firefox Bug 659285).
Netzwerk
- Der
X-Content-Duration
-Header wird nicht mehr unterstützt (Firefox Bug 1160695). - Entwürfe der HTTP/2-Protokolle 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 Firefox-Versionen hatten fälschlicherweise erwartet, dass der Content Security Policy Referrer-Direktive-Wert
origin-when-cross-origin
alsorigin-when-crossorigin
geschrieben wird. Dies wurde korrigiert, um das fehlende Bindestrich-Zeichen 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 wurde hinzugefügt, um das Hauptfenster-Widget eines Fensters in ein
<canvas>
zu rendern:CanvasRenderingContext2D.drawWidgetAsOnScreen()
. Diese API verwendet das Betriebssystem zur Aufnahme des Widgets auf dem Bildschirm. Weitere 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