Firefox 12 Versionshinweise für Entwickler
Firefox 12 wurde am 24. April 2012 veröffentlicht. Diese Seite fasst die Änderungen in Firefox 12 zusammen, die Entwickler betreffen. Dieser Artikel bietet Informationen über die neuen Funktionen und die wichtigsten Fehlerbehebungen in dieser Version sowie Links zu detaillierterer Dokumentation sowohl für Webentwickler als auch für Add-on-Entwickler.
Änderungen für Webentwickler
>HTML
- Das
title-Attribut unterstützt jetzt Zeilenumbrüche, um mehrzeilige Tooltips zu ermöglichen. - Wenn JavaScript deaktiviert ist, wurde das
<canvas>-Element gerendert, anstatt den Fallback-Inhalt gemäß der Spezifikation anzuzeigen. Jetzt wird stattdessen der Fallback-Inhalt gerendert. - Das
crossorigin-Attribut wird jetzt auf<video>unterstützt.
CSS
- Unterstützung für die
text-align-last-Eigenschaft wurde hinzugefügt (mit Präfix).
JavaScript
- Unterstützung für scharfe Variablen (eine nicht standardmäßige Netscape-Erweiterung) wurde gestrichen.
ArrayBuffer.prototype.slice()wurde implementiert.
DOM
DOMParserunterstützt jetzt das Parsen von HTML-Dokumentfragmenten.XMLHttpRequestunterstützt jetzt Zeitüberschreitungen mit dertimeout-Eigenschaft und dem "timeout"-Ereignis sowie denontimeout-Ereignishandler auf derXMLHttpRequestEventTarget-Schnittstelle.XMLHttpRequestkann jetzt vondata:-URLs laden.- Beim Herunterladen großer Datenmengen werden
XMLHttpRequest-Fortschrittsereignishandler jetzt regelmäßig aufgerufen, wenn derresponseTypeauf "moz-blob" gesetzt ist und die Antwort einBlobist, der alle bisher empfangenen Daten enthält. Dadurch können Fortschritts-Handler Daten verarbeiten, ohne darauf warten zu müssen, dass alle Daten eingetroffen sind. - Gecko unterstützt jetzt Multi-Touch (anstatt nur einzelner Berührungen gleichzeitig) auf Android.
- Beim Bearbeiten von Text mit einem IME wird jetzt das
input-Ereignis gesendet, sobald sich der Inhalt des bearbeiteten Elements geändert hat; dies geschieht nachdem dascompositionupdate-Ereignis gesendet wurde, um anzuzeigen, dass sich der Text des IME geändert hat. Sie können daher deninput-Ereignishandler verwenden, um Änderungen am tatsächlichen Inhalt des Elements zu überwachen. DOMErrorwie im DOM-4-Spezifikation definiert wurde implementiert.- Die Methode
Document.createNodeIterator()wurde aktualisiert, um der DOM4-Spezifikation zu entsprechen. Dies macht die ParameterwhatToShowundfilteroptional und entfernt den nicht standardmäßigen vierten ParameterentityReferenceExpansion. - Die Methode
Blobslice()war von einem Fehler betroffen, der verhinderte, dass siestart- undend-Werte außerhalb der Reichweite eines 64-Bit-Ganzzahls ordnungsgemäß akzeptierte; dies wurde behoben. - Die Methode
element.getBoundingClientRect()berücksichtigt jetzt den Effekt von CSS-Transformationen bei der Berechnung des Begrenzungsrechtecks des Elements. - Die Eigenschaft
crossOriginwird jetzt vonHTMLMediaElementunterstützt.
Neue WebAPIs
- Network Information API: Experimentelle Unterstützung für
window.navigator.connectionwurde hinzugefügt (mit Präfix). - WebTelephony API:
window.navigator.mozTelephonywurde implementiert und bietet Unterstützung für das Wählen, Annehmen und Verwalten von Telefonanrufen auf einem Gerät. - WebSMS API:
window.navigator.mozSmsist jetzt für mobile Geräte verfügbar, um SMS-Textnachrichten zu senden. - Bildschirmhelligkeits-API:
window.screen.mozEnabledundwindow.screen.mozBrightnesswurden hinzugefügt, um den Bildschirm eines Geräts zu steuern.
SVG
- Firefox implementiert jetzt die
SVGTests-DOM-API, siehe Firefox-Bug 607854. - Die
SVGStringList-DOM-Schnittstelle unterstützt die nicht standardmäßigelength-Eigenschaft, siehe Firefox-Bug 711958.
MathML
- Um die Ausrichtung von MathML-Formeln zu steuern, wird das
dir-Attribut jetzt auf den<math>,<mrow>und<mstyle>-Elementen sowie auf MathML-Token-Elementen unterstützt. Dies ist besonders wichtig für einige arabische mathematische Notationen. - Das in MathML3 definierte Ausrichtungsattribut
alignwurde für<munder>,<mover>und<munderover>implementiert.
Netzwerk
- Bisher meldete Gecko den Schließungscode
CLOSE_NORMAL, wenn ein WebSocket-Kanal aufgrund eines unerwarteten Fehlers geschlossen wurde oder wenn er aufgrund einer Fehlerbedingung geschlossen wurde, die die Spezifikation nicht abdeckt. Jetzt wird stattdessenCLOSE_GOING_AWAYgemeldet.
Entwicklerwerkzeuge
- Die Webkonsole speichert jetzt Fehlermeldungen und Protokolleinträge, die mit
console.log()hinzugefügt wurden, wenn die Konsole nicht geöffnet ist, und zeigt sie an, wenn die Konsole geöffnet wird. - Sie können jetzt den Zoom-Level, das Schwenken und die Rotation in der 3D-Ansicht zurücksetzen, indem Sie die "r"-Taste drücken.
- Sie können jetzt Knoten in der 3D-Ansicht ausblenden, indem Sie die "x"-Taste drücken, nachdem Sie sie ausgewählt haben.
- Der Quellcode-Editor bietet mehrere neue Bearbeitungsfunktionen und Tastenkombinationen; Weitere Informationen finden Sie unter Verwenden des Quellcode-Editors.
Mozilla arbeitet an der Integration eigener Web-Entwickler-Tools, die das beliebte Firebug-Add-on ergänzen. Sie können mehr Informationen über diese Tools sowie eine Liste von Ressourcen außerhalb von Firefox finden, die Ihnen bei der Webentwicklung helfen. Die vollständige Liste befindet sich unter Web developer tools.
Verschiedene Änderungen
- Die GEOSTD8-Zeichenkodierung, die nie vollständig unterstützt wurde, wird nicht mehr unterstützt.
Änderungen für Mozilla- und Add-on-Entwickler
>JavaScript-Code-Module
source-editor.jsm
- Die Methode
resetUndo()wurde hinzugefügt; diese ermöglicht es, den Undo-Stack zu löschen. - Der Quellcode-Editor bietet jetzt Methoden zur Bereitstellung von Suchfunktionen:
find(),findNext()undfindPrevious().
XUL
- Die Definition der Werte für das
chromemargin-Attribut hat sich leicht geändert, um es einfacher zu machen, plattformübergreifenden XUL-Code gut aussehen zu lassen auf Plattformen mit unterschiedlichen standardmäßigen Fensterrahmenbreiten.
XPCOM
nsISupports-Proxys werden nicht länger unterstützt. Sie sollten stattdessen Runnables verwenden.- Firefox 11 änderte das Verhalten von
Components.utils.getWeakReference(), um eine Ausnahme auszulösen, wenn die Objektreferenz null ist; das vorherige Verhalten des stillen Scheiterns wurde wiederhergestellt.
XPConnect
- Der
PRUint64-Datentyp war bei Verwendung mit XPConnect fälschlicherweise im Wesentlichen identisch mitPRint64. Dies wurde behoben.
Schnittstellenänderungen
- Die
nsIScreen_MOZILLA_2_0_BRANCH-Schnittstelle wurde innsIScreenzusammengeführt. Die in dieser Schnittstelle definierten APIs (zur Steuerung der minimalen Bildschirmhelligkeit) waren zuvor nicht dokumentiert, sind es jetzt aber. - Die
nsIScriptError2-Schnittstelle wurde innsIScriptErrorintegriert. nsIDownloadManager.addDownload()wird jetzt asynchron statt synchron behandelt.- Die Methode
imgIContainerObserver.frameChanged()erhält jetzt als ersten Parameter einimgIRequest-Objekt, das die entsprechende Anfrage identifiziert. - Die Methode
nsIDOMWindowUtils.sendTouchEvent()wurde hinzugefügt, um Touch-Ereignisse zu synthetisieren. - Sie können jetzt den angegebenen Inhalt vertikal in die Mitte der Ansicht scrollen, indem Sie
SCROLL_CENTER_VERTICALLYals Scrollkonstante beim Aufrufen vonnsISelectionController.scrollSelectionIntoView()angeben. - Das neue Attribut
nsIMemoryMultiReporter.explicitNonHeapwurde hinzugefügt; dies ist eine effizientere Möglichkeit, die Summe aller Messungen des Multi-Reporters zu erhalten, die mit "explicit" beginnen und vom TypKIND_NONHEAPsind. - Das Attribut
nsIDOMWindowUtils.paintingSuppressedwurde hinzugefügt; dieser boolesche Wert zeigt an, ob das Zeichnen derzeit in dem Fenster unterdrückt wird oder nicht. Dies wird auf mobilen Geräten verwendet, um ein federndes Rendering zu verhindern, das auftritt, wenn versucht wird, die Seite zu zeichnen, bevor genügend Inhalt verfügbar ist, um sie reibungslos darzustellen. - Die
nsIDocCharset- undnsIDocumentCharsetInfo-Schnittstellen wurden innsIDocShellzusammengeführt. Im Rahmen dieser Arbeit wurde das alte AttributforcedDetectorentfernt; es hat ohnehin nie etwas bewirkt.
SpiderMonkey
JSThreadwurde eliminiert.JSThreadDatawurde inJSRuntimeintegriert.
Bauen
- Beim Erstellen unter Windows müssen Sie das Windows 7 SDK installiert haben.
Andere Änderungen
- Die Editor-Komponente (bekannt als Midas) akzeptiert jetzt nur noch Ereignisse von privilegiertem Code.