Firefox 20 Versionshinweise für Entwickler
Firefox 20 wurde am 2. April 2013 veröffentlicht. Dieser Artikel bietet Informationen über die Änderungen in dieser Version, die Entwickler betreffen werden.
Änderungen für Webentwickler
>HTML
- Unterstützung für das
downloadAttribut im<a>und<area>Element wurde hinzugefügt (Firefox Bug 676619). - Der Wert
autofür das globales Attributdirwurde implementiert (Firefox Bug 548206). - Das globale Attribut
contextmenufunktioniert jetzt in Firefox für Android (Firefox Bug 736321).
JavaScript
- Unterstützung für die Methode
WeakMap.prototype.clear(), die kürzlich zum Entwurfsvorschlag Harmony (ECMAScript 2015) hinzugefügt wurde (Firefox Bug 814562). - Unterstützung für die Methode
Math.imul(), eine C-ähnliche Funktion für 32-Bit-Multiplikation. Obwohl sie für Harmony (ECMAScript 2015) vorgeschlagen wurde, ist sie noch nicht akzeptiert und weiterhin nicht standardisiert (Firefox Bug 808148). - Web-Apps, die ziehbaren Text mit Kinetic 3.x verwenden, funktionieren, auch wenn der Cairo-Canvas-Backend verwendet wird (Firefox Bug 835064).
- Die
for each...inAnweisung wurde veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen die neuefor...ofAnweisung (Firefox Bug 804834). - Unterstützung für
Map.prototype.keys(),Map.prototype.values(), undMap.prototype.entries()wurde hinzugefügt (Firefox Bug 817368).
CSS
- CSS Flexbox ist jetzt standardmäßig nur in Pre-Release-Versionen verfügbar (Beta-Versionen ausgeschlossen). Es kann in Release- und Beta-Versionen aktiviert werden, indem die
layout.css.flexbox.enabledabout:config Präferenz auftruegesetzt wird. - Die
mask-typeEigenschaft wurde hinzugefügt (Firefox Bug 793617). - Experimentelle Unterstützung für die
:scopePseudoklasse wurde hinzugefügt. Standardmäßig in Aurora und Nightly aktiviert, kann es in Release- und Beta-Versionen aktiviert werden, indem dielayout.css.scope-pseudo.enabledabout:config Präferenz auftruegesetzt wird (Firefox Bug 648722).
DOM/APIs
HTMLMediaElementunterstützt jetztplaybackRate(lesen und schreiben), mit Tonhöhenkorrektur. Die Tonhöhenkorrektur kann mit der EigenschaftmozPreservesPitchkontrolliert werden (Firefox Bug 495040).- CSSOM: Unterstützung für die neuen
CSSGroupingRuleundCSSConditionRulewurde hinzugefügt (Firefox Bug 814907). - CSSOM: Bei
CSSRulewurden die Konstanten CSSRule.MOZ_KEYFRAME_RULE und CSSRule.MOZ_KEYFRAMES_RULE zu CSSRule.KEYFRAME_RULE und CSSRule.KEYFRAMES_RULE ohne Präfix geändert. Die version mit Präfix wird vorübergehend beibehalten, um Webautoren bei der Anpassung ihres Codes zu unterstützen (Firefox Bug 816431). - CSSOM: Es ist jetzt möglich, den Wert von
conditionTextfürCSSMediaRulefestzulegen (Firefox Bug 815021). - Die Methoden
parseFromStreamundparseFromBufferderDOMParsersind nicht mehr aus Web-Inhalten verfügbar (Firefox Bug 816410). - Die Methode
serializeToStreamdesXMLSerializerist nicht mehr aus Web-Inhalten verfügbar (Firefox Bug 816410). - Die Schnittstellen
TextDecoderundTextEncodersind jetzt in Worker verfügbar (Firefox Bug 795542). - Unterstützung für die Methode
CSS.supports()wurde hinzugefügt, hinter derlayout.css.supports-rule.enabledPräferenz (standardmäßig aus) (Firefox Bug 779917). - Unterstützung für UndoManager wurde hinzugefügt (Firefox Bug 617532).
- Die CSSOM-Methode
Document.caretPositionFromPoint(), die eineCaretPositionzurückgibt, wurde implementiert. - Das Index-Argument der Methoden
HTMLTableRowElement.insertCell()undHTMLTableElement.insertRow()wurde gemäß HTML-Spezifikation optional gemacht. Navigator.getUserMediaist weiterhin alsNavigator.mozGetUserMediavorgeprefixt und jetzt standardmäßig aktiviert.- Das dritte, optionale
transferArgument vonWindow.postMessagewird jetzt unterstützt. Es ermöglicht das Übertragen einer Sequenz von transferierbaren Objekten an das Ziel (Firefox Bug 822094). - Die nicht-standardisierte Methode
Window.sizeToContent()begrenzt jetzt die minimale Größe: Das Fenster kann nicht mehr auf kleine Größen gezwungen werden, die die Benutzerinteraktion verhindern (Firefox Bug 764240). - Blend-Modi, wie
overlay,color-burn,hue, etc. wurden zur Canvas-EigenschaftCanvasRenderingContext2D.globalCompositeOperationhinzugefügt (Firefox Bug 748433). - Die vorgepräfixte Version von
window.indexedDB—window.mozIndexedDB— wurde in Gecko reintroduziert, damit schlechter Code mit Browser-Präfixen (wievar indexedDB = window.indexedDB || window.webkitIndexedDB …) in Firefox nicht bricht. Ein besserer Ansatz istwindow.indexedDB = window.indexedDB || window.webkitIndexedDB …(siehe Firefox Bug 770844.)
SVG
- Die Implementierung der Eigenschaften
contentScriptTypeundcontentStyleTypewurde ausSVGSVGElementzusammen mit der Entfernung aus SVG2 entfernt (Firefox Bug 819731).
MathML
- Um MathML-Autoren beim Debuggen von "ungültigem Markup" in ihren Dokumenten zu helfen, werden MathML-Parsing-Fehler (wie zu viele / zu wenige Kindelemente) und Warnungen über veraltete Attribute oder falsche Attributwerte jetzt in der Fehlerkonsole gemeldet.
- Das Attribut
scriptminsizeakzeptiert jetzt wertlose Werte und Prozentwerte. Sie werden als Vielfaches des Standardwerts (8pt) interpretiert. - Wertlose Werte sind jetzt auch für die Attribute
mathsizeundfontsizeerlaubt; sie multiplizieren den Standardwert.
Änderungen für Add-on- und Mozilla-Entwickler
- ECMAScript for XML (E4X) ist jetzt vollständig für alle Chrome- und Inhalts-Skripts deaktiviert. Es war zuvor für Inhalte in Firefox 17 deaktiviert und wurde für Firefox 21 komplett entfernt. Verwenden Sie stattdessen DOMParser/DOMSerializer oder einen nicht nativen JXON-Algorithmus.
- Die
nsIDOMParserJSSchnittstelle existiert nicht mehr (Firefox Bug 816410). SiehensIDOMParserfür Alternativen. - Inhaltspräferenzen: Die
nsIContentPrefServiceSchnittstelle ist jetzt veraltet und die asynchronensIContentPrefService2Speicher-API wurde implementiert. - Die
nsIProfileundnsIProfileChangeStatusSchnittstellen wurden entfernt, zusammen mit anderem Code, der das Firefox-Profilverwaltungssystem vor Firefox unterstützte. Wahrscheinlich haben Sie diese Schnittstellen nicht verwendet, aber falls doch, sollten Sie damit aufhören. Dies verhindert, dass nicht mehr benötigte Teile des Profilverwaltungssystems den Herunterfahrprozess blockieren. - Die
nsIEventSourceSchnittstelle existiert nicht mehr (Firefox Bug 819639).