Firefox 40 Versionshinweise für Entwickler
Um die neuesten Entwickler-Features 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, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>Entwickler-Tools
Höhepunkte:
- Verbesserungen der Animationsansicht
- Hilfe von MDN für CSS-Property-Syntax erhalten
- Filter im Seiteninspektor bearbeiten
- Web-Konsole zeigt jetzt Nachrichten von Arbeitern an
- Anfragen im Netzwerkmonitor nach URL filtern
- Viele neue Kontextmenüoptionen im Netzwerkmonitor
- Anzeigen, wann Netzwerkressourcen aus dem Browser-Cache geholt werden
- Regeln im Seiteninspektor filtern
Weiteres:
- Unterbrechen bei debugger;-Anweisungen in unbenannten eval-Quellen
- URL kopieren/In neuem Tab öffnen Kontextmenüeinträge für Debugger-Quellenlistenbereich
- console.dirxml-Support in der Web-Konsole
- Style-Editor: "Link in neuem Tab öffnen"-Eintrag zur Stylesheet-Liste hinzugefügt
- Inspector-Selektorsuche enthält jetzt Klassen-/ID-Ergebnisse auch ohne CSS-Präfix
- Tooltipps in der Box-Modell-Ansicht, welche CSS-Regel den Wert verursacht hat
- Wechsel zwischen Farbformateinheiten im Inspektor mit Shift+Klick
- Implementierung des "In Ansicht scrollen"-Menüeintrags für den Inspektor
- Verlinken von URL-/ID-/Ressourcenattributen im Inspektor
- IP-Adressen-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-stylewurden entfernt (Firefox Bug 1097922). - Die Eigenschaft
text-alignunterstützt jetzt den Wertmatch-parent(Firefox Bug 645642). - Im Quirks-Modus setzt
empty-cellsnun standardmäßig aufshow, wie im Standardmodus (Firefox Bug 1020400). - Die nicht-standardisierte Eigenschaft
-moz-orient, die zur Gestaltung der Elemente<meter>und<progress>verwendet wird, wurde für vertikale Schreibmodi angepasst: Der Wertautowurde entfernt und die Werteinlineundblockhinzugefügt, wobeiinlineder neue Standardwert ist (Firefox Bug 1028716). - Die Eigenschaft
font-size-adjustwurde korrigiert, sodass0jetzt als Multiplikator behandelt wird (was zu einer0Höhe für die Schriftart führt und diese somit ausblendet), anstatt alsnone-Wert (was zu keiner Anpassung oder einem1.0-Wert führt) (Firefox Bug 1144885). - Der Fehler, dass text-overflow im vertikalen Schreibmodus nicht funktioniert, wurde behoben (Firefox Bug 1117227).
HTML
Keine Änderung.
JavaScript
- Unerreichbarer Code nach der
return-Anweisung (einschließlich unerreichbarer Ausdrücke nach Return-Anweisungen ohne Semikolon) wird jetzt in der Konsole eine Warnung anzeigen (Firefox Bug 1005110, Firefox Bug 1151931). Symbol.matchwurde hinzugefügt (Firefox Bug 1054755).- Wird ein Objekt übergeben, das eine Eigenschaft namens
Symbol.matchmit einem truthy Wert besitzt, wird jetzt einTypeErrorbeim Aufruf vonString.prototype.startsWith,String.prototype.endsWithundString.prototype.containsausgelöst (Firefox Bug 1054755). - Die Funktion
RegExpgibt das Muster selbst zurück, wenn sie ohnenewund ein Musterobjekt aufgerufen wird, das eine Eigenschaft namensSymbol.matchmit einem truthy Wert besitzt und dessenconstructor-Eigenschaft 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 Initialisierungs-Ausdrücke in
for...in-Schleifen werden jetzt ignoriert und zeigen eine Warnung in der Konsole. (Firefox Bug 748550 und Firefox Bug 1164741). \u{xxxxxx}Unicode-Code-Punkt-Escapes wurden hinzugefügt (Firefox Bug 320500).String.prototype.containswurde durchString.prototype.includesersetzt,String.prototype.containsbleibt als Alias bestehen (Firefox Bug 1102219).- Wird der
DataView-Konstruktor als Funktion ohne dennewOperator aufgerufen, wird jetzt gemäß der ES2015-Spezifikation einTypeErrorausgelöst. - Ein Problem, das in Firefox 21 auftrat, bei dem proxifizierte Arrays ohne
get-Falle nicht richtig funktionierten, wurde behoben. Wenn dieget-Falle in einemProxynicht definiert war, gabArray.length0zurück und dieset-Falle wurde nicht aufgerufen. Ein Workaround bestand darin, dieget-Falle hinzuzufügen, auch wenn sie im Code nicht nötig war. Dieses Problem wurde nun behoben (Firefox Bug 895223). WeakMap.prototypeundWeakSet.prototypewurden so aktualisiert, dass sie nur noch gewöhnliche Objekte sind, 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-Einstellung, ist sie standardmäßig deaktiviert.
Web-Animations-API
Verbesserung unserer experimentellen Implementierung der Web-Animations, hauptsächlich um die neuesten Spezifikationsänderungen zu übernehmen:
AnimationPlayer.currentTimekann jetzt auch gesetzt werden (Firefox Bug 1072037).Animatable.getAnimationPlayers(), verfügbar aufElement, wurde inElement.getAnimations()umbenannt (Firefox Bug 1145246).AnimationundAnimationEffectwurden in das neu erstellteKeyframeEffectReadOnlyzusammengeführt (Firefox Bug 1153734).AnimationPlayerwurde inAnimationumbenannt (Firefox Bug 1154615).AnimationTimelineist jetzt eine abstrakte Klasse, mitDocumentTimelineals ihre einzige Implementierung (Firefox Bug 1152171).
CSSOM
- Die CSS-Schriftladungs-API ist jetzt standardmäßig in Nightly- und Developer-Editionen aktiviert (Firefox Bug 1088437). Sie ist in Beta- und Release-Browsern 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 (vor kurzem angepassten) Spezifikation und dem Verhalten von Chrome.
WebRTC
- WebRTC: Das
negotiationneededEreignis wird jetzt auch für Erstverhandlungen gesendet, nicht nur für Neuverhandlungen (Firefox Bug 1149838).
DOM & HTML DOM
- Wenn
srcsetnicht geparst werden kann, gibt die MethodeHTMLImageElement.currentSrcnicht mehrnull, sondern""zurück, wie es die neuesten Spezifikationen fordern (Firefox Bug 1139560). - Wie bei Bildern, drosselt Firefox jetzt auch
Window.requestAnimationFrame()für nicht sichtbare<iframe>(Firefox Bug 1145439). Navigator.taintEnabledist für Webarbeiter nicht mehr verfügbar (Firefox Bug 1154878).
Web-Audio-API
Neue Erweiterungen für die Web-Audio-API:
- Die Eigenschaften
AudioContext.stateundAudioContext.onstatechangesowie die MethodenAudioContext.suspend(),AudioContext.resume(), undAudioContext.close()wurden hinzugefügt (Firefox Bug 1094764). AudioBufferSourceNodeimplementiert jetzt dasAudioBufferSourceNode.detunek-rate Attribut (Firefox Bug 1153783).
Web Worker
- Leichte Verbesserung in unserer Service Worker API: Die Methode
update()wurde vonServiceWorkerGlobalScopezuServiceWorkerRegistrationverschoben (Firefox Bug 1131350). ServiceWorkerRegistrationist jetzt in Web Workern verfügbar (Firefox Bug 1131327).DataStoreist jetzt in Web Workern verfügbar (Firefox Bug 916196).
IndexedDB
IDBTransactionsind jetzt standardmäßig nicht-durable (Firefox Bug 1112702). Dies begünstigt die Performance gegenüber der Zuverlässigkeit und entspricht dem Verhalten anderer Browser. Für weitere Informationen lesen Sie unsere Definition der Haltbarkeit.
Developer 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 Sternchens (
*) in einer CSP schließt nicht mehr die Schemendata:,blob:oder:filesystemein, wenn Quellenausdrücke abgeglichen werden. Diese Schemen müssen nun innerhalb des entsprechenden Headers explizit definiert werden, um der CSP zu entsprechen (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. Verwenden Sie
Mapstattdessen.
XPCOM
- Das
nsIClassInfo.implementationLanguage-Attribut wurde entfernt, ebenso wie die FunktionnsClassInfo::GetImplementationLanguage(). - Die folgenden XPCOM-Schnittstellen wurden entfernt; Sie sollten stattdessen die Standard-HTML-Schnittstellen verwenden:
nsIDOMHTMLBRElementnsIDOMDivElementnsIDOMHTMLHeadingElementnsIDOMHTMLTableCaptionElementnsIDOMHTMLTableElementnsIDOMHTMLTitleElement
Sonstiges
- Die Places Keywords API wurde als veraltet markiert und wird bald entfernt werden (Firefox Bug 1140395).
- Das automatisierte Testsystem unterstützt nun das Überspringen einzelner Testfunktionen. Siehe Bedingtes Ausführen von Tests in der XPCShell-Testumgebung.