Versionshinweise für Entwickler zu Firefox 40
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie Firefox Developer Edition. Firefox 40 wurde am 11. August 2015 freigegeben. Dieser Artikel listet wesentliche Ä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
>Entwicklertools
Höhepunkte:
- Verbesserungen in der Animationsansicht
- Hilfe von MDN für CSS-Eigenschaftssyntax erhalten
- Filter im Seiteninspektor bearbeiten
- Webkonsole zeigt jetzt Nachrichten von Arbeitern
- 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:
- Anhalten bei
debugger;-Anweisungen in unbenannten eval-Quellen - URL kopieren/Im neuen Tab öffnen Kontextmenü-Elemente für Debugger-Quellenlistenbereich
- Unterstützung von
console.dirxmlin der Webkonsole - Stilbearbeiter: "Link im neuen Tab öffnen" Element zur Stylesheet-Liste hinzugefügt
- Inspektor Suchfeld sucht jetzt nach Klassen/IDs auch ohne CSS-Präfix
- Tooltips in der Box-Model-Ansicht, die anzeigen, welche CSS-Regel den Wert verursacht hat
- Wechseln zwischen Farbeinheitsformaten im Inspektor mit Shift+Klick
- Implementieren des "In Sicht bringen"-Menüelements für den Inspektor
- Linkifizierung von url/id/resource Attributen im Inspektor
- IP-Adresse Tooltip im Netzwerkmonitor
Alles: alle Devtools-Bugs, die zwischen Firefox 39 und Firefox 40 behoben wurden.
CSS
- Vorfixierte Regeln (
-moz-) fürtext-decoration-color,text-decoration-lineundtext-decoration-stylewurden entfernt (Firefox Bug 1097922). - Die Eigenschaft
text-alignunterstützt jetzt den Wertmatch-parent(Firefox Bug 645642). - Im Quirks-Modus hat
empty-cellsjetzt standardmäßigshow, wie im Standardmodus (Firefox Bug 1020400). - Die nicht-standardisierte Eigenschaft
-moz-orient, die zur Stilisierung von<meter>und<progress>-Elementen 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, sodass0als Multiplikator behandelt wird (was zu einer0-Höhe für die Schriftart führt, wodurch sie versteckt wird) anstelle des Wertesnone(was zu keiner Anpassung oder einem Wert von1.0führt) (Firefox Bug 1144885). - Textüberlauf funktioniert jetzt auch im vertikalen Schreibmodus (Firefox Bug 1117227).
HTML
Keine Veränderung.
JavaScript
- Nicht erreichbarer Code nach einer
return-Anweisung (einschließlich nicht erreichbarer Ausdrücke nach semicolon-less return statements) wird jetzt eine Warnung in der Konsole ausgeben (Firefox Bug 1005110, Firefox Bug 1151931). Symbol.matchwurde hinzugefügt (Firefox Bug 1054755).- Das Übergeben eines Objekts, das eine Eigenschaft mit dem Namen
Symbol.matchund einem wahrhaften Wert anString.prototype.startsWith,String.prototype.endsWithundString.prototype.containsjetzt einenTypeErrorauslöst (Firefox Bug 1054755). - Die Funktion
RegExpgibt das Muster selbst zurück, wenn sie ohnenewaufgerufen wird und das Musterobjekt eine Eigenschaft mit dem NamenSymbol.matchmit einem wahrhaften Wert hat, und dieconstructor-Eigenschaft des Musterobjekts gleich derRegExp-Funktion ist (Firefox Bug 1147817). - Unterstützung für das nicht-standardmäßige JS1.7 Destructuring
for-inwurde eingestellt (Firefox Bug 1083498). - Nicht-standardmäßige Initialisierungs-Ausdrücke in
for...in-Schleifen werden jetzt ignoriert und erzeugen eine Warnung in der Konsole. (Firefox Bug 748550 und Firefox Bug 1164741). \u{xxxxxx}Unicode-Codepunkt-Escapes wurden hinzugefügt (Firefox Bug 320500).String.prototype.containswurde durchString.prototype.includesersetzt,String.prototype.containsbleibt als Alias erhalten (Firefox Bug 1102219).- Wenn der
DataViewKonstruktor als Funktion ohne dennewOperator aufgerufen wird, wird jetzt gemäß der ES2015-Spezifikation einTypeErrorausgelöst. - Ein Problem, welches in Firefox 21 auftrat, wo proxifizierte Arrays ohne den
get-Falle nicht ordnungsgemäß funktionierten, wurde behoben. Wenn derget-Falle in einemProxynicht definiert war, gabArray.length0zurück und derset-Falle wurde nicht aufgerufen. Ein Workaround war, denget-Falle hinzuzufügen, auch wenn er im Code nicht notwendig war. Dieses Problem wurde nun behoben (Firefox Bug 895223). WeakMap.prototypeundWeakSet.prototypewurden aktualisiert, um einfache Objekte nach der ES2015-Spezifikation zu sein (Firefox Bug 1055473).
Schnittstellen/APIs/DOM
Neue APIs
- Die Push API wurde experimentell implementiert (Firefox Bug 1038811). Gesteuert durch die
services.push.enabledVoreinstellung, ist sie standardmäßig deaktiviert.
Web Animations API
Verbesserung unserer experimentellen Web Animations Implementierung, hauptsächlich um mit den neuesten Spezifikationsänderungen übereinzustimmen:
AnimationPlayer.currentTimekann jetzt auch gesetzt werden (Firefox Bug 1072037).Animatable.getAnimationPlayers(), verfügbar auf einemElementwurde zuElement.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 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). In Beta- und Release-Browsern bleibt sie standardmäßig deaktiviert.
- Das
CSSCharsetRule-Interface wurde entfernt und solche Objekte sind im CSSOM nicht mehr verfügbar (Firefox Bug 1148694). Dies entspricht der kürzlich angepassten Spezifikation und dem Chrome-Verhalten.
WebRTC
- WebRTC: Das
negotiationneededEvent wird jetzt auch für initiale Verhandlungen gesendet, nicht nur für erneute Verhandlungen (Firefox Bug 1149838).
DOM & HTML DOM
- Wenn die
srcsetnicht geparst werden kann, gibt die MethodeHTMLImageElement.currentSrcnicht mehrnull, sondern""zurück, wie es die neueste Spezifikation verlangt (Firefox Bug 1139560). - Wie für Bilder, drosselt Firefox jetzt
Window.requestAnimationFrame()für nicht sichtbare<iframe>(Firefox Bug 1145439). Navigator.taintEnabledist für Webworker nicht mehr verfügbar (Firefox Bug 1154878).
Web Audio API
Neue Erweiterungen der 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 Workers
- Leichte Verbesserung unserer Service Worker API: Die Methode
update()wurde vonServiceWorkerGlobalScopezuServiceWorkerRegistrationverschoben (Firefox Bug 1131350). ServiceWorkerRegistrationist nun in Webworkern verfügbar (Firefox Bug 1131327).DataStoreist jetzt in Webworkern verfügbar (Firefox Bug 916196).
IndexedDB
IDBTransactionsind jetzt standardmäßig nicht-durable (Firefox Bug 1112702). Dies begünstigt die Leistung über die Zuverlässigkeit und entspricht dem, was andere Browser tun. Weitere Informationen finden Sie in unserer Definition der Dauerhaftigkeit.
Dev Tools
- Die Eigenschaft
console.timeStamp()wurde hinzugefügt (Firefox Bug 922221).
MathML
Keine Veränderung.
SVG
Keine Veränderung.
Audio/Video
Keine Veränderung.
Netzwerk
Keine Veränderung.
Sicherheit
- Die Verwendung eines Sternchens (
*) in einem CSP schließt nicht mehr die Schematadata:,blob:oder:filesystemein, wenn Quellenausdrücke abgeglichen werden. Diese Schemata müssen jetzt explizit innerhalb des jeweiligen Headers definiert werden, um zur CSP zu passen (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, zusammen mit der FunktionnsClassInfo::GetImplementationLanguage(). - Die folgenden XPCOM-Interfaces wurden entfernt. Sie sollten stattdessen die standardmäßigen HTML-Interfaces verwenden:
nsIDOMHTMLBRElementnsIDOMDivElementnsIDOMHTMLHeadingElementnsIDOMHTMLTableCaptionElementnsIDOMHTMLTableElementnsIDOMHTMLTitleElement
Andere
- Die Keywords-API von Places wurde als veraltet erklärt und wird bald entfernt (Firefox Bug 1140395).
- Das automatische Testsystem unterstützt jetzt das Überspringen einzelner Testfunktionen. Siehe Bedingtes Ausführen von Tests im XPCShell-Test.