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ührlicherer Dokumentation für sowohl Webentwickler als auch Add-on-Entwickler.
Änderungen für Webentwickler
>HTML
DOM
- Die
element.outerHTMLEigenschaft wird jetzt auf HTML-Elementen unterstützt. XMLHttpRequestunterstützt HTML-Parsing.- Unterstützung für die Nutzung der
XMLHttpRequestresponseTypeundwithCredentialsAttribute bei synchronen Anfragen wurde entfernt. Der Versuch dies zu tun, wirft eineNS_ERROR_DOM_INVALID_ACCESS_ERRAusnahme. Diese Änderung wurde dem W3C zur Standardisierung vorgeschlagen. - Die neue Methode
navigator.mozVibrate()ermöglicht es, das Gerät vibrieren zu lassen, wo unterstützt; dies ist alsmozVibrate()in Gecko implementiert. navigator.mozAppsgibt einApps-Objekt zurück, das Sie nutzen können, um Open-Web-Anwendungen zu installieren und zu verwalten.MozBeforePaint-Ereignisse werden nicht mehr ausgelöst. Verbraucher vonmozRequestAnimationFrame(), die diese genutzt haben, sollten stattdessen eine Callback-Funktion übergeben.- Unterstützung für das 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 Konstruktoren von
Event(Event, HTML-Ereignisse,UIEventundMouseEvent), die in DOM4-Spezifikationen eingeführt wurden, werden nun unterstützt. - Die Battery API ist nun standardmäßig aktiviert.
- Unterstützung für die Eigenschaften
defaultMuted,loopundmutedaufHTMLMediaElementwurde hinzugefügt. - Ein Aufruf von
Document/exitFullscreenstellt nun das zuvor Vollbild-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 die Argumentlos-Form. Diese Form wurde kaum verwendet und wird voraussichtlich kein Teil des Standards. - SVG-als-Bild kann nun in ein Canvas gezeichnet werden, ohne dass Canvas verfärbt wird.
- Die nicht standardmäßige
countryCode-Eigenschaft derGeoPositionAddress-Schnittstelle wurde entfernt; siehensIDOMGeoPositionAddress. - Server-sent events unterstützen jetzt CORS.
- In der Vergangenheit wurden beim Folgen eines Links die Werte, die im
window.navigatorObjekt gesetzt wurden, von der neuen Seite übernommen. Jetzt wird ein neuesnavigatorObjekt für die neue Seite erstellt. Dadurch verhält sich Firefox wie alle anderen Browser.
CSS
- Die
text-size-adjustEigenschaft wird jetzt unterstützt. - CSS3 Conditional Rules werden jetzt besser unterstützt: Verschachtelte Anweisungen können nun zu @media, @-moz-document hinzugefügt werden. (Siehe CSS-Syntax und CSS-at-Regeln).
JavaScript
Keine Änderung.
SVG
- Die
SVGSVGElementDOM-Schnittstelle unterstützt jetzt diegetElementByIdMethode.
WebSocket
- Die WebSocket API unterstützt jetzt binäre Nachrichten (siehe Firefox Bug 676439).
- Sowohl das Protokoll als auch die API wurden auf den neuesten Entwurf der Spezifikation aktualisiert und die API wurde entprefixed (siehe Firefox Bug 666349 und Firefox Bug 695635).
- Zuvor waren Nachrichten, die in Firefox mit WebSockets gesendet und empfangen wurden, auf 16 MB begrenzt; sie können jetzt bis zu 2 GB groß sein (obwohl Speichergrenzen sie daran hindern könnten, so groß zu sein, unterstützt Firefox sie).
IndexedDB
-
Die Unterstützung für IDBFactory.cmp() wurde hinzugefügt.
-
Ein IndexedDB-Schlüssel kann auch einer der folgenden Typen sein: Datum, Arrays und Float (und nicht nur String und Integer).
-
Von nun an werden Transaktionen gestartet, wenn die Transaktion erstellt wird, nicht wenn die erste Anfrage gestellt wird; betrachten Sie zum Beispiel dies:
jsvar trans1 = db.transaction("foo", READ_WRITE); var trans2 = db.transaction("foo", READ_WRITE); trans2.put("2", "key"); trans1.put("1", "key");Nachdem der Code ausgeführt wurde, sollte der Objektspeicher den Wert "2" enthalten, da
trans2nachtrans1ausgeführt wird. -
Vor Firefox 11 wurden Objektspeicher
autoIncrementZähler über alle Objektspeicher für eine gegebene Datenbank hinweg geteilt, während laut Spezifikation jeder Objektspeicher einen separaten Zähler haben sollte. Dies ist nun behoben. -
Es ist jetzt möglich, einen Index zu erstellen mit einem leeren
keyPath. -
Es ist nun möglich, einen Multi-Entry-Index zu erstellen (siehe
IDBObjectStore.createIndexParameter.) -
Das
abortEreignis propagiert jetzt; zusätzlich wurde einonabortHandler hinzugefügt. -
IndexedDB kann jetzt verwendet werden, um Dateien/Blobs zu speichern.
-
IndexedDB unterstützt jetzt komplexe Schlüsselpfade, z.B.
foo.barum auf Eigenschaftbarvon Eigenschaftfoozuzugreifen. -
IndexedDB kann jetzt ein Array als
keyPathakzeptieren, wenn ein Objektspeicher oder ein Index erstellt wird (Firefox Bug 694138.)
Netzwerk
- Die Änderung in Firefox 8, die die Unterstützung für Anführungszeichen als Begrenzungszeichen für RFC 2231 und RFC 5987 entfernt hat, wurde rückgängig gemacht, da dies einige Seiten, einschließlich Outlook Web Access, unterbrochen hat.
- Der User-Agent-String in HTTP-Headern enthält nun einen Identifikator, der dem Server mitteilt, ob es sich um ein Telefon oder ein Tablet handelt, das auf Firefox zugreift.
Entwicklerwerkzeuge
- Der Page Inspector bietet jetzt eine 3D-Ansicht, wenn Ihr System WebGL unterstützt.
- Der neue Style Editor bietet eine freie Möglichkeit, CSS-Stile in Echtzeit zu bearbeiten und zu erstellen.
- Die Quelltextanzeige 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, um die Interpretation des Zeichensatzes während des Lesens des Eingabestreams zu konfigurieren.
Neue JavaScript-Code-Module
source-editor.jsm-
Bietet einen benutzerfreundlichen Quellcode-Editor, den Sie in Ihren Add-ons verwenden können. Dies ist derselbe Editor, der von Scratchpad und anderen in Firefox integrierten Entwicklerwerkzeugen verwendet wird.
Schnittstellenänderungen
- Die
mozIAsyncHistorySchnittstelle hat eine neue MethodemozIAsyncHistory.isURIVisited(), um zu prüfen, ob eine URI besucht wurde. - Eine neue Schnittstelle
mozIVisitStatusCallbackwurde hinzugefügt, um Callback-Verarbeitungsfunktionen fürmozIAsyncHistory.isURIVisited()bereitzustellen. - Die
nsIMacDockSupportSchnittstelle unterstützt jetzt das Hinzufügen eines Textabzeichens zum Anwendungs-Symbol im Dock mithilfe ihres neuenbadgeTextAttributes. - In der
nsINavHistoryResultObserverSchnittstelle müssen Sie nunnsINavHistoryResultObserver.containerStateChanged()implementieren anstelle der veralteten MethodencontainerOpened()undcontainerClosed().
Entfernte Schnittstellen
Die folgenden Schnittstellen waren Implementierungsdetails, die nicht mehr benötigt werden:
nsICharsetResolvernsIDOMNSElement, siehe bug707576, verwenden SiensIDOMElementstattdessen.
Themenbezogene Änderungen
- Die
omni.jarDatei wird jetztomni.jagenannt.
Präferenzänderungen
ui.tooltipDelay-
Gibt die Verzögerung in Millisekunden an, zwischen dem Anfang der Mauszeigerbewegung über ein Objekt und der Anzeige eines Tooltip.
Build-System-Änderungen
- Die
--enable-tracejitBuild-Option wurde entfernt.
Weitere Änderungen
- Add-ons, die lange Zeit nicht aktualisiert wurden, werden nicht mehr standardmäßig als kompatibel betrachtet; derzeit sind dies Add-ons, die eine
maxVersionvon 4.0 angeben.