Firefox 40 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 40 wurde am 11. August 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
Höhepunkte:
- Verbesserungen in der Animationsansicht
- Hilfe von MDN für CSS-Eigenschaftssyntax erhalten
- Filter im Seiteninspektor bearbeiten
- Webkonsole zeigt jetzt Nachrichten von Workern an
- Anfragen im Netzwerkmonitor nach URL filtern
- Viele neue Kontextmenüoptionen im Netzwerkmonitor
- Anzeigen, wenn Netzwerkressourcen aus dem Browser-Cache abgerufen werden
- Regeln im Seiteninspektor filtern
Mehr:
- Break bei debugger; Anweisungen in unbenannten Eval-Quellen
- Kopieren Sie URL/Öffnen im neuen Tab Kontextmenüelemente für Debugger-Quellenlistenbereich
- console.dirxml-Unterstützung in der Webkonsole
- Stil-Editor: "Link in neuem Tab öffnen"-Eintrag zur Stylesheet-Liste hinzugefügt
- Inspektor-Selektor-Suche umfasst jetzt Klassen-/ID-Ergebnisse auch ohne CSS-Präfix
- Tooltips in der Box-Modell-Ansicht geben an, welche CSS-Regel den Wert verursacht hat
- Wechseln Sie zwischen Farbeinheitsformaten im Inspektor mit Shift+Click
- Implementierung des "In den Blick Scrollen"-Menüelements für den Inspektor
- Linkify URL-/ID-/Ressourcenattribute im Inspektor
- IP-Adress-Tooltip im Netzwerkmonitor
Alles: alle Devtools-Bugs, die zwischen Firefox 39 und Firefox 40 behoben wurden.
CSS
- Die vorangestellten Regeln (
-moz-
) fürtext-decoration-color
,text-decoration-line
undtext-decoration-style
wurden entfernt (Firefox-Bug 1097922). - Die Eigenschaft
text-align
unterstützt jetzt denmatch-parent
Wert (Firefox-Bug 645642). - Im Quirks-Modus wird
empty-cells
jetzt standardmäßigshow
, wie im Standardmodus (Firefox-Bug 1020400). - Die nicht standardmäßige Eigenschaft
-moz-orient
, die zur Gestaltung der<meter>
und<progress>
-Elemente verwendet wird, wurde an vertikale Schreibmodi angepasst: Der Wertauto
wurde entfernt, und die Werteinline
undblock
wurden hinzugefügt, wobeiinline
der neue Standardwert ist (Firefox-Bug 1028716). - Die Eigenschaft
font-size-adjust
wurde korrigiert, sodass0
jetzt als Multiplikator behandelt wird (was zu einer Höhe von0
für die Schrift führt und sie daher ausblendet) anstatt alsnone
-Wert (was keine Anpassung bedeutet oder einem Wert von1.0
entspricht) (Firefox-Bug 1144885). - Textüberlauf funktioniert nicht im vertikalen Schreibmodus (Firefox-Bug 1117227).
HTML
Keine Änderungen.
JavaScript
- Nicht erreichbarer Code nach der
return
-Anweisung (einschließlich nicht erreichbarer Ausdrücke nach Semikolon-losen return-Anweisungen) wird jetzt eine Warnung in der Konsole auslösen (Firefox-Bug 1005110, Firefox-Bug 1151931). Symbol.match
wurde hinzugefügt (Firefox-Bug 1054755).- Ein Objekt mit einer Eigenschaft namens
Symbol.match
mit einem truthy Wert anString.prototype.startsWith
,String.prototype.endsWith
undString.prototype.contains
weiterzugeben, wirft jetzt einenTypeError
(Firefox-Bug 1054755). - Die
RegExp
-Funktion gibt das Muster selbst zurück, wenn sie ohnenew
aufgerufen wird und das Musterobjekt eine Eigenschaft namensSymbol.match
mit einem truthy Wert besitzt, und dieconstructor
-Eigenschaft des Musterobjekts gleich derRegExp
-Funktion ist. (Firefox-Bug 1147817). - Unterstützung für das nicht standardmäßige JS1.7-Destrukturieren in
for-in
-Schleifen wurde entfernt (Firefox-Bug 1083498). - Nicht standardmäßige Initialisierer-Ausdrücke in
for...in
-Schleifen werden jetzt ignoriert und eine Warnung in der Konsole angezeigt. (Firefox-Bug 748550 und Firefox-Bug 1164741). - Unicode-Zeichenpunkt-Escapes in der Form [
\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
DataView
-Konstruktor als Funktion ohne dennew
-Operator aufgerufen wird, wird jetzt einTypeError
ausgelöst, wie es die ES2015-Spezifikation vorsieht. - Ein in Firefox 21 eingeführtes Problem, bei dem proxifizierte Arrays ohne
get
-Falle nicht richtig funktionierten, wurde behoben. Wenn dieget
-Falle in einemProxy
nicht definiert war, gabArray.length
0
zurück, und dieset
-Falle wurde nicht aufgerufen. Eine Lösung bestand darin, dieget
-Falle hinzuzufügen, auch wenn diese in Ihrem Code nicht notwendig war. Dieses Problem wurde jetzt behoben (Firefox-Bug 895223). WeakMap.prototype
undWeakSet.prototype
wurden aktualisiert, um einfache Objekte zu sein, gemäß der ES2015-Spezifikation (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 den neuesten Spezifikationsänderungen zu entsprechen:
AnimationPlayer.currentTime
kann jetzt auch gesetzt werden (Firefox-Bug 1072037).Animatable.getAnimationPlayers()
, verfügbar aufElement
, wurde umbenannt inElement.getAnimations()
(Firefox-Bug 1145246).Animation
undAnimationEffect
wurden in das neu erstellteKeyframeEffectReadOnly
zusammengeführt (Firefox-Bug 1153734).AnimationPlayer
wurde umbenannt inAnimation
(Firefox-Bug 1154615).AnimationTimeline
ist jetzt eine abstrakte Klasse, mitDocumentTimeline
als einziger Implementierung (Firefox-Bug 1152171).
CSSOM
- Die CSS-Font-Loading-API ist jetzt in Nightly- und Developer-Editionen standardmäßig aktiviert (Firefox-Bug 1088437). Sie ist weiterhin standardmäßig in Beta- und Release-Browsern deaktiviert.
- Die
CSSCharsetRule
-Schnittstelle wurde entfernt und solche Objekte sind im CSSOM nicht mehr verfügbar (Firefox-Bug 1148694). Dies entspricht der Spezifikation (kürzlich angepasst) und dem Verhalten von Chrome.
WebRTC
- WebRTC: Das
negotiationneeded
Ereignis wird jetzt auch für initiale Verhandlungen gesendet, nicht nur für Neuverhandlungen (Firefox-Bug 1149838).
DOM & HTML-DOM
- Wenn
srcset
nicht geparst werden kann, gibt dieHTMLImageElement.currentSrc
-Methode nicht mehrnull
zurück, sondern""
, wie es die neueste Spezifikation fordert (Firefox-Bug 1139560). - Ähnlich wie bei Bildern drosselt Firefox jetzt
Window.requestAnimationFrame()
für nicht sichtbare<iframe>
(Firefox-Bug 1145439). Navigator.taintEnabled
ist für Webworker nicht mehr verfügbar (Firefox-Bug 1154878).
Web-Audio-API
Neue Erweiterungen zur 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 Webworkern verfügbar (Firefox-Bug 1131327).DataStore
ist jetzt in Webworkern 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 Dauerhaftigkeit.
Entwicklertools
- Die Eigenschaft
console.timeStamp()
wurde hinzugefügt (Firefox-Bug 922221).
MathML
Keine Änderungen.
SVG
Keine Änderungen.
Audio/Video
Keine Änderungen.
Netzwerke
Keine Änderungen.
Sicherheit
- Die Verwendung eines Sternchens (
*
) in einer CSP umfasst nicht mehr die Schemendata:
,blob:
oder:filesystem
, wenn Quellausdrücke abgeglichen werden. Diese Schemen müssen jetzt explizit innerhalb des entsprechenden Headers definiert werden, um mit der CSP übereinzustimmen (Firefox-Bug 1086999).
Änderungen für Add-on- und Mozilla-Entwickler
>XUL
- Es ist nicht mehr möglich, transparente Fenster auf oberster Ebene zu erstellen Firefox-Bug 1162649.
JavaScript-Code-Module
- Dict.jsm wurde entfernt Firefox-Bug 1123309. Verwenden Sie stattdessen
Map
.
XPCOM
- Das
nsIClassInfo.implementationLanguage
-Attribut wurde entfernt, zusammen mit dernsClassInfo::GetImplementationLanguage()
-Funktion. - 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 als veraltet markiert und wird bald entfernt (Firefox-Bug 1140395).
- Das automatisierte Testsystem unterstützt jetzt das Überspringen einzelner Testfunktionen. Siehe bedingtes Ausführen von Tests im XPCShell-Testing.