Firefox 20 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 im<a>
- und<area>
-Element wurde hinzugefügt (Firefox Bug 676619). - Der Wert
auto
für das globale Attributdir
wurde implementiert (Firefox Bug 548206). - Das globale Attribut
contextmenu
funktioniert nun auch in Firefox für Android (Firefox Bug 736321).
JavaScript
- Unterstützung für die
WeakMap.prototype.clear()
-Methode, die kürzlich dem Harmony (ECMAScript 2015) Entwurf hinzugefügt wurde, wurde hinzugefügt (Firefox Bug 814562). - Unterstützung für die
Math.imul()
-Methode, 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 ziehbaren Text mit Kinetic 3.x verwenden, funktionieren, auch wenn das Cairo-Canvas-Backend verwendet wird (Firefox Bug 835064).
- Die
for each...in
-Anweisung wurde veraltet und sollte nicht mehr verwendet werden. Erwägen Sie die Verwendung der neuenfor...of
-Anweisung (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 nur standardmäßig in Vorabversionen verfügbar (mit Ausnahme von Betaversionen). Es kann in Release- und Betaversionen aktiviert werden, indem die
layout.css.flexbox.enabled
-Einstellung inabout:config
auftrue
gesetzt wird. - Die
mask-type
-Eigenschaft aus der CSS Masking-Spezifikation wurde hinzugefügt (Firefox Bug 793617). - Experimentelle Unterstützung für die
:scope
-Pseudoklasse wurde hinzugefügt. Standardmäßig in Aurora und Nightly aktiviert, kann es in Release- und Betaversionen durch Setzen derlayout.css.scope-pseudo.enabled
-Einstellung inabout:config
auftrue
aktiviert werden (Firefox Bug 648722).
DOM/APIs
HTMLMediaElement
unterstützt jetztplaybackRate
(sowohl Lese- als auch Schreibzugriff) mit Tonhöhenkorrektur. Die Tonhöhenkorrektur kann über die EigenschaftmozPreservesPitch
gesteuert werden (Firefox Bug 495040).- CSSOM: Unterstützung für die neuen
CSSGroupingRule
undCSSConditionRule
wurde hinzugefügt (Firefox Bug 814907). - CSSOM: Bei
CSSRule
wurden 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 nun möglich, den Wert von
conditionText
fürCSSMediaRule
festzulegen (Firefox Bug 815021). - Die
DOMParser
parseFromStream
- undparseFromBuffer
-Methoden sind für Webinhalte nicht mehr verfügbar (Firefox Bug 816410). - Die
XMLSerializer
serializeToStream
-Methode ist für Webinhalte nicht mehr verfügbar (Firefox Bug 816410). TextDecoder
undTextEncoder
-Schnittstellen sind jetzt in Workern verfügbar (Firefox Bug 795542).- Die Unterstützung für die
CSS.supports()
-Methode wurde hinzugefügt, hinter derlayout.css.supports-rule.enabled
-Einstellung (standardmäßig deaktiviert) (Firefox Bug 779917). - Unterstützung für UndoManager wurde hinzugefügt (Firefox Bug 617532).
- Die CSSOM
Document.caretPositionFromPoint()
-Methode, die eineCaretPosition
zurückgibt, wurde implementiert. - Das Index-Argument der Methoden
HTMLTableRowElement.insertCell()
undHTMLTableElement.insertRow()
wurde, gemäß der HTML-Spezifikation, optional gemacht. - [
Navigator.getUserMedia
], weiterhin alsNavigator.mozGetUserMedia
präfixiert, ist jetzt standardmäßig aktiviert. - Das dritte, optionale,
transfer
-Argument vonWindow.postMessage
wird jetzt unterstützt. Es erlaubt die Übertragung einer Sequenz von Transferable Objekten an das Ziel (Firefox Bug 822094). - Die nicht standardisierte
Window.sizeToContent()
-Methode begrenzt jetzt die minimale Größe: Das Fenster kann nicht mehr dazu gezwungen werden, auf kleine Größen verkleinert zu werden, die eine Benutzerinteraktion verhindern würden (Firefox Bug 764240). - Mischmodi wie
overlay
,color-burn
,hue
usw. wurden zur CanvasCanvasRenderingContext2D.globalCompositeOperation
-Eigenschaft hinzugefügt (Firefox Bug 748433). - Die Version mit Präfix von
window.indexedDB
—window.mozIndexedDB
— wurde in Gecko wieder eingeführt, sodass schlechter Cross-Browser-Präfixierungscode (wievar indexedDB = window.indexedDB || window.webkitIndexedDB …
) in Firefox nicht mehr bricht. Ein besserer Ansatz istwindow.indexedDB = window.indexedDB || window.webkitIndexedDB …
(siehe Firefox Bug 770844.)
SVG
- Die Implementierung der
contentScriptType
- undcontentStyleType
-Eigenschaften wurde ausSVGSVGElement
entfernt, zusammen mit der Entfernung aus SVG2 (Firefox Bug 819731).
MathML
- Um MathML-Autoren beim Debuggen von "ungültigem Markup"-Fehlern in ihren Dokumenten zu helfen, werden MathML-Parsing-Fehler (wie zu viele/zu wenige Kindelemente) und Warnungen über veraltete Attribute oder falsche Attributwerte jetzt an die Fehlerkonsole gemeldet.
- Das
scriptminsize
-Attribut akzeptiert jetzt wertfreie Einheiten und Prozentwerte. Diese werden als Vielfache des Standardwertes ("8pt
") interpretiert. - Wertfreie Einheiten sind jetzt auch für die Attribute
mathsize
undfontsize
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 Inhalts-Skripte deaktiviert. Es wurde bereits in Firefox 17 für Inhalte deaktiviert und wird in Firefox 21 vollständig entfernt. Verwenden Sie stattdessen DOMParser/DOMSerializer oder einen nicht-nativen JXON-Algorithmus.
- Die
nsIDOMParserJS
-Schnittstelle existiert nicht mehr (Firefox Bug 816410). Sehen Sie sichnsIDOMParser
für Alternativen an. - Inhaltspräferenzen: Die
nsIContentPrefService
-Schnittstelle ist jetzt veraltet und die asynchronensIContentPrefService2
-Speicher-API wurde implementiert. - Die
nsIProfile
- undnsIProfileChangeStatus
-Schnittstellen wurden entfernt, zusammen mit anderem Code zur Unterstützung des Pre-Firefox-Profil-Management-Systems. Sie verwenden diese Schnittstellen wahrscheinlich nicht, aber wenn doch, sollten Sie dies unterlassen. Dies verhindert, dass defekte Teile des Profilverwaltungssystems den Herunterfahrvorgang verhindern. - Die
nsIEventSource
-Schnittstelle existiert nicht mehr (Firefox Bug 819639).
Siehe auch
Ältere Versionen
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers