Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

  • Die Attribute muted und loop auf <audio> und <video> Elementen wurden implementiert.

DOM

  • Die element.outerHTML-Eigenschaft wird jetzt bei HTML-Elementen unterstützt.
  • XMLHttpRequest unterstützt HTML-Parsing.
  • Die Unterstützung für die Verwendung der responseType- und withCredentials-Attribute von XMLHttpRequest bei synchronen Anfragen wurde entfernt. Der Versuch, dies zu tun, wirft eine NS_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 als mozVibrate() implementiert.
  • navigator.mozApps gibt ein Apps-Objekt zurück, mit dem Sie Open Web Apps installieren und verwalten können.
  • MozBeforePaint-Ereignisse werden nicht mehr ausgelöst. Verbraucher von mozRequestAnimationFrame(), 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 an window.mozCancelAnimationFrame() übergeben können, um die Anfrage abzubrechen.
  • Mehrere Event-Konstruktoren (Event, HTML-Ereignisse, UIEvent und MouseEvent), 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, loop und muted auf HTMLMediaElement wurde hinzugefügt.
  • Der Aufruf von Document/exitFullscreen stellt nun das zuvor im Vollbildmodus befindliche Element wieder her, wenn ein anderes Element im Vollbildmodus war, als die Methode Element/requestFullScreen des 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 der GeoPositionAddress-Schnittstelle wurde entfernt; siehe nsIDOMGeoPositionAddress.
  • 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 neues navigator-Objekt für die neue Seite erstellt. Dies führt dazu, dass sich Firefox wie alle anderen Browser verhält.

CSS

JavaScript

Keine Änderung.

SVG

  • Die SVGSVGElement-DOM-Schnittstelle unterstützt jetzt die getElementById-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:

    js
    var 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 trans2 nach trans1 ausgefü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 keyPath zu 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 ein onabort-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 Eigenschaft bar der Eigenschaft foo zuzugreifen.

  • IndexedDB kann jetzt ein Array als keyPath akzeptieren, wenn ein Objektspeicher oder ein Index erstellt wird (Firefox Fehler 694138.)

Netzwerk

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 Methode mozIAsyncHistory.isURIVisited(), um zu überprüfen, ob eine URI besucht wurde.
  • Eine neue Schnittstelle mozIVisitStatusCallback wurde hinzugefügt, um Callback-Funktionalität für mozIAsyncHistory.isURIVisited() bereitzustellen.
  • Die nsIMacDockSupport-Schnittstelle unterstützt jetzt das Hinzufügen eines Text-Badges zum Anwendungsicon im Dock über sein neues badgeText-Attribut.
  • In der nsINavHistoryResultObserver-Schnittstelle müssen Sie jetzt nsINavHistoryResultObserver.containerStateChanged() implementieren, anstelle der veralteten containerOpened()- und containerClosed()-Methoden.

Entfernte Schnittstellen

Die folgenden Schnittstellen waren Implementierungsdetails, die nicht mehr benötigt werden:

  • nsICharsetResolver
  • nsIDOMNSElement, siehe Fehler707576, verwenden Sie stattdessen nsIDOMElement.

Themenbezogene Änderungen

  • Die Datei omni.jar heißt jetzt omni.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-tracejit wurde 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 maxVersion von 4.0 angeben.