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 wichtige Änderungen auf, die nicht nur für Webentwickler, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwicklertools
Höhepunkte:
- Verbesserungen der Animationsansicht
- Hilfe von MDN für die Syntax von CSS-Eigenschaften 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, wann Netzwerkressourcen aus dem Browser-Cache abgerufen werden
- Regeln im Seiteninspektor filtern
Mehr:
- Unterbrechen bei debugger; Anweisungen in unbenannten eval-Quellen
- URL kopieren/Im neuen Tab öffnen Kontextmenüs für Debugger-Quellenlistenbereich
- console.dirxml-Unterstützung in der Webkonsole
- Stil-Editor: "Link im neuen Tab öffnen"-Element zur Stylesheet-Liste hinzugefügt
- Inspektion-Selektor-Suche umfasst nun auch Klassen-/ID-Ergebnisse ohne CSS-Präfix
- Tooltips in der Box-Modell-Ansicht geben an, welche CSS-Regel den Wert verursacht hat
- Zwischen Farb-Einheit-Format im Inspektor mit Shift+Klick wechseln
- Menüpunkt "Scroll Into View" für den Inspektor implementieren
- URL/ID/Ressourcenattribute im Inspektor verlinken
- IP-Adress-Tooltip im Netzwerkmonitor
Alles: alle Entwicklertool-Bugs, die zwischen Firefox 39 und Firefox 40 behoben wurden.
CSS
- Präfixregeln (
-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
nun standardmäßig aufshow
gesetzt, wie im Standardmodus (Firefox-Bug 1020400). - Die nicht standardisierte Eigenschaft
-moz-orient
, die zur Gestaltung von<meter>
und<progress>
-Elementen verwendet wird, wurde für vertikale Schreibrichtungen 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 behoben, sodass0
als Multiplikator behandelt wird (was zu einer0
-Höhe der Schriftart führt und sie somit ausblendet) anstatt als Wertnone
(was zu keiner Anpassung oder einem Wert von1.0
führt) (Firefox-Bug 1144885). - Korrektur, dass Textüberlauf im vertikalen Schreibmodus nicht funktioniert (Firefox-Bug 1117227).
HTML
Keine Änderung.
JavaScript
- Unerreichbarer Code nach der
return
-Anweisung (einschließlich unerreichbarer Ausdrucke nach strichpunktfreien Rückgabewörtern) wird nun eine Warnung in der Konsole anzeigen (Firefox-Bug 1005110, Firefox-Bug 1151931). Symbol.match
wurde hinzugefügt (Firefox-Bug 1054755).- Das Übergeben eines Objekts, das eine Eigenschaft namens
Symbol.match
mit einem wahrheitsgemäßen Wert hat, anString.prototype.startsWith
,String.prototype.endsWith
undString.prototype.contains
wirft nun 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 wahrheitsgemäßen Wert hat und dieconstructor
-Eigenschaft des Musterobjekts derRegExp
-Funktion entspricht. (Firefox-Bug 1147817). - Unterstützung für das nicht standardisierte JS1.7-Destructuring for-in wurde entfernt (Firefox-Bug 1083498).
- Nicht standardisierte Initialisierungsausdrücke in
for...in
-Schleifen werden jetzt ignoriert und eine Warnung wird in der Konsole angezeigt. (Firefox-Bug 748550 und Firefox-Bug 1164741). \u{xxxxxx}
Unicode-Zeichenpunkt-Escapes wurden hinzugefügt (Firefox-Bug 320500).String.prototype.contains
wurde durchString.prototype.includes
ersetzt,String.prototype.contains
wird als Alias beibehalten (Firefox-Bug 1102219).- Wenn der
DataView
-Konstruktor als Funktion ohne dennew
-Operator aufgerufen wird, wird nun einTypeError
geworfen, wie in der ES2015-Spezifikation vorgesehen. - Ein in Firefox 21 entstandenes Problem, bei dem proxied Arrays ohne
get
-Falle nicht einwandfrei funktionierten, wurde behoben. Wenn dieget
-Falle in einemProxy
nicht definiert war, gabArray.length
0
zurück und dieset
-Falle wurde nicht aufgerufen. Ein Workaround war, dieget
-Falle zu verwenden, selbst wenn sie im Code nicht erforderlich war. Dieses Problem wurde jetzt behoben (Firefox-Bug 895223). WeakMap.prototype
undWeakSet.prototype
wurden in einfache Objekte gemäß der ES2015-Spezifikation aktualisiert (Firefox-Bug 1055473).
Schnittstellen/APIs/DOM
Neue APIs
- Die Push-API wurde experimentell implementiert (Firefox-Bug 1038811). Kontrolliert durch die
services.push.enabled
-Einstellung ist sie standardmäßig deaktiviert.
Web Animations API
Verbesserungen in unserer experimentellen Webanimations-Implementierung, hauptsächlich um die neuesten Spezifikationsänderungen zu entsprechen:
AnimationPlayer.currentTime
kann nun auch gesetzt werden (Firefox-Bug 1072037).Animatable.getAnimationPlayers()
, verfügbar aufElement
, wurde inElement.getAnimations()
umbenannt (Firefox-Bug 1145246).Animation
undAnimationEffect
wurden zu dem neu erstelltenKeyframeEffectReadOnly
zusammengeführt (Firefox-Bug 1153734).AnimationPlayer
wurde inAnimation
umbenannt (Firefox-Bug 1154615).AnimationTimeline
ist jetzt eine abstrakte Klasse, mitDocumentTimeline
als ihre einzige Implementierung (Firefox-Bug 1152171).
CSSOM
- Die CSS Font Loading-API ist jetzt in Nightly und Developer Edition standardmäßig aktiviert (Firefox-Bug 1088437). In den Beta- und Release-Browsern ist sie weiterhin standardmäßig 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 Erstverhandlungen gesendet, nicht nur für Nachverhandlungen (Firefox-Bug 1149838).
DOM & HTML DOM
- Wenn das
srcset
nicht geparst werden kann, gibt die MethodeHTMLImageElement.currentSrc
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 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 Worker
- Leichte Verbesserung in 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 mehr dauerhaft (Firefox-Bug 1112702). Dies begünstigt Leistung gegenüber Zuverlässigkeit und entspricht dem Verhalten anderer Browser. Für weitere Informationen lesen Sie unsere Definition der Dauerhaftigkeit.
Entwicklerwerkzeuge
- 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 Sternchens (
*
) in einem CSP schließt nicht mehr automatisch die Schemendata:
,blob:
oder:filesystem
ein, wenn Quellausdrücke übereinstimmen. Diese Schemen müssen nun explizit innerhalb des zugehörigen 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 Top-Level-Fenster zu erstellen Firefox-Bug 1162649.
JavaScript-Code-Module
- Dict.jsm wurde entfernt Firefox-Bug 1123309. Nutzen 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 Standard-HTML-Schnittstellen verwenden:
nsIDOMHTMLBRElement
nsIDOMDivElement
nsIDOMHTMLHeadingElement
nsIDOMHTMLTableCaptionElement
nsIDOMHTMLTableElement
nsIDOMHTMLTitleElement
Sonstiges
- Die Schnittstelle für Places-Keywords wurde als veraltet markiert und wird bald entfernt (Firefox-Bug 1140395).
- Das automatisierte Testsystem unterstützt nun das Überspringen einzelner Testfunktionen. Siehe Ausführung von bedingten Tests in der XPCShell-Testumgebung.
Ä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