Firefox 29 Versionshinweise für Entwickler
Firefox 29 wurde am 29. April 2014 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 Entwickler von Add-ons.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Wesentliche Änderungen umfassen:
- Stark verbesserte Webkonsole - Arrays werden inline angezeigt, ohne auf das rechte Inspektor-Fenster klicken zu müssen, Fensterobjekte zeigen ihre URL an, etc.
- Die console API wurde zu Webarbeitern hinzugefügt (Bug 620935). Jetzt können Sie Nachrichten von Webarbeitern an die Webkonsole protokollieren.
- Das Netzwerkmonitor Werkzeug zeigt nun Leistungsstatistiken mittels Tortendiagrammen an (Firefox-Bug 846601).
- Im Inspektor sind jetzt Vorschau-Tooltips für CSS-Transformationen verfügbar (Firefox-Bug 726427).
- DOM-Elemente, die im Debugger und in der Konsole angezeigt werden, können direkt entfernt oder inspiziert werden, über die neuen Schaltflächen rechts neben der Variablenliste.
- Eine CSS-Quellzuordnung wird nun vom Style Editor unterstützt (Firefox-Bug 926014).
- Autovervollständigung von CSS-Eigenschaften und -Werten wurde dem Style Editor hinzugefügt (Firefox-Bug 717369).
Sehen Sie sich den Mozilla Hacks Blogeintrag für Details und andere kleinere Änderungen an.
CSS
- CSS-Variablen wurden implementiert (Firefox-Bug 773296). Der Artikel CSS Variables in Firefox Nightly auf Mozilla Hacks enthält weitere Details. Sie sind per Standard nur in Nicht-Release-Builds aktiviert (in Release-Builds ändern Sie die Einstellung
layout.css.variables.enabledauftrue, wenn Sie damit experimentieren möchten). - Flexboxen unterstützen jetzt
visibility: collapse(Firefox-Bug 783470). - Die
box-sizing-Eigenschaft wurde ohne Präfix implementiert (Firefox-Bug 243412). - Die
will-change-Eigenschaft, ein Hinweis darauf, dass sich etwas animiert, wurde hinzugefügt. Die Einstellunglayout.css.will-change.enabledmuss auftruegeschaltet werden, um diese zu aktivieren. (Firefox-Bug 940842) - Wissenschaftliche Exponentialnotation, wie
3e1oder10e+0, wird jetzt für<number>-Werte und deren Ableitungen wie<percentage>- und Einheitswerte unterstützt, jedoch nicht für<integer>(Firefox-Bug 964529). - Bilder vom Typ
<gradient>werden nun inborder-imageunterstützt (Firefox-Bug 709587). - Die
touch-action-Eigenschaft wurde implementiert. Sie ist nicht standardmäßig aktiviert; die Einstellunglayout.css.touch_action.enabledsteuert diese. (Firefox-Bug 795567) - Entfernen Sie den redundanten Standardstil für das <pre>-Element aus der quirk.css (Firefox-Bug 948914).
- Die Rückfalllösung von CSS-Variablen wurde falsch implementiert (primäre Zyklen) (Firefox-Bug 950497).
- @supports-Konditionen mit Tokens nach einer Priorität der Deklaration sollten zu false ausgewertet werden (Firefox-Bug 909170).
HTML
<input type=color>und<input type=number>sind standardmäßig verfügbar.- Unterstützung für das nicht standardisierte
<pre cols>wurde entfernt, ebenso wie der Layouteffekt von<pre wrap>. Beide Effekte können und sollten mittels CSS erreicht werden. (Firefox-Bug 949879)
JavaScript
-
Neue ECMAScript 2015 String-Methoden:
String.prototype.codePointAt()undString.prototype.fromCodePoint()wurden implementiert (Firefox-Bug 918879). -
Die ECMAScript Internationalization API (ECMA-402) wurde implementiert und ist nun standardmäßig in Firefox Desktop aktiviert (Firefox-Bug 853301):
-
Um dem aktualisierten ECMAScript 2015 Entwurfsspezifikation zu entsprechen, behandeln die
MapundSetObjekte jetzt-0und+0als gleich, wenn überprüft wird, ob Schlüssel und Werte gleich sind. -
Promiseist jetzt standardmäßig aktiviert (Firefox-Bug 918806). -
Abgeschlossene Generatoren geben jetzt ein
IteratorResult-Objekt zurück, anstatt einen Fehler zu werfen (Firefox-Bug 958951). -
Eine fehlerhafte JSON-Zeichenfolge, die von
JSON.parse()geparst wird, gibt jetzt eine detailliertere Fehlermeldung mit der Zeilen- und Spaltennummer aus, die den Parsing-Fehler verursacht hat. Dies ist nützlich beim Debuggen großer JSON-Daten. -
Die Methode
ArrayBuffer.isView()wurde hinzugefügt (Firefox-Bug 896105).
Schnittstellen / APIs / DOM
- Ein neuer Typ von Arbeitern,
SharedWorker, ist jetzt standardmäßig verfügbar (Firefox-Bug 924089). - Die
URLSchnittstelle unterstützt nun diesearchParams-Eigenschaft, die einURLSearchParams-Objekt zurückgibt, wodurch Sie die Suchparameter einer URL bearbeiten können (Firefox-Bug 887836). Der KonstruktorURLSearchParams()ermöglicht das einfachere Parsen von Abfragezeichenfolgen. - Die
navigator.onLine-Eigenschaft wird jetzt inWorkerNavigatorunterstützt, sodass Sie den Online-/Offline-Status in Arbeitern erfahren können (Firefox-Bug 925437). - Als Teil der Implementierung von Web Components wurde die
HTMLShadowElement-Schnittstelle hinter demdom.webcomponents.enabled-Einstellung implementiert. Schalten Sie es auftrue, wenn Sie es verwenden möchten. (Firefox-Bug 887538) - Die schreibgeschützte Eigenschaft
HTMLIFrameElement.sandboxist nunmehr keine Zeichenfolge, sondern eineDOMTokenList(Firefox-Bug 845057). - Bei
HTMLCanvasElement.getContext()wird der Wertmoz-webglnicht mehr unterstützt. Verwenden Sie den Standardwertwebgl(Firefox-Bug 913597). - Der Konstruktor für
ImageDatawurde hinzugefügt. Diese Schnittstelle kann in einemWorkerverwendet werden. (Firefox-Bug 959958) - Die Eigenschaft
location.originist jetzt in Arbeitern verfügbar (überWorkerLocation) (Firefox-Bug 964148). - Die
ValidityState.badInput-Eigenschaft wurde implementiert (Firefox-Bug 827161). - Die veraltete Eigenschaft
Window.pkcs11wurde entfernt; sie hatte seit Firefox 3.0.14nullzurückgegeben. (Firefox-Bug 964964) - Die Methoden
Node.cloneNode()undDocument.importNode()nehmen das boolesche Argumentdeep. Bisher handelten diese Methoden, wenn weggelassen, als ob der Wert vondeeptruewar. Dieses Verhalten wurde jedoch gemäß der neuesten Spezifikation geändert, und wenn weggelassen, handeln die Methoden, als ob der Wertfalsewäre. (Firefox-Bug 937461) Window._contentist für Web-Inhalte nicht mehr verfügbar (Firefox-Bug 946564).- Das Verhalten von
URLUtils.portwurde leicht geändert: setzen Sie es auf'', um es auf den Standardport zu setzen, der mit dem Protokoll verbunden ist, und0auf0. (Firefox-Bug 930450) Document.referrerbasiert jetzt auf dem bestehenden Skript (Firefox-Bug 887928).- Die Gamepad API ist jetzt standardmäßig aktiviert (Firefox-Bug 878828).
- Die Methode
CanvasRenderingContext2D.drawSystemFocusRing()wurde inCanvasRenderingContext2D.drawFocusIfNeeded()umbenannt (Firefox-Bug 959820).
MathML
Keine Änderung.
SVG
Keine Änderung.
Sicherheit
- Die experimentelle
hash-source-Direktive von CSP 1.1 wurde implementiert. Die Einstellungsecurity.csp.experimentalEnabledsollte auftruegesetzt werden, um diese Funktionalität zu aktivieren (Firefox-Bug 883975).
Änderungen für Add-on- und Mozilla-Entwickler
- Wichtige Änderungen am Firefox-Design betreffen die meisten Erweiterungen, die mit der Firefox-Benutzeroberfläche interagieren.
nsISecurityCheckedComponentwurde entfernt (Firefox-Bug 794943). Die meisten Nutzer könnennsISecurityCheckedComponentaus ihrer Schnittstellendefinition entfernen, und sie werden weiterhin funktionieren.