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 Add-on-Entwickler.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Wichtige Änderungen umfassen:
- Stark verbesserte Web-Konsole - Arrays werden inline angezeigt, ohne dass man sie im rechten Inspektor öffnen muss, Fensterobjekte zeigen ihre URL an, usw.
- Die Console API wurde zu Web-Workern hinzugefügt (Fehler 620935). Jetzt können Sie Nachrichten vom Web-Worker in die Web-Konsole protokollieren.
- Das Netzwerkmonitor Werkzeug zeigt jetzt Leistungsstatistiken mittels Tortendiagrammen an (Firefox-Fehler 846601).
- Im Inspektor sind jetzt Vorschau-Tooltips für CSS-Transformierungen verfügbar (Firefox-Fehler 726427).
- DOM-Elemente, die im Debugger und in der Konsole angezeigt werden, können jetzt direkt entfernt oder inspiziert werden, über neue Schaltflächen rechts neben der Variablenauflistung.
- Eine CSS-Quellkarte wird nun vom Style Editor unterstützt (Firefox-Fehler 926014).
- Autovervollständigung von CSS-Eigenschaften und -Werten wurde zum Style Editor hinzugefügt (Firefox-Fehler 717369).
Weitere Details und kleinere Änderungen finden Sie im Mozilla Hacks Blogbeitrag.
CSS
- CSS-Variablen wurden implementiert (Firefox-Fehler 773296). Mehr Details finden Sie in "CSS Variables in Firefox Nightly" auf Mozilla Hacks. Sie sind standardmäßig nur für Nicht-Release-Builds aktiviert (bei Release-Builds ändern Sie die Voreinstellung
layout.css.variables.enabledauftrue, wenn Sie damit experimentieren möchten). - Flexboxen unterstützen nun
visibility: collapse(Firefox-Fehler 783470). - Die
box-sizingEigenschaft ist jetzt ohne Präfix (Firefox-Fehler 243412). - Die
will-changeEigenschaft, ein Hinweis darauf, dass etwas animiert wird, wurde hinzugefügt. Die Voreinstellunglayout.css.will-change.enabledmuss auftruegesetzt werden, um sie zu aktivieren. (Firefox-Fehler 940842) - Wissenschaftliche Exponentialdarstellung, wie
3e1oder10e+0, wird jetzt für<number>Werte und deren Ableitungen, wie<percentage>und Einheitwerte, unterstützt, aber nicht für<integer>(Firefox-Fehler 964529). - Bilder vom Typ
<gradient>werden jetzt inborder-imageunterstützt (Firefox-Fehler 709587). - Die
touch-actionEigenschaft wurde implementiert. Sie ist standardmäßig nicht aktiviert; die Voreinstellunglayout.css.touch_action.enabledsteuert dies. (Firefox-Fehler 795567) - Entfernen des unnötigen Standardstils für das <pre> Element aus quirk.css (Firefox-Fehler 948914).
- Fallback von CSS-Variablen wurde falsch implementiert (primäre Zyklen) (Firefox-Fehler 950497).
- @supports-Bedingungen mit Token nach der Priorität einer Deklaration sollten zu false ausgewertet werden (Firefox-Fehler 909170).
HTML
<input type=color>und<input type=number>sind jetzt 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 mit CSS erreicht werden. (Firefox-Fehler 949879)
JavaScript
-
Neue ECMAScript 2015 String-Methoden:
String.prototype.codePointAt()undString.prototype.fromCodePoint()wurden implementiert (Firefox-Fehler 918879). -
Die ECMAScript Internationalization API (ECMA-402) wurde implementiert und ist jetzt standardmäßig in Firefox Desktop aktiviert (Firefox-Fehler 853301):
-
Um der aktualisierten ECMAScript 2015-Entwurfsspezifikation zu entsprechen, behandeln die
MapundSetObjekte jetzt-0und+0als gleich bei der Prüfung auf Schlüssel- und Wertgleichheit. -
Promiseist jetzt standardmäßig aktiviert (Firefox-Fehler 918806). -
Abgeschlossene Generatoren geben jetzt ein
IteratorResult-Objekt zurück, anstatt eine Ausnahme zu werfen (Firefox-Fehler 958951). -
Ein fehlerhafter JSON-String, der von
JSON.parse()analysiert wird, gibt jetzt eine detailliertere Fehlermeldung mit Angabe der Zeilen- und Spaltennummer zurück, die den Analysefehler verursacht hat. Dies ist nützlich beim Debuggen von großen JSON-Daten. -
Die Methode
ArrayBuffer.isView()wurde hinzugefügt (Firefox-Fehler 896105).
Schnittstellen/APIs/DOM
- Ein neuer Arbeitertyp,
SharedWorker, ist jetzt standardmäßig verfügbar (Firefox-Fehler 924089). - Die
URLSchnittstelle unterstützt jetzt diesearchParamsEigenschaft, die einURLSearchParamsObjekt zurückgibt, welches die Modifikation der Suchparameter einer URL ermöglicht (Firefox-Fehler 887836). DerURLSearchParams()Konstruktor ermöglicht einfacheres Parsen von Abfrage-Strings. - Die
navigator.onLineEigenschaft wird jetzt aufWorkerNavigatorunterstützt, was das Erkennen des Online-/Offline-Status in Workern erlaubt (Firefox-Fehler 925437). - Im Rahmen der Implementierung von Web Components wurde die
HTMLShadowElementSchnittstelle hinterdom.webcomponents.enabledimplementiert. Setzen Sie diese auftrue, wenn Sie sie verwenden möchten (Firefox-Fehler 887538). - Die schreibgeschützte Eigenschaft
HTMLIFrameElement.sandboxist kein String mehr, sondern einDOMTokenList(Firefox-Fehler 845057). - Bei
HTMLCanvasElement.getContext()wird der Wertmoz-webglnicht mehr unterstützt. Verwenden Sie stattdessen den Standardwertwebgl(Firefox-Fehler 913597). - Der Konstruktor für
ImageDatawurde hinzugefügt. Diese Schnittstelle kann in einemWorkerverwendet werden (Firefox-Fehler 959958). - Die Eigenschaft
location.originist jetzt in Workern verfügbar (überWorkerLocation) (Firefox-Fehler 964148). - Die
ValidityState.badInputEigenschaft wurde implementiert (Firefox-Fehler 827161). - Die veraltete Eigenschaft
Window.pkcs11wurde entfernt; sie gab seit Firefox 3.0.14nullzurück (Firefox-Fehler 964964). - Die Methoden
Node.cloneNode()undDocument.importNode()nehmen das boolesche Argumentdeepan. Bis jetzt, falls sie weggelassen wurden, agierten diese Methoden so, als wäre der Wert vondeeptrue. Dieses Verhalten wurde jedoch entsprechend der neuesten Spezifikation geändert und wenn sie weggelassen werden, verhalten sich die Methoden so, als wäre der Wertfalse(Firefox-Fehler 937461). Window._contentist nicht mehr für Webinhalte verfügbar (Firefox-Fehler 946564).- Das Verhalten von
URLUtils.portwurde geringfügig geändert: Auf''gesetzt, wird es auf den Standardport gesetzt, der mit dem Protokoll assoziiert ist, und0auf0(Firefox-Fehler 930450). Document.referrerbasiert jetzt auf dem aktuellen Skript (Firefox-Fehler 887928).- Die Gamepad API ist standardmäßig aktiviert (Firefox-Fehler 878828).
- Die
CanvasRenderingContext2D.drawSystemFocusRing()Methode wurde umbenannt inCanvasRenderingContext2D.drawFocusIfNeeded()(Firefox-Fehler 959820).
MathML
Keine Änderung.
SVG
Keine Änderung.
Sicherheit
- Die experimentelle
hash-sourceDirektive von CSP 1.1 wurde implementiert. Die Voreinstellungsecurity.csp.experimentalEnabledsollte auftruegesetzt werden, um diese Funktionalität zu aktivieren (Firefox-Fehler 883975).
Änderungen für Add-on- und Mozilla-Entwickler
- Größere Theme-Änderungen in Firefox beeinflussen die meisten Erweiterungen, die mit der Firefox-Benutzeroberfläche interagieren.
nsISecurityCheckedComponentwurde entfernt (Firefox-Fehler 794943). Die meisten Benutzer können dasnsISecurityCheckedComponentaus ihrer Schnittstellendefinition entfernen und sie werden weiterhin funktionieren.