Firefox 40 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie Firefox Developer Edition. Firefox 40 wurde am 11. August 2015 veröffentlicht. Dieser Artikel listet die wichtigsten Ä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
Entwickler-Tools
Höhepunkte:
- Verbesserungen an der Animationsansicht
- Hilfe von MDN für CSS-Property-Syntax erhalten
- Filter im Seiteninspektor bearbeiten
- Webkonsole zeigt jetzt Nachrichten von Workern
- Anfragen nach URL im Netzwerkmonitor filtern
- Viele neue Kontextmenüoptionen im Netzwerkmonitor
- Anzeigen, wann Netzwerkressourcen aus dem Browser-Cache abgerufen werden
- Regeln im Seiteninspektor filtern
Mehr:
- Unterbrechen bei
debugger;
-Anweisungen in unbenannten eval-Quellen - URL kopieren/Öffnen im neuen Tab Kontextmenüpunkte für Debugger-Quellenlistenbereich
- console.dirxml-Unterstützung in der Webkonsole
- Stil-Editor: "Link im neuen Tab öffnen" zum Stylesheet-Liste hinzugefügt
- Inspektor-Selektorsuche umfasst jetzt Klassen/ID-Ergebnisse, auch ohne CSS-Präfix
- Tooltips in der Box-Modellansicht, welche CSS-Regel den Wert verursacht hat
- Zwischen Farbformate im Inspektor mit Shift+Klick wechseln
- Implementieren des Menüpunkts "In Ansicht scrollen" für den Inspektor
- URLs/ID/Ressourcenattribute im Inspektor verlinken
- IP-Adresse Tooltip im Netzwerkmonitor
Alles: alle Entwicklerwerkzeuge-Bugs, die zwischen Firefox 39 und Firefox 40 behoben wurden.
CSS
- Präfixierte Regeln (
-moz-
) fürtext-decoration-color
,text-decoration-line
undtext-decoration-style
wurden entfernt (Firefox Bug 1097922). - Die Eigenschaft
text-align
unterstützt jetzt den Wertmatch-parent
(Firefox Bug 645642). - Im Quirks-Modus ist
empty-cells
jetzt standardmäßig aufshow
gesetzt, wie im Standard-Modus (Firefox Bug 1020400). - Die nicht-standardisierte Eigenschaft
-moz-orient
, die zum Stylen von<meter>
und<progress>
Elementen verwendet wird, wurde für vertikale Schreibmodi angepasst: Der Wertauto
wurde entfernt und die Werteinline
undblock
hinzugefügt, wobeiinline
der neue Standardwert ist (Firefox Bug 1028716). - Die Eigenschaft
font-size-adjust
wurde so korrigiert, dass0
als Multiplikator behandelt wird (was zu einer Schrift mit0
Höhe führt und diese somit versteckt), anstatt als Wertnone
(was zu keiner Anpassung oder einem Wert von1.0
führt) (Firefox Bug 1144885). - Korrektur von text-overflow funktioniert nicht im vertikalen Schreibmodus (Firefox Bug 1117227).
HTML
Keine Änderung.
JavaScript
- Nicht erreichbarer Code nach
return
-Anweisung (einschließlich nicht erreichbarer Ausdrücke nach semicolon-less return statements) zeigt nun eine Warnung in der Konsole an (Firefox Bug 1005110, Firefox Bug 1151931). Symbol.match
wurde hinzugefügt (Firefox Bug 1054755).- Wenn ein Objekt mit einer Eigenschaft namens
Symbol.match
und einem truthy Wert anString.prototype.startsWith
,String.prototype.endsWith
undString.prototype.contains
übergeben wird, wird jetzt einTypeError
ausgelöst (Firefox Bug 1054755). - Die Funktion
RegExp
gibt das Pattern selbst zurück, wenn sie ohnenew
aufgerufen wird und das Pattern-Objekt eine Eigenschaft namensSymbol.match
mit einem truthy Wert hat und dieconstructor
-Eigenschaft des Pattern-Objekts der FunktionRegExp
entspricht (Firefox Bug 1147817). - Unterstützung für das nicht-standard JS1.7 Destructuring for-in wurde entfernt (Firefox Bug 1083498).
- Nicht-standardisierte Initialisierungs-Ausdrücke in
for...in
Schleifen werden jetzt ignoriert und führen zu einer Warnung in der Konsole. (Firefox Bug 748550 und Firefox Bug 1164741). - Unicode-Codpunkt-Escapes
\u{xxxxxx}
wurden hinzugefügt (Firefox Bug 320500). String.prototype.contains
wurde durchString.prototype.includes
ersetzt,String.prototype.contains
bleibt als Alias erhalten (Firefox Bug 1102219).- Wenn der Konstruktor
DataView
als Funktion ohne dennew
Operator aufgerufen wird, wird jetzt einTypeError
gemäß der ES2015 Spezifikation geworfen. - Ein Problem, das in Firefox 21 auftrat, bei dem proxifizierte Arrays ohne
get
Falle nicht korrekt funktionierten, wurde behoben. Wenn dieget
Falle in einemProxy
nicht definiert war, gabArray.length
0
zurück und dieset
Falle wurde nicht aufgerufen. Ein Workaround bestand darin, dieget
Falle hinzuzufügen, auch wenn es in Ihrem Code nicht nötig war. Dieses Problem wurde jetzt behoben (Firefox Bug 895223). WeakMap.prototype
undWeakSet.prototype
wurden gemäß der ES2015 Spezifikation zu gewöhnlichen Objekten aktualisiert (Firefox Bug 1055473).
Schnittstellen/APIs/DOM
Neue APIs
- Die Push API wurde experimentell implementiert (Firefox Bug 1038811). Gesteuert durch die
services.push.enabled
Voreinstellung ist sie standardmäßig deaktiviert.
Web Animations API
Verbesserungen in unserer experimentellen Web Animations-Implementierung, hauptsächlich um die neuesten Spezifikationsänderungen nachzuvollziehen:
AnimationPlayer.currentTime
kann jetzt auch gesetzt werden (Firefox Bug 1072037).Animatable.getAnimationPlayers()
, vorhanden aufElement
, wurde umbenannt zuElement.getAnimations()
(Firefox Bug 1145246).Animation
undAnimationEffect
wurden in die neu erstellteKeyframeEffectReadOnly
zusammengeführt (Firefox Bug 1153734).AnimationPlayer
wurde umbenannt zuAnimation
(Firefox Bug 1154615).AnimationTimeline
ist jetzt eine abstrakte Klasse, mitDocumentTimeline
als einzige Implementierung (Firefox Bug 1152171).
CSSOM
- Die CSS Font Loading API ist jetzt standardmäßig in Nightly und Developer Edition Versionen aktiviert (Firefox Bug 1088437). Sie bleibt in Beta- und Release-Browsern standardmäßig deaktiviert.
- Die
CSSCharsetRule
-Schnittstelle wurde entfernt und solche Objekte sind im CSSOM nicht mehr verfügbar (Firefox Bug 1148694). Dies entspricht der (kürzlich angepassten) Spezifikation und dem Verhalten von Chrome.
WebRTC
- WebRTC: Das
negotiationneeded
Ereignis wird jetzt auch für erste Verhandlungen gesendet, nicht nur für erneute Verhandlungen (Firefox Bug 1149838).
DOM & HTML DOM
- Wenn
srcset
nicht geparst werden kann, gibt die MethodeHTMLImageElement.currentSrc
nicht mehrnull
, sondern""
zurück, wie von der neuesten Spezifikation gefordert (Firefox Bug 1139560). - Wie bei Bildern drosselt Firefox jetzt
Window.requestAnimationFrame()
für nicht sichtbare<iframe>
(Firefox Bug 1145439). Navigator.taintEnabled
ist für Web-Worker nicht mehr verfügbar (Firefox Bug 1154878).
Web Audio API
Neue Erweiterungen der Web Audio API:
- Die Eigenschaften
AudioContext.state
undAudioContext.onstatechange
sowie die MethodenAudioContext.suspend()
,AudioContext.resume()
undAudioContext.close()
wurden hinzugefügt (Firefox Bug 1094764). AudioBufferSourceNode
implementiert jetzt dasAudioBufferSourceNode.detune
k-rate Attribut (Firefox Bug 1153783).
Web Workers
- Leichte Verbesserung unserer Service Worker API: Die
update()
Methode wurde vonServiceWorkerGlobalScope
zuServiceWorkerRegistration
verschoben (Firefox Bug 1131350). ServiceWorkerRegistration
ist jetzt in Web-Workern verfügbar (Firefox Bug 1131327).DataStore
ist jetzt in Web-Workern verfügbar (Firefox Bug 916196).
IndexedDB
IDBTransaction
sind jetzt standardmäßig nicht dauerhaft (Firefox Bug 1112702). Dies begünstigt die Leistung gegenüber der Zuverlässigkeit und entspricht dem Verhalten anderer Browser. Für weitere Informationen lesen Sie unsere Definition der Haltbarkeit.
Dev Tools
- Die Eigenschaft
console.timeStamp()
wurde hinzugefügt (Firefox Bug 922221).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk
Keine Änderung.
Sicherheit
- Die Verwendung eines Asterisk (
*
) in einem CSP umfasst nicht mehr die Schemendata:
,blob:
oder:filesystem
, wenn Quellenangaben abgeglichen werden. Diese Schemen müssen jetzt explizit innerhalb des entsprechenden Headers definiert werden, um die CSP zu erfüllen (Firefox Bug 1086999).
Änderungen für Add-on- und Mozilla-Entwickler
XUL
- Es ist nicht mehr möglich, transparente oberste Fenster zu erstellen Firefox Bug 1162649.
JavaScript-Code-Module
- Dict.jsm wurde entfernt Firefox Bug 1123309. Verwenden Sie stattdessen
Map
.
XPCOM
-
Das Attribut
nsIClassInfo.implementationLanguage
wurde entfernt, zusammen mit der FunktionnsClassInfo::GetImplementationLanguage()
. -
Die folgenden XPCOM-Schnittstellen wurden entfernt; Sie sollten stattdessen die standardmäßigen HTML-Schnittstellen verwenden:
nsIDOMHTMLBRElement
nsIDOMDivElement
nsIDOMHTMLHeadingElement
nsIDOMHTMLTableCaptionElement
nsIDOMHTMLTableElement
nsIDOMHTMLTitleElement
Sonstiges
- Die Places Keywords API wurde veraltet und wird bald entfernt (Firefox Bug 1140395).
- Das automatisierte Testsystem unterstützt jetzt das Überspringen einzelner Testfunktionen. Siehe Bedingte Tests ausführen im XPCShell-Testen.
Ältere Versionen
- 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
- Firefox 9 für Entwickler