Firefox 11 Versionshinweise für Entwickler
Firefox 11 wurde am 13. März 2012 veröffentlicht. Dieser Artikel bietet Informationen über die neuen Funktionen und die wichtigsten behobenen Fehler in dieser Version sowie Links zu ausführlicheren Dokumentationen für Web-Entwickler und Add-on-Entwickler.
Änderungen für Webentwickler
>HTML
DOM
- Die
element.outerHTML-Eigenschaft wird jetzt bei HTML-Elementen unterstützt. XMLHttpRequestunterstützt HTML-Parsing.- Die Unterstützung für die Verwendung der
responseType- undwithCredentials-Attribute vonXMLHttpRequestbei synchronen Anfragen wurde entfernt. Der Versuch, dies zu tun, wirft eineNS_ERROR_DOM_INVALID_ACCESS_ERR-Ausnahme. Diese Änderung wurde beim W3C zur Standardisierung vorgeschlagen. - Die neue Methode
navigator.mozVibrate()ermöglicht das Vibrieren des Geräts, wenn unterstützt; dies wird in Gecko alsmozVibrate()implementiert. navigator.mozAppsgibt einApps-Objekt zurück, mit dem Sie Open Web Apps installieren und verwalten können.MozBeforePaint-Ereignisse werden nicht mehr ausgelöst. Verbraucher vonmozRequestAnimationFrame(), die diese verwendet haben, sollten stattdessen eine Callback-Funktion übergeben.- Unterstützung zum Abbrechen von Animationsframe-Anfragen wurde hinzugefügt;
window.mozRequestAnimationFrame()gibt jetzt einen Anforderungs-ID-Wert zurück, den Sie anwindow.mozCancelAnimationFrame()übergeben können, um die Anfrage abzubrechen. - Mehrere
Event-Konstruktoren (Event, HTML-Ereignisse,UIEventundMouseEvent), die in den DOM4-Spezifikationen eingeführt wurden, werden jetzt unterstützt. - Die Battery API ist jetzt standardmäßig aktiviert.
- Unterstützung für die Eigenschaften
defaultMuted,loopundmutedaufHTMLMediaElementwurde hinzugefügt. - Der Aufruf von
Document/exitFullscreenstellt nun das zuvor im Vollbildmodus befindliche Element wieder her, wenn ein anderes Element im Vollbildmodus war, als die MethodeElement/requestFullScreendes aktuellen Elements aufgerufen wurde. - Die Methode
window.mozRequestAnimationFrame()unterstützt nicht mehr ein Argument mit leerem Wert. Diese Form wurde kaum verwendet und wird wahrscheinlich nicht Teil des Standards. - SVG-als-Bild kann jetzt in ein Canvas gezeichnet werden, ohne das Canvas zu verfälschen.
- Die nicht standardisierte
countryCode-Eigenschaft derGeoPositionAddress-Schnittstelle wurde entfernt; siehensIDOMGeoPositionAddress. - Servergesendete Ereignisse unterstützen jetzt CORS.
- In der Vergangenheit, wenn der Benutzer einem Link folgte, wurden die auf dem
window.navigator-Objekt gesetzten Werte von der neuen Seite beibehalten. Jetzt wird ein neuesnavigator-Objekt für die neue Seite erstellt. Dies führt dazu, dass sich Firefox wie alle anderen Browser verhält.
CSS
- die
text-size-adjust-Eigenschaft wird jetzt unterstützt. - CSS3 Bedingte Regeln werden jetzt besser unterstützt: verschachtelte Anweisungen können jetzt zu @media, @-moz-document hinzugefügt werden. (Siehe CSS-Syntax und CSS-At-Regeln).
JavaScript
Keine Änderung.
SVG
- Die
SVGSVGElement-DOM-Schnittstelle unterstützt jetzt diegetElementById-Methode.
WebSocket
- Die WebSocket-API unterstützt jetzt Binärnachrichten (siehe Firefox Fehler 676439).
- Sowohl das Protokoll als auch die API wurden auf den neuesten Entwurf der Spezifikation aktualisiert und die API wurde ohne Präfix aktualisiert (siehe Firefox Fehler 666349 und Firefox Fehler 695635).
- Zuvor waren Nachrichten, die mit WebSockets in Firefox gesendet und empfangen wurden, auf eine Größe von 16 MB begrenzt; sie können jetzt bis zu 2 GB groß sein (obwohl Speicherkapazitätsbeschränkungen verhindern können, dass sie so groß sind, unterstützt Firefox es).
IndexedDB
-
Die Unterstützung für IDBFactory.cmp() wurde hinzugefügt.
-
Ein IndexedDB-Schlüssel kann jetzt auch von einem der folgenden Typen sein: Datum, Arrays und Float (und nicht nur Zeichenfolge und Integer).
-
Ab jetzt werden Transaktionen gestartet, wenn die Transaktion erstellt wird, nicht wenn die erste Anfrage gestellt wird; zum Beispiel:
jsvar trans1 = db.transaction("foo", READ_WRITE); var trans2 = db.transaction("foo", READ_WRITE); trans2.put("2", "key"); trans1.put("1", "key");Nach dem Ausführen des Codes sollte der Objektspeicher den Wert "2" enthalten, da
trans2nachtrans1ausgeführt werden sollte. -
Vor Firefox 11 wurden die
autoIncrement-Zähler des Objektspeichers auf alle Objektspeicher für eine bestimmte Datenbank verteilt, während gemäß Spezifikation jeder Objektspeicher einen eigenen Zähler haben sollte. Dies ist jetzt behoben. -
Es ist nun möglich, einen Index mit einem leeren
keyPathzu erstellen. -
Es ist nun möglich, einen Multi-Entry-Index zu erstellen (siehe
IDBObjectStore.createIndex-Parameter.) -
Das
abort-Ereignis kann jetzt weitergegeben werden; zusätzlich wurde einonabort-Handler hinzugefügt. -
IndexedDB kann jetzt verwendet werden, um Dateien/Blobs zu speichern.
-
IndexedDB unterstützt jetzt komplexe Schlüsselpfade, z.B.
foo.bar, um auf die Eigenschaftbarder Eigenschaftfoozuzugreifen. -
IndexedDB kann jetzt ein Array als
keyPathakzeptieren, wenn ein Objektspeicher oder ein Index erstellt wird (Firefox Fehler 694138.)
Netzwerk
- Die Änderung in Firefox 8, bei der die Unterstützung für Anführungszeichen als Trennzeichen für RFC 2231 und RFC 5987 entfernt wurde, wurde rückgängig gemacht, da dies einige Websites, einschließlich Outlook Web Access, beeinträchtigte.
- Der User-Agent-String in HTTP-Headern enthält jetzt einen Bezeichner, der dem Server mitteilt, ob der zugreifende Firefox ein Telefon oder ein Tablet ist.
Entwicklerwerkzeuge
- Der Page Inspector bietet jetzt eine 3D-Ansicht, wenn Ihr System WebGL unterstützt.
- Der neue Style Editor stellt eine freie Möglichkeit bereit, CSS-Stylesheets in Echtzeit zu bearbeiten und zu kompilieren.
- Die Funktion Seitenquelle anzeigen verwendet jetzt den neuen HTML5-Parser anstelle des alten HTML-Parsers.
Änderungen für Mozilla- und Add-on-Entwickler
>JavaScript-Code-Module
NetUtil.jsm
readInputStreamToString()hat einen neuen, optionalen Parameter zur Konfiguration der Zeichensatzinterpretation beim Lesen des Eingabestreams.
Neue JavaScript-Code-Module
source-editor.jsm-
Bietet einen praktischen, einfach zu bedienenden Quellcode-Editor, den Sie in Ihren Add-ons verwenden können. Dies ist der gleiche Editor, der von Scratchpad und anderen in Firefox integrierten Entwicklerwerkzeugen verwendet wird.
Schnittstellenänderungen
- Die
mozIAsyncHistory-Schnittstelle hat eine neue MethodemozIAsyncHistory.isURIVisited(), um zu überprüfen, ob eine URI besucht wurde. - Eine neue Schnittstelle
mozIVisitStatusCallbackwurde hinzugefügt, um Callback-Funktionalität fürmozIAsyncHistory.isURIVisited()bereitzustellen. - Die
nsIMacDockSupport-Schnittstelle unterstützt jetzt das Hinzufügen eines Text-Badges zum Anwendungsicon im Dock über sein neuesbadgeText-Attribut. - In der
nsINavHistoryResultObserver-Schnittstelle müssen Sie jetztnsINavHistoryResultObserver.containerStateChanged()implementieren, anstelle der veraltetencontainerOpened()- undcontainerClosed()-Methoden.
Entfernte Schnittstellen
Die folgenden Schnittstellen waren Implementierungsdetails, die nicht mehr benötigt werden:
nsICharsetResolvernsIDOMNSElement, siehe Fehler707576, verwenden Sie stattdessennsIDOMElement.
Themenbezogene Änderungen
- Die Datei
omni.jarheißt jetztomni.ja.
Einstellungsänderungen
ui.tooltipDelay-
Gibt die Verzögerung in Millisekunden an, zwischen dem Beginn des Hoverns des Mauszeigers und der Anzeige eines Tooltips.
Änderungen im Build-System
- Die Build-Option
--enable-tracejitwurde entfernt.
Weitere Änderungen
- Add-ons, die seit längerer Zeit nicht mehr aktualisiert wurden, werden nicht mehr standardmäßig als kompatibel angesehen; derzeit betrifft dies Add-ons, die eine
maxVersionvon 4.0 angeben.