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
download-Attribut bei den<a>und<area>Elementen wurde hinzugefügt (Firefox-Bug 676619). - Der Wert
autofür das globale Attributdirwurde implementiert (Firefox-Bug 548206). - Das globale Attribut
contextmenufunktioniert nun in Firefox für Android (Firefox-Bug 736321).
JavaScript
- Unterstützung für die Methode
WeakMap.prototype.clear(), die kürzlich zum Harmony (ECMAScript 2015) Entwurf hinzugefügt wurde, wurde hinzugefügt (Firefox-Bug 814562). - Unterstützung für die Methode
Math.imul(), eine C-ähnliche 32-Bit-Multiplikationsfunktion. Obwohl für Harmony (ECMAScript 2015) vorgeschlagen, wurde sie noch nicht akzeptiert und ist weiterhin nicht standardisiert (Firefox-Bug 808148). - Webanwendungen, die ziehbare Texte mit Kinetic 3.x verwenden, funktionieren nun auch mit dem Cairo-Canvas-Backend (Firefox-Bug 835064).
- Die
for each...inAnweisung wurde als veraltet erklärt 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 Vorabversionen verfügbar (Beta-Versionen ausgeschlossen). Es kann in Release- und Beta-Versionen aktiviert werden, indem die
layout.css.flexbox.enabledabout:config-Einstellung auftruegesetzt wird. - Die
mask-type-Eigenschaft wurde hinzugefügt (Firefox-Bug 793617). - Experimentelle Unterstützung für die
:scopePseudoklasse wurde hinzugefügt. In Aurora und Nightly standardmäßig aktiviert, kann sie in Release- und Beta-Versionen aktiviert werden, indem dielayout.css.scope-pseudo.enabledabout:config-Einstellung auftruegesetzt wird (Firefox-Bug 648722).
DOM/APIs
HTMLMediaElementunterstützt jetztplaybackRate(sowohl lesend als auch schreibend), mit Tonhöhenkorrektur. Die Tonhöhenkorrektur kann über die EigenschaftmozPreservesPitchgesteuert 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 nicht mehr vorangestellt zu CSSRule.KEYFRAME_RULE und CSSRule.KEYFRAMES_RULE. Die vorangestellte Version wird vorübergehend beibehalten, um Webautor beim Übergang ihres Codes zu helfen (Firefox-Bug 816431). - CSSOM: Es ist jetzt möglich, den Wert von
conditionTextfürCSSMediaRulefestzulegen (Firefox-Bug 815021). - Die
DOMParserparseFromStreamundparseFromBufferMethoden sind aus Webinhalten nicht mehr verfügbar (Firefox-Bug 816410). - Die
XMLSerializerserializeToStreamMethode ist aus Webinhalten nicht mehr verfügbar (Firefox-Bug 816410). TextDecoderundTextEncoderSchnittstellen sind jetzt in Workern verfügbar (Firefox-Bug 795542).- Unterstützung für die
CSS.supports()Methode wurde hinzugefügt, hinter derlayout.css.supports-rule.enabledVoreinstellung (standardmäßig deaktiviert) (Firefox-Bug 779917). - Unterstützung für UndoManager wurde hinzugefügt (Firefox-Bug 617532).
- Die CSSOM
Document.caretPositionFromPoint()Methode, die einCaretPositionzurückgibt, wurde implementiert. - Das Index-Argument der
HTMLTableRowElement.insertCell()undHTMLTableElement.insertRow()Methoden wurde optional gemäß HTML-Spezifikation. Navigator.getUserMedia, weiterhin vorangestellt alsNavigator.mozGetUserMedia, ist jetzt standardmäßig aktiviert.- Das dritte, optionale,
transferArgument vonWindow.postMessagewird jetzt unterstützt. Es erlaubt, eine Sequenz von transferierbaren Objekten an das Ziel zu übertragen (Firefox-Bug 822094). - Die nicht standardisierte
Window.sizeToContent()Methode beschränkt jetzt die minimale Größe: Das Fenster kann nicht mehr gezwungen werden, auf kleine Größen zu reduzieren, die den Benutzer an der Interaktion hindern (Firefox-Bug 764240). - Mischmodi, wie
overlay,color-burn,hue, etc. wurden zur CanvasCanvasRenderingContext2D.globalCompositeOperationEigenschaft hinzugefügt (Firefox-Bug 748433). - Die vorangestellte Version von
window.indexedDB—window.mozIndexedDB— wurde in Gecko wieder eingeführt, sodass schlechter cross-browser Code mit Präfixen (wievar indexedDB = window.indexedDB || window.webkitIndexedDB …) in Firefox nicht unterbrochen wird. Ein besserer Ansatz istwindow.indexedDB = window.indexedDB || window.webkitIndexedDB …(siehe Firefox-Bug 770844).
SVG
- Die Implementierung der
contentScriptTypeundcontentStyleTypeEigenschaften wurde ausSVGSVGElemententfernt zusammen mit der Entfernung aus SVG2 (Firefox-Bug 819731).
MathML
- Um MathML-Autoren beim Debuggen von "invalid-markup" Fehlern in ihren Dokumenten zu unterstützen, werden MathML-Parserfehler (wie das Vorhandensein von zu vielen/wenigen Kindelementen) und Warnungen über veraltete Attribute oder falsche Attributwerte jetzt in der Fehlerkonsole gemeldet.
- Das
scriptminsizeAttribut akzeptiert nun wertlose und Prozentwerte. Diese werden als Vielfache des Standardwerts (8pt) interpretiert. - Wertlose Werte sind jetzt auch für die
mathsizeundfontsizeAttribute erlaubt; sie multiplizieren den Standardwert.
Änderungen für Add-on- und Mozilla-Entwickler
- ECMAScript für XML (E4X) ist jetzt vollständig für alle Chrome- und Inhaltsskripte deaktiviert. Es wurde zuvor für Inhalte in Firefox 17 deaktiviert und wird in Firefox 21 vollständig entfernt. Verwenden Sie stattdessen DOMParser/DOMSerializer oder einen nicht-nativen JXON-Algorithmus.
- Das
nsIDOMParserJSInterface existiert nicht mehr (Firefox-Bug 816410). SiehensIDOMParserfür Alternativen. - Inhaltspräferenzen: Das
nsIContentPrefServiceInterface ist jetzt veraltet und die asynchronensIContentPrefService2Speicher-API wurde implementiert. - Die
nsIProfileundnsIProfileChangeStatusInterfaces wurden entfernt, zusammen mit anderem Code, der das Vor-Firefox-Profilmanagementsystem unterstützt hat. Sie haben diese Interfaces wahrscheinlich nicht verwendet, aber wenn doch, sollten Sie damit aufhören. Dies verhindert, dass nicht mehr vorhandene Teile des Profilmanagementsystems den Shutdown-Prozess verhindern. - Das
nsIEventSourceInterface existiert nicht mehr (Firefox-Bug 819639).