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 wichtige behobene Fehler in dieser Version sowie Links zu detaillierterer Dokumentation für Webentwickler und Add-on-Entwickler.

Hinweis: Firefox 10 ist die erste Veröffentlichung dieses Browsers mit zwei Ziffern. Dies kann zu Problemen mit einigen UA-Sniffing-Skripten führen. Stellen Sie sicher, dass Sie diese prüfen, ebenso wie solche, die in Drittherstellersoftware eingebettet sind, wie Bibliotheken. Für weitere Informationen dazu sehen Sie sich den Artikel "Firefox goes 2-digit" auf hack.mozilla.org an.

Änderungen für Webentwickler

HTML

  • Das neue HTML5-Element <bdi>, bidirektionale Isolation, das die Isolierung von Textteilen mit unterschiedlicher Richtung erlaubt, wurde implementiert. Dies ist besonders nützlich beim Anzeigen von Text mit unbekannter Richtung, zum Beispiel aus einer Datenbank, in der Mitte eines Textes mit bekannter, aber möglicherweise anderer Richtung.
  • Sie können nun ein Fragment „top“ für das Attribut href angeben, um einen Link zum Anfang der Seite zu erstellen. Dies funktionierte früher, verschwand dann eine Weile, und ist jetzt aus Kompatibilitätsgründen mit der HTML5-Spezifikation wieder da. Zum Beispiel: <a href="#top">Zum Seitenanfang</a>.

JavaScript

  • Die Methode WeakMap.set() gibt jetzt undefined zurück, anstatt sich selbst.
  • In Firefox 7 wurde ein Fehler bei der Verarbeitung von regulären Ausdrücken eingeführt; dieser wurde behoben. Weitere Details finden Sie im Firefox-Bug 683838.
  • Sie können die veraltete ECMAScript for XML (E4X) Syntax nicht mehr verwenden, während Sie sich im ECMAScript 5 Strikten Modus befinden (das heißt, nach "use strict;").

DOM

DOM3 Events

DOM4

  • Das Attribut document.xmlVersion (das nur gelesen und nicht gesetzt werden konnte) wurde entfernt, da es in der DOM4-Spezifikation als veraltet gilt. Der Artikel zu document.xmlVersion schlägt nun einen Weg vor, um zu erkennen, ob das Dokument HTML oder XML ist, 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. Anstatt node1.isSameNode(node2) können Sie den === Operator verwenden, wie folgt: node1 === node2.

Page Visibility API

  • Die Page Visibility API wurde implementiert (mit Präfix): document.mozHidden, document.mozVisibilityState sind verfügbar und das Ereignis mozvisibilitychanged wird gesendet, wenn sich der Status ändert.

Full Screen API

  • Unterstützung für document.fullscreenEnabled wurde hinzugefügt.
  • Die neue Eigenschaft :-moz-full-screen-ancestor wurde hinzugefügt. Diese ermöglicht es, Elemente zu bestimmen, die Vorfahren eines Elements im Vollbildmodus sind.

Battery API

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

Canvas

  • Die Methode createPattern() wirft nun eine Ausnahme, wenn ein Null-Pixel-Quell-Canvas angegeben wird.
  • Wenn Sie einen nicht-endlichen Wert für einen der numerischen Parameter von putImageData() verwenden, wird der Aufruf nun stillschweigend ignoriert, anstatt eine Ausnahme auszulösen, gemäß der Spezifikation.

WebGL

Web Workers

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

IndexedDB

Es wurden große Fortschritte gemacht, um IndexedDB auf die neueste Entwurfsspezifikation zu aktualisieren. Diese Arbeit wird in Firefox 11 fortgesetzt.

Weitere Änderungen

  • Wenn der korrekte MIME-Typ übergeben wird, image/svg+xml, erzeugt der DOMParser nun ein SVGDocument, wenn ihm ein String mit SVG übergeben wird.
  • In der Vergangenheit würde element.setAttribute(), wenn es Ganzzahlen analysierte, einen Fehler melden, wenn die Ganzzahl nicht-numerische Zeichen enthielt (zum Beispiel "42foo"). Jetzt kürzt es dies korrekt als die Zahl 42 gemäß der Spezifikation.
  • Die ESC-Taste führt nicht mehr fälschlicherweise dazu, dass der onkeydown Handler fälschlicherweise aufgerufen wird.
  • Die NameList Schnittstelle wird nicht mehr implementiert; sie hatte zuvor eine Implementierung ohne Möglichkeit, tatsächlich auf eine zuzugreifen.
  • Die Methode document.createProcessingInstruction() funktioniert jetzt sowohl für HTML- als auch XML-Dokumente. ProcessingInstruction Knoten werden weiterhin nur für XML-Dokumente unterstützt, aber da Knoten zwischen Dokumenten verschoben werden können, ist es hilfreich, sie auch in HTML-Dokumenten erstellen zu können.
  • Der XMLHttpRequest Typ "moz-json" eingeführt in Firefox 9 wurde auf den neuesten Entwurf der Spezifikation aktualisiert und das Präfix wurde entfernt. Sehen Sie Anmerkungen im 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 im Verwenden von CSS-Transformationen.
  • Zwei neue Werte für die CSS-Eigenschaft unicode-bidi wurden hinzugefügt: -moz-isolation und -moz-plaintext. Der -moz-isolation Wert isoliert das Element bezüglich der Richtung von seiner Umgebung, sodass es eine andere Richtung haben kann. Ein Element mit unicode-bidi:-moz-isolation verhält sich wie ein <bdi> Element. Der -moz-plaintext weist den Browser an, die Unicode-Browser-Heuristik zu verwenden, um die Richtung zu bestimmen 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 einer Ecke eines mit einem Farbverlauf gefüllten Kastens anzugeben.
  • Das Verhalten der CSS-Eigenschaft text-overflow bei Fällen, in denen das Kästchen auf beiden Seiten überläuft, während die text-overflow Eigenschaft nur für eine Seite eingestellt ist, wurde korrigiert.
  • Das Verhalten der CSS-Eigenschaft position für Elemente innerhalb von positionierten <table> Elementen wurde korrigiert. Diese Änderung wird das Layout von Seiten beeinflussen; allerdings sind wir jetzt konform mit der CSS-Spezifikation und mit anderen Browsern, daher sollte dies leicht zu beheben sein.
  • Das Zusammenfallen der Ränder um <table> Elemente wurde korrigiert, um der CSS-Spezifikation zu entsprechen. Zuvor würden die Ränder von Tabellenelementen nicht zusammenfallen mit denen anderer angrenzender Elemente, was zu falschen Layouts führte. Diese Änderung wird das Layout von Seiten beeinflussen; allerdings sind wir jetzt konform mit der CSS-Spezifikation und mit anderen Browsern, daher sollte dies leicht zu beheben sein.

SVG

  • Das <mask> Element wurde aktualisiert, um sowohl sRGB als auch linearRGB zu unterstützen und entspricht jetzt sRGB, gemäß der neuesten Revision der SVG 1.1 Spezifikation.

Netzwerke

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

Entwicklerwerkzeuge

  • Das console Objekt hat zwei neue Methoden, console.time() und console.timeEnd(), die zum Setzen von Timern auf einer Seite verwendet werden können.
  • Der neue Seiteninspektor wurde hinzugefügt und bietet eine hervorragende Möglichkeit, den HTML- und CSS-Code hinter Ihren Inhalten zu untersuchen und zu manipulieren.

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

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

Hinweis: Der alte PRBool Datentyp wurde eingestellt! Überall in der Dokumentation, wo darauf verwiesen wird, wird jetzt der Standard-C++ bool Typ verwendet. Die Dokumentation wird in Zukunft aktualisiert, aber behalten Sie dies vorerst im Kopf.

Manifeste

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

XUL

XPConnect

  • Mehrere neue Eigenschaften und Methoden wurden Components.utils hinzugefügt, die Zugriff auf verschiedene debugging-relevante Informationen gewähren.

Schnittstellenänderungen

  • Die Schnittstellen mozISpellCheckingEngine und nsIEditorSpellCheck wurden aktualisiert, um neustartlose Add-ons zu ermöglichen, dem Rechtschreibprüfer Wörterbücher hinzuzufügen.
  • Das Attribut nsIBrowserHistory.lastPageVisited wurde entfernt.
  • Die Schnittstelle nsIDocumentViewer wurde in nsIContentViewer integriert.
  • Die nsIURIFixup Schnittstelle hat ein neues Flag, FIXUP_FLAG_USE_UTF8, mit dem Ihnen mitgeteilt werden kann, dass UTF-8 anstelle des Plattform-Zeichensatzes bei Konvertierungen verwendet werden soll.

Plugin-Änderungen

  • Die neue Variable NPNVdocumentOrigin wurde hinzugefügt; diese gibt den Ursprung des Dokuments 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 vollständig zu entfernen, derzeit erfordert XUL sie jedoch noch. Siehe Firefox-Bug 559505 für Fortschritte beim Entfernen der letzten Reste von RDF, die erforderlich sind.
  • Die Build-Option --disable-smil wurde entfernt.