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 10 Versionshinweise für Entwickler

Firefox 10 wurde am 31. Januar 2012 veröffentlicht. Dieser Artikel bietet Informationen über die neuen Funktionen und die wichtigsten behobenen Fehler dieser Version, sowie Links zu detaillierteren Dokumentationen für Webentwickler und Add-on-Entwickler.

Hinweis: Firefox 10 ist die erste Version dieses Browsers mit zweistelligen Versionsnummern. Dies kann zu Problemen mit einigen User-Agent-Erkennungsskripten führen. Überprüfen Sie diese unbedingt, sowie auch diejenigen Skripte, die in von Ihnen eingebetteter Drittanbieter-Software enthalten sind, wie Bibliotheken. Weitere Informationen dazu finden Sie im Artikel auf hack.mozilla.org über den Wechsel zu zweistelligen Versionsnummern.

Änderungen für Webentwickler

HTML

  • Das neue HTML5 <bdi>-Element zur bi-direktionalen Isolation, das die Isolierung von Textteilen mit unterschiedlicher Richtung ermöglicht, wurde implementiert. Dies ist besonders nützlich beim Anzeigen von Text mit unbekannter Richtung, der beispielsweise aus einer Datenbank stammt, inmitten von Text mit bekannter und möglicherweise unterschiedlicher Richtung.
  • Es kann jetzt ein Fragment "top" für das Attribut href angegeben werden, um einen Link zum Anfang der Seite zu erstellen. Dies funktionierte früher, verschwand dann eine Zeit lang und ist nun zurück, um die Kompatibilität mit dem HTML5-Standard zu gewährleisten. Zum Beispiel: <a href="#top">Zurück zum Seitenanfang</a>.

JavaScript

  • Die Methode WeakMap.set() gibt jetzt undefined zurück, anstatt sich selbst.
  • Ein Fehler in der Verarbeitung regulärer Ausdrücke, der in Firefox 7 eingeführt wurde, wurde behoben. Siehe Firefox-Bug 683838 für Details.
  • Sie können die veraltete ECMAScript for XML (E4X) Syntax nicht mehr verwenden, während Sie sich im strict-Modus von ECMAScript 5 befinden (also nach dem Schlüsselwort "use strict;").

DOM

DOM3-Events

DOM4

  • Das Attribut document.xmlVersion (das nur lesbar und nicht setzbar war) wurde entfernt, da es in der DOM4-Spezifikation als veraltet gilt. Der Artikel für document.xmlVersion schlägt nun eine Möglichkeit vor, um zu erkennen, ob es sich um ein HTML- oder XML-Dokument handelt, ohne diese Eigenschaft zu verwenden.
  • Das Attribut document.xmlStandalone wurde entfernt, da es in der DOM4-Spezifikation als veraltet gilt.
  • Das Attribut document.xmlEncoding wurde entfernt, da es in der DOM4-Spezifikation als veraltet gilt.
  • Das Attribut text.isElementContentWhiteSpace wurde entfernt, da es in der DOM4-Spezifikation als veraltet gilt.
  • Die Methode text.replaceWholeText wurde entfernt, da sie in der DOM4-Spezifikation als veraltet gilt.
  • Die Methode node.isSameNode wurde entfernt, da sie in der DOM4-Spezifikation als veraltet gilt. Statt node1.isSameNode(node2) können Sie den === Operator verwenden, also: node1 === node2.

Page Visibility API

  • Die Page Visibility API wurde implementiert (mit Präfix): document.mozHidden, document.mozVisibilityState stehen zur Verfügung und das Ereignis mozvisibilitychanged wird gesendet, wenn der Zustand geändert wird.

Full Screen API

  • Unterstützung für document.fullscreenEnabled wurde hinzugefügt.
  • Die neue Eigenschaft :-moz-full-screen-ancestor wurde hinzugefügt. Damit können Sie auf Elemente abzielen, die Vorfahren eines Elements im Vollbildmodus sind.

Battery API

  • Experimentelle Unterstützung für navigator.mozBattery wurde hinzugefügt (kann aktiviert werden durch Setzen der Einstellung dom.battery.enabled auf true und wird standardmäßig ab Firefox 11 aktiviert sein).

Canvas

  • Die Methode createPattern() löst jetzt eine Ausnahme aus, wenn eine Quelle mit null Größe angegeben wird.
  • Wenn Sie einen nicht-finiten Wert für einen der numerischen Parameter von putImageData() verwenden, wird der Aufruf jetzt stillschweigend ignoriert anstatt eine Ausnahme zu werfen, in Übereinstimmung mit der Spezifikation.

WebGL

Web Workers

  • Die Attribute XMLHttpRequest.responseType und XMLHttpRequest.response sind jetzt innerhalb von Workers verfügbar.
  • Der Worker() Konstruktor akzeptiert jetzt Daten-URLs.

IndexedDB

Es wurden große Fortschritte erzielt, IndexedDB auf die neueste Entwurfspezifikation zu aktualisieren. Diese Bemühungen werden in Firefox 11 fortgesetzt.

Sonstiges

  • Wenn der richtige MIME-Typ image/svg+xml übergeben wird, erstellt der DOMParser jetzt ein SVGDocument, wenn ihm ein String mit SVG übergeben wird.
  • Früher meldete element.setAttribute() einen Fehler, wenn ganze Zahlen nicht-numerische Zeichen enthielten (zum Beispiel "42foo"). Jetzt wird dies korrekt als die Zahl 42 gekürzt, entsprechend der Spezifikation.
  • Die ESC-Taste führt nicht mehr fälschlicherweise dazu, dass der onkeydown Handler fälschlicherweise aufgerufen wird.
  • Das NameList Interface wird nicht mehr implementiert; es existierte früher eine Implementierung ohne Möglichkeit, tatsächlich darauf zuzugreifen.
  • Die Methode document.createProcessingInstruction() funktioniert jetzt sowohl bei HTML- als auch bei XML-Dokumenten. ProcessingInstruction Knoten werden weiterhin nur bei XML-Dokumenten unterstützt, aber da Knoten zwischen Dokumenten verschoben werden können, ist es hilfreich, sie auch bei HTML-Dokumenten erstellen zu können.
  • Der XMLHttpRequest- responseType "moz-json" eingeführt in Firefox 9 wurde auf den neuesten Entwurf der Spezifikation aktualisiert und ist jetzt ohne Präfix. Siehe Hinweis in Firefox-Bug 707142.

CSS

  • CSS-3D-Transformationen werden jetzt unterstützt. Dazu gehört die Unterstützung für die Eigenschaften transform-style, perspective, perspective-origin und backface-visibility, sowie für 3D-Transformationsfunktionen in den Eigenschaften transform und <transform-function>. Weitere Informationen finden Sie unter Verwendung von CSS-Transformationen.
  • Zwei neue Werte für die CSS-Eigenschaft unicode-bidi wurden hinzugefügt: -moz-isolation und -moz-plaintext. Der Wert -moz-isolation isoliert aus sicht der Richtung das Element von seiner Umgebung und ermöglicht eine unterschiedliche Richtung. Ein Element mit unicode-bidi:-moz-isolation verhält sich wie ein <bdi> Element. Das -moz-plaintext gibt dem Browser an, die Unicode-Browser-Heuristik zur Bestimmung der Richtung zu verwenden und nicht die CSS-Eigenschaft direction.
  • Die CSS-Eigenschaften linear-gradient() und repeating-linear-gradient() wurden aktualisiert, um die neue to Syntax und den magic corner Algorithmus zu unterstützen. Dies ermöglicht es, eine präzise Farbe an der Ecke eines mit einem Gradienten gefüllten Feldes anzugeben.
  • Die Behandlung der Eigenschaft text-overflow in Fällen, in denen das Feld auf beiden Seiten überfließt, während die Eigenschaft text-overflow nur auf einer Seite eingestellt ist, wurde korrigiert.
  • Die Behandlung der Eigenschaft position bei Elementen innerhalb positionierter <table> Elemente wurde behoben. Diese Änderung wird das Layout von Seiten beeinflussen; allerdings erfüllen wir jetzt die CSS-Spezifikation und haben eine höhere Übereinstimmung mit anderen Browsern, sodass dies leicht zu beheben sein sollte.
  • Das Margin-Collapsing um <table> Elemente wurde korrigiert, um der CSS-Spezifikation zu entsprechen. Zuvor wurden Margen von Tabellenelementen nicht zusammen mit anderen angrenzenden Elementen zusammengezogen, was zu einem fehlerhaften Layout führte. Diese Änderung wird das Layout von Seiten beeinflussen; allerdings erfüllen wir jetzt die CSS-Spezifikation und haben eine höhere Übereinstimmung mit anderen Browsern, sodass dies leicht zu beheben sein sollte.

SVG

  • Das <mask> Element wurde aktualisiert, um sowohl sRGB als auch linearRGB zu unterstützen und der Standardwert ist jetzt sRGB in Übereinstimmung mit der neuesten Revision der SVG 1.1-Spezifikation.

Netzwerk

  • Der HTTP-Header Accept-Charset wird in HTTP-Anfragen nicht mehr gesendet. In seiner Abwesenheit sollten Server mit dem Senden von UTF-8 antworten.

Entwicklertools

  • Das console Objekt hat zwei neue Methoden, console.time() und console.timeEnd(), die verwendet werden können, um Timer auf einer Seite zu setzen.
  • Der neue Page Inspector wurde hinzugefügt, der eine hervorragende Möglichkeit bietet, das HTML und CSS hinter Ihren Inhalten zu untersuchen und zu manipulieren.

Änderungen für Mozilla- und Add-on-Entwickler

Für einen Überblick über mögliche Probleme, die beim Aktualisieren Ihrer Add-ons zur Unterstützung von Firefox 10 auftreten können, lesen Sie Aktualisieren von Add-ons für Firefox 10.

Hinweis: Der alte PRBool Datentyp wurde eingestellt! Überall in der Dokumentation, wo darauf Bezug genommen wird, wird jetzt der standardmäßige C++ bool-Typ verwendet. Die Dokumentation wird in Zukunft aktualisiert, aber vorerst sollten Sie dies bedenken.

Manifeste

  • Unterstützung für <em:strictCompatibility> wurde zum Installationsmanifest hinzugefügt. Es ermöglicht Add-on-Autoren, sich für das Überprüfen der maximalen Version ihrer Erweiterung zu entscheiden. Wenn auf true gesetzt, wird das Add-on deaktiviert, wenn die Anwendungsversion größer als <em:maxVersion> ist. Firefox 10 geht standardmäßig davon aus, dass Add-ons kompatibel sind, unabhängig von ihrer angegebenen maximalen Version. Dieses Flag überschreibt diese Präferenz. Sie sollten dies setzen, wenn Ihr Add-on Dinge tut, die wahrscheinlich durch Updates von Firefox beschädigt werden, aber nicht, wenn Ihr Add-on eine binäre Komponente hat, da solche Add-ons immer strikt überprüft werden (denken Sie daran, dass binäre Komponenten immer für jede größere Version von Firefox neu kompiliert werden müssen).
  • Wenn Sie zum alten Verhalten zurückkehren möchten – also zur strikten Kompatibilitätsprüfung für alle Add-ons, unabhängig vom Wert des strictCompatibility Flags in deren Manifesten, können Sie die Einstellung extensions.strictCompatibility auf true setzen.

XUL

XPConnect

  • Mehrere neue Eigenschaften und Methoden wurden zu Components.utils hinzugefügt, die den Zugriff auf verschiedene debuggingbezogene Informationen gewähren.

Schnittstellenänderungen

  • Die mozISpellCheckingEngine und nsIEditorSpellCheck Schnittstellen wurden aktualisiert, um Add-ons ohne Neustart zu erlauben, Wörterbücher zum Rechtschreibprüfer hinzuzufügen.
  • Das Attribut nsIBrowserHistory.lastPageVisited wurde entfernt.
  • Die Schnittstelle nsIDocumentViewer wurde in nsIContentViewer integriert.
  • Die Schnittstelle nsIURIFixup hat eine neue Flagge, FIXUP_FLAG_USE_UTF8, die es ermöglicht anzugeben, dass anstelle des Plattform-Zeichensatzes UTF-8 bei Konvertierungen verwendet wird.

Plug-in Änderungen

  • Die neue Variable NPNVdocumentOrigin wurde hinzugefügt; diese gibt den Dokumentursprung zurück und ist sicherer als window.location.

Änderungen am Build-System

  • Die Build-Option --disable-rdf, die es tatsächlich unmöglich machte erfolgreich zu bauen, wurde entfernt. Es wird daran gearbeitet, die RDF-Unterstützung komplett entfernen zu können, aber derzeit benötigt XUL es noch zum Funktionieren. Siehe Firefox-Bug 559505 für den Fortschritt beim Entfernen der letzten Überreste der benötigten RDF Unterstützung.
  • Die Build-Option --disable-smil wurde entfernt.