Firefox 40 Versionshinweise 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, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>Entwickler-Tools
Highlights:
- Verbesserungen der Animationsansicht
- Hilfe von MDN für CSS-Eigenschaftssyntax erhalten
- Filter im Seiteninspektor bearbeiten
- Webkonsole zeigt jetzt Nachrichten von Workern an
- Anfragen nach URL im Netzwerkmonitor filtern
- Viele neue Optionen im Kontextmenü des Netzwerkmonitors
- Anzeigen, wann Netzwerkressourcen aus dem Browser-Cache abgerufen werden
- Regeln im Seiteninspektor filtern
Mehr:
- Anhalten bei
debugger;-Anweisungen in unbenannten eval-Quellen - Kopieren von URL/Open in New Tab Kontextmenüelemente für Debugger-Quellenlistenbereich
- Unterstützung von
console.dirxmlin der Webkonsole - Style Editor: "Link in neuem Tab öffnen" Element zur Stylesheet-Liste hinzugefügt
- Inspektor-Auswahlsuche umfasst jetzt Klassen-/ID-Ergebnisse auch ohne CSS-Präfix
- Tooltips in der Box-Modell-Ansicht, die sagen, welche CSS-Regel den Wert verursacht hat
- Zwischen Farbformaten im Inspektor mithilfe von Shift+Klick wechseln
- Menüelement "In Sicht rollen" für den Inspektor implementieren
- URL/ID/Resource-Attribute im Inspektor verlinken
- IP-Adressen-Tooltip im Netzwerkmonitor
Alles: alle Devtools Bugs, die zwischen Firefox 39 und Firefox 40 behoben wurden.
CSS
- Präfix-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 ist
empty-cellsnun standardmäßig aufshow, wie im Standardmodus (Firefox Bug 1020400). - Die nicht-standardisierte Eigenschaft
-moz-orient, die zur Stilisierung des<meter>- und<progress>-Elements verwendet wird, wurde für vertikale Schreibmodi angepasst: Der Wertautowurde entfernt, und die Werteinlineundblockwurden hinzugefügt, wobeiinlineder neue Standardwert ist (Firefox Bug 1028716). - Die Eigenschaft
font-size-adjustwurde so korrigiert, dass0als Multiplikator behandelt wird (was zu einer0-Höhe der Schrift führt, sie somit verbirgt), anstatt den Wertnone(was zu keiner Anpassung oder einem Wert von1.0führt) (Firefox Bug 1144885). - Fix für
text-overflow, das im vertikalen Schreibmodus nicht funktionierte (Firefox Bug 1117227).
HTML
Keine Änderung.
JavaScript
- Nicht erreichbarer Code nach einer
return-Anweisung (einschließlich unerreichbarer Ausdrücke nach semicolon-less return statements) wird jetzt eine Warnung in der Konsole anzeigen (Firefox Bug 1005110, Firefox Bug 1151931). Symbol.matchwurde hinzugefügt (Firefox Bug 1054755).- Das Übergeben eines Objekts, das eine Eigenschaft namens
Symbol.matchmit einem truthy Wert anString.prototype.startsWith,String.prototype.endsWithundString.prototype.containshat, löst jetzt einenTypeErroraus (Firefox Bug 1054755). - Die Funktion
RegExpgibt das Muster selbst zurück, wenn sie ohnenewaufgerufen wird und das Musterobjekt eine Eigenschaft namensSymbol.matchmit einem truthy Wert hat, und dieconstructor-Eigenschaft des Musterobjekts gleich der FunktionRegExpist. (Firefox Bug 1147817). - Die Unterstützung für das nicht standardisierte JS1.7-Destructuring
for-inwurde eingestellt (Firefox Bug 1083498). - Nicht standardisierte Initialisierer-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). \u{xxxxxx}Unicode-Codepoint-Escapes wurden hinzugefügt (Firefox Bug 320500).String.prototype.containswurde durchString.prototype.includesersetzt,String.prototype.containsbleibt als Alias erhalten (Firefox Bug 1102219).- Wenn der
DataView-Konstruktor als Funktion ohne dennewOperator aufgerufen wird, wird jetzt gemäß der ES2015-Spezifikation einTypeErrorausgelöst. - Ein Problem, das in Firefox 21 aufgetreten ist und bei dem proxifizierte Arrays ohne den
get-Trick nicht richtig funktionierten, wurde behoben. Wenn derget-Trick in einemProxynicht definiert war, gabArray.length0zurück und derset-Trick wurde nicht aufgerufen. Ein Workaround bestand darin, denget-Trick hinzuzufügen, auch wenn er in Ihrem Code nicht notwendig war. Dieses Problem wurde jetzt behoben. (Firefox Bug 895223). WeakMap.prototypeundWeakSet.prototypewurden aktualisiert, um einfach nur gewöhnliche Objekte gemäß der ES2015-Spezifikation zu sein (Firefox Bug 1055473).
Schnittstellen/API/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
Verbesserungen in unserer experimentellen Web-Animations-Implementierung, hauptsächlich um die neuesten Spezifikationsänderungen zu entsprechen:
AnimationPlayer.currentTimekann jetzt auch gesetzt werden (Firefox Bug 1072037).Animatable.getAnimationPlayers(), verfügbar aufElement, wurde umbenannt inElement.getAnimations()(Firefox Bug 1145246).AnimationundAnimationEffectwurden in den neu erstelltenKeyframeEffectReadOnlyzusammengeführt (Firefox Bug 1153734).AnimationPlayerwurde umbenannt inAnimation(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). Sie ist immer noch standardmäßig in Beta- und Release-Browsern deaktiviert.
- Die
CSSCharsetRule-Schnittstelle wurde entfernt und solche Objekte sind nicht mehr in CSSOM verfügbar (Firefox Bug 1148694). Dies entspricht der Spezifikation (kürzlich angepasst) und dem Chrome-Verhalten.
WebRTC
- WebRTC: Das
negotiationneeded-Ereignis wird jetzt auch für erste Verhandlungen gesendet, nicht nur für Nachverhandlungen (Firefox Bug 1149838).
DOM & HTML DOM
- Wenn
srcsetnicht geparst werden kann, gibt die MethodeHTMLImageElement.currentSrcnicht mehrnullzurück, sondern"", wie von der neuesten Spezifikation verlangt (Firefox Bug 1139560). - Wie bei Bildern drosselt Firefox jetzt auch
Window.requestAnimationFrame()für nicht-sichtbare<iframe>(Firefox Bug 1145439). Navigator.taintEnabledist für Web-Worker nicht mehr verfügbar (Firefox Bug 1154878).
Web Audio API
Neue Erweiterungen zur Web Audio API:
- Die Eigenschaften
AudioContext.stateundAudioContext.onstatechangesowie die MethodenAudioContext.suspend(),AudioContext.resume()undAudioContext.close()wurden hinzugefügt (Firefox Bug 1094764). AudioBufferSourceNodeimplementiert nun dasAudioBufferSourceNode.detunek-rate Attribut (Firefox Bug 1153783).
Web Worker
- Leichte Verbesserung unserer Service Worker API: Die Methode
update()wurde vonServiceWorkerGlobalScopezuServiceWorkerRegistrationverschoben (Firefox Bug 1131350). ServiceWorkerRegistrationist jetzt in Web-Worker verfügbar (Firefox Bug 1131327).DataStoreist jetzt in Web-Worker verfügbar (Firefox Bug 916196).
IndexedDB
IDBTransactionsind jetzt standardmäßig nicht langlebig (Firefox Bug 1112702). Dies begünstigt die Leistung gegenüber der Zuverlässigkeit und entspricht dem, was andere Browser tun. Für weitere Informationen lesen Sie unsere Definition der Langlebigkeit.
Entwickler-Tools
- Die Eigenschaft
console.timeStamp()wurde hinzugefügt (Firefox Bug 922221).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerktechnik
Keine Änderung.
Sicherheit
- Die Verwendung eines Sternchens (
*) in einem CSP beinhaltet nicht mehr die Schemasdata:,blob:oder:filesystembeim Abgleichen von Quellenausdrücken. Diese Schemas müssen jetzt explizit innerhalb des entsprechenden Headers definiert werden, um die CSP zu treffen (Firefox Bug 1086999).
Änderungen für Add-on- und Mozilla-Entwickler
>XUL
- Es ist nicht mehr möglich, durchsichtige oberste Fenster zu erstellen Firefox Bug 1162649.
JavaScript-Code-Module
Dict.jsmwurde entfernt Firefox Bug 1123309. Verwenden Sie stattdessenMap.
XPCOM
- Das Attribut
nsIClassInfo.implementationLanguagewurde entfernt, zusammen mit dernsClassInfo::GetImplementationLanguage()-Funktion. - Die folgenden XPCOM-Schnittstellen wurden entfernt; Sie sollten stattdessen die standardmäßigen HTML-Schnittstellen verwenden:
nsIDOMHTMLBRElementnsIDOMDivElementnsIDOMHTMLHeadingElementnsIDOMHTMLTableCaptionElementnsIDOMHTMLTableElementnsIDOMHTMLTitleElement
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 Conditional Tests ausführen in XPCShell-Tests.