Firefox 12 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 zu den neuen Funktionen und den wichtigsten behobenen Fehlern in dieser Version, sowie Links zu detaillierteren Dokumentationen 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 anstelle der Anzeige des Fallback-Inhalts gemäß der Spezifikation gerendert. Jetzt wird stattdessen der Fallback-Inhalt angezeigt. - 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 standardisierte Erweiterung von Netscape) wurde eingestellt.
ArrayBuffer.prototype.slice()
wurde implementiert.
DOM
DOMParser
unterstützt jetzt das Parsen von HTML-Dokumentfragmenten.XMLHttpRequest
unterstützt jetzt Timeouts mit dertimeout
-Eigenschaft und dem "timeout"-Ereignis, sowie demontimeout
-Event-Handler auf derXMLHttpRequestEventTarget
-Schnittstelle.XMLHttpRequest
kann jetzt vondata:
URLs laden.- Beim Herunterladen großer Datenmengen werden die Fortschritts-Ereignishandler von
XMLHttpRequest
jetzt periodisch aufgerufen, wennresponseType
auf "moz-blob" gesetzt ist und die Antwort einBlob
ist, das alle bisher empfangenen Daten enthält. So können Fortschritts-Handler damit beginnen, Daten zu verarbeiten, ohne auf den gesamten Empfang warten zu müssen. - Gecko unterstützt jetzt Multi-Touch (anstelle von nur Einzelberührungen) auf Android.
- Beim Bearbeiten von Text mit einem IME wird das
input
-Ereignis jetzt immer dann gesendet, wenn der Inhalt des bearbeiteten Elements geändert wurde; dies geschieht, nachdem dascompositionupdate
-Ereignis gesendet wurde, um anzuzeigen, dass der Text des IME geändert wurde. Sie können daher deninput
-Ereignishandler verwenden, um Änderungen am tatsächlichen Inhalt des Elements zu überwachen. DOMError
wie in der DOM-4-Spezifikation definiert wurde implementiert.- Die Methode
Document.createNodeIterator()
wurde aktualisiert, um der DOM4-Spezifikation zu entsprechen. Dadurch werden die ParameterwhatToShow
undfilter
optional und der nicht standardisierte vierte Parameter,entityReferenceExpansion
, wird entfernt. - Die
slice()
-Methode derBlob
-Schnittstelle war von einem Fehler betroffen, der verhinderte, dass siestart
- undend
-Werte akzeptiert, die außerhalb des Bereichs eines vorzeichenbehafteten 64-Bit-Ganzzahlwerts liegen; dies wurde behoben. - Die Methode
element.getBoundingClientRect()
berücksichtigt jetzt den Effekt von CSS-Transformationen bei der Berechnung des Begrenzungsrechtecks des Elements. - Die
crossOrigin
-Eigenschaft wird jetzt vonHTMLMediaElement
unterstützt.
Neue WebAPIs
- Network Information API: Experimentelle Unterstützung für
window.navigator.connection
wurde hinzugefügt (mit Präfix). - WebTelephony API:
window.navigator.mozTelephony
wurde implementiert und bietet Unterstützung zum Wählen, Annehmen und Verwalten von Telefonanrufen auf einem Gerät. - WebSMS API:
window.navigator.mozSms
ist jetzt für mobile Geräte verfügbar, um SMS-Nachrichten zu senden. - Bildschirmhelligkeits-API:
window.screen.mozEnabled
undwindow.screen.mozBrightness
wurden hinzugefügt, um die Helligkeit des Geräts zu steuern.
SVG
- Firefox implementiert jetzt die
SVGTests
-DOM-API, siehe Firefox-Bug 607854. - Die
SVGStringList
-DOM-Schnittstelle unterstützt die nicht standardisiertelength
-Eigenschaft, siehe Firefox-Bug 711958.
MathML
- Um die Schreibrichtung 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
align
-Attribut, das in MathML3 definiert ist, wurde für<munder>
,<mover>
und<munderover>
implementiert.
Netzwerk
- Bisher meldete Gecko den Schließcode
CLOSE_NORMAL
, wenn ein WebSocket-Kanal aufgrund eines unerwarteten Fehlers geschlossen wurde oder wenn er aufgrund einer Fehlerbedingung geschlossen wurde, die von der Spezifikation nicht abgedeckt ist. Jetzt wird stattdessenCLOSE_GOING_AWAY
gemeldet.
Entwicklerwerkzeuge
- Die Webkonsole speichert jetzt Fehlermeldungen und Log-Einträ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 die Zoomstufe, 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 Quelltext-Editor hat mehrere neue Bearbeitungsfunktionen und Tastenkombinationen; siehe Verwenden des Quelltext-Editors für Einzelheiten.
Mozilla arbeitet daran, seine eigenen Webentwickler-Werkzeuge zu integrieren, die das beliebte Firebug-Add-on ergänzen. Sie können weitere Informationen über diese Werkzeuge erhalten sowie eine Liste externer Ressourcen zu Firefox finden, die Ihnen bei Ihrer Webentwicklung helfen. Die vollständige Liste befindet sich unter Webentwickler-Werkzeuge.
Verschiedene Änderungen
- Der GEOSTD8-Zeichensatz, der nie vollständig unterstützt wurde, wird überhaupt nicht mehr unterstützt.
Änderungen für Mozilla- und Add-on-Entwickler
JavaScript-Codemodule
source-editor.jsm
- Die Methode
resetUndo()
wurde hinzugefügt; dies ermöglicht es, den Undo-Stack zu leeren. - Der Quelltext-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, unabhängig von den unterschiedlichen Standardfensterrahmenbreiten der Plattformen.
XPCOM
nsISupports
-Proxies werden nicht mehr unterstützt. Sie sollten stattdessen runnables verwenden.- Firefox 11 hat das Verhalten von
Components.utils.getWeakReference()
dahingehend geändert, dass eine Ausnahme ausgelöst wird, wenn die Objektreferenz null ist; das vorherige Verhalten des stillen Fehlschlagens wurde wiederhergestellt.
XPConnect
- Der Datentyp
PRUint64
war im Wesentlichen identisch mitPRint64
, wenn er mit XPConnect verwendet wurde. Dies wurde behoben.
Schnittstellenänderungen
- Die Schnittstelle
nsIScreen_MOZILLA_2_0_BRANCH
wurde innsIScreen
zusammengeführt. Die APIs, die in dieser Schnittstelle definiert sind (zur Steuerung der minimalen Bildschirmhelligkeit), waren bisher nicht dokumentiert, sind es jetzt aber. - Die Schnittstelle
nsIScriptError2
wurde innsIScriptError
integriert. nsIDownloadManager.addDownload()
wird jetzt asynchron anstelle von synchron behandelt.- Die Methode
imgIContainerObserver.frameChanged()
erhält jetzt als ersten Parameter einimgIRequest
-Objekt, das die entsprechende Anforderung identifiziert. - Die Methode
nsIDOMWindowUtils.sendTouchEvent()
wurde hinzugefügt, um Touch-Ereignisse zu synthetisieren. - Sie können jetzt den angegebenen Inhalt auf die vertikale Mitte des Sichtfensters scrollen, indem Sie
SCROLL_CENTER_VERTICALLY
als Scrollkonstante angeben, wenn SiensISelectionController.scrollSelectionIntoView()
aufrufen. - Das neue Attribut
nsIMemoryMultiReporter.explicitNonHeap
wurde hinzugefügt; dies ist eine effizientere Methode, die Summe aller Messungen des Multi-Reporters zu erhalten, die mit "explicit" beginnen und vom TypKIND_NONHEAP
sind. - Das Attribut
nsIDOMWindowUtils.paintingSuppressed
wurde hinzugefügt; dieser boolesche Wert gibt an, ob das Zeichnen derzeit im Fenster unterdrückt wird oder nicht. Dies wird auf Mobilgeräten verwendet, um eine ruckartige Darstellung zu verhindern, die auftritt, wenn versucht wird, die Seite zu zeichnen, bevor genügend Inhalt verfügbar ist, um dies flüssig zu tun. - Die Schnittstellen
nsIDocCharset
undnsIDocumentCharsetInfo
wurden innsIDocShell
zusammengeführt. Im Rahmen dieser Arbeiten wurde das alteforcedDetector
-Attribut entfernt; es hat nie etwas bewirkt.
SpiderMonkey
JSThread
wurde eliminiert.JSThreadData
wurde inJSRuntime
zusammengeführt.
Building
- Beim Bauen 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.
Siehe auch
- 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