Firefox 3.5 für Entwickler

Firefox 3.5 (veröffentlicht am 30. Juni 2009) führt eine Reihe neuer Funktionen ein sowie zusätzliche und verbesserte Unterstützung für eine Vielzahl von Webstandards. Dieser Artikel bietet eine umfassende Liste mit Links zu Artikeln, die die wichtigsten Verbesserungen behandeln.

Neue Entwicklerfunktionen in Firefox 3.5

Für Web- und Anwendungsentwickler

HTML 5 Unterstützung

HTML Video und Audio

Firefox 3.5 fügt Unterstützung für die HTML 5 audio und video Elemente hinzu.

Offline-Ressourcen in Firefox

Firefox 3.5 unterstützt nun vollständig die HTML 5 Offline-Ressourcen-Spezifikation.

Drag and Drop

Die HTML 5 Drag and Drop API ermöglicht Unterstützung für das Ziehen und Ablegen von Elementen innerhalb und zwischen Websites. Dies bietet auch eine einfachere API, die von Erweiterungen und auf Mozilla basierenden Anwendungen genutzt werden kann.

Neu unterstützte CSS-Funktionen

Herunterladbare Schriften unterstützen

Die neue @font-face @Regel ermöglicht es Webseiten, herunterladbare Schriften bereitzustellen, sodass Webseiten genau so dargestellt werden können, wie es der Seitenautor erwartet.

CSS-Medienabfragen

Firefox 3.5 unterstützt nun CSS-Medienabfragen, die die Unterstützung von medienabhängigen Stylesheets verbessern.

::before und ::after auf CSS 2.1 aktualisiert

Die ::before und ::after Pseudoelemente wurden auf vollständige CSS 2.1 Unterstützung aktualisiert und fügen Unterstützung für die Eigenschaften position, float, list-style-* und einige display Eigenschaften hinzu.

ch Einheiten für Längen

Die ch Einheit kann jetzt überall verwendet werden, wo eine Längeneinheit akzeptiert wird. 1ch ist die Breite des Zeichens "0" (null).

opacity

Die -moz-opacity Mozilla-Erweiterung zu CSS wurde zugunsten der Standard-Eigenschaft opacity entfernt.

text-shadow

Die text-shadow Eigenschaft, die es Webinhalten ermöglicht, Schatteneffekte auf Text und Textdekorationen anzuwenden, wird jetzt unterstützt.

overflow-wrap

Diese neu unterstützte Eigenschaft ermöglicht es Inhalten zu spezifizieren, ob Zeilen innerhalb von Wörtern gebrochen werden dürfen, um Überlauf zu verhindern, wenn eine ansonsten unbrechbare Zeichenfolge zu lang ist, um in eine Zeile zu passen.

Die white-space Eigenschaft unterstützt den Wert pre-line

Die white-space Eigenschaft akzeptiert nun den Wert pre-line.

-moz-box-shadow-moz-border-image-moz-column-rule-moz-column-rule-width-moz-column-rule-style-moz-column-rule-color

Firefox 3.5 fügt Unterstützung für diese Mozilla-Erweiterungen zu CSS hinzu.

Der -moz-nativehyperlinktext Farbwert

Dieser neue Farbwert repräsentiert die Standard-Hyperlinkfarbe des Systems des Benutzers.

Die -moz-window-shadow Eigenschaft und die :-moz-system-metric(mac-graphite-theme) Pseudoklasse

Diese neuen CSS-Funktionen wurden hinzugefügt, um das Thema zu erleichtern.

Neue Werte für -moz-appearance

Die Werte -moz-win-glass und -moz-mac-unified-toolbar wurden zu -moz-appearance hinzugefügt.

Verwendung von CSS-Transformationen

Firefox 3.5 unterstützt CSS-Transformationen. Details finden Sie unter -moz-transform und -moz-transform-origin.

:nth-child:nth-last-child:nth-of-type:nth-last-of-type:first-of-type:last-of-type:only-of-type

Diese Selektoren werden alle neu in Firefox 3.5 unterstützt.

Neue DOM-Funktionen

localStorage

Firefox 3.5 fügt Unterstützung für die Web Storage localStorage Eigenschaft hinzu, die eine Möglichkeit bietet, dass Webanwendungen Daten lokal auf dem Computer des Benutzers speichern.

Verwendung von Webworkern

Firefox 3.5 unterstützt Webworker, um eine einfache Multithreading-Unterstützung in Webanwendungen zu ermöglichen.

Verwendung von Geolocation

Firefox 3.5 unterstützt die Geolocation API, die es Webanwendungen ermöglicht, Informationen über den aktuellen Standort des Benutzers zu erhalten, wenn ein Anbieter für diese Informationen installiert und aktiviert ist.

Lokalisierung von DOM-Elementen mit Selektoren

Die Selector-API ermöglicht das Abfragen eines Dokuments, um die Elemente zu lokalisieren, die einer gegebenen Auswahlregel entsprechen.

Mausgesten-Ereignisse

Firefox 3.5 unterstützt Mausgesten-Ereignisse wie Trackpad-Wischgesten.

Das NodeIterator Objekt

Das NodeIterator Objekt bietet Unterstützung für die Iteration über die Liste der Knoten in einem DOM-Unterbaum.

Das MozAfterPaint Ereignis

Dieses neue DOM-Ereignis wird nach Malaktualisierungen in Fenstern gesendet.

Das MozMousePixelScroll Ereignis

Dieses neue DOM-Ereignis ermöglicht die Erkennung von pixelbasierten Mausrad-Scroll-Ereignissen anstelle von linebassierten Scroll-Ereignissen.

Neue JavaScript-Funktionen

Neu in JavaScript 1.8.1

Ein Überblick über alle Änderungen in JavaScript 1.8.1.

Object.getPrototypeOf()

Diese neue Methode gibt das Prototyp-Objekt eines bestimmten Objekts zurück.

Verwenden von nativen JSON

Firefox 3.5 bietet native Unterstützung für JSON.

Neue Trim-Methoden auf dem String Objekt

Das String Objekt hat jetzt die Methoden trim(), trimLeft() und trimRight().

Netzwerk

Cross-Site-Zugriffskontrollen für HTTP

In Firefox 3.5 ist es jetzt möglich, dass HTTP-Anfragen, einschließlich der von XMLHttpRequest gestellten, domänenübergreifend funktionieren, wenn der Server dies unterstützt.

Fortschrittsereignisse für XMLHttpRequest

Fortschrittsereignisse werden jetzt zur Verfügung gestellt, um Erweiterungen die Überwachung des Fortschritts von Anfragen zu ermöglichen.

Verbesserte synchrone XMLHttpRequest Unterstützung

DOM-Timeout und Eingabeereignisse werden jetzt während eines synchronen XMLHttpRequest unterdrückt.

DNS-Vorabruf steuern

Firefox 3.5 bietet DNS-Vorabruf an, wobei es die Namensauflösung von Domänen im Voraus für Links auf der aktuellen Seite durchführt, um Zeit zu sparen, wenn Links tatsächlich angeklickt werden. Dieser Artikel beschreibt, wie Sie Ihre Website anpassen können, um den Vorabruf zu deaktivieren oder anzupassen, wie der Vorabruf funktioniert.

Neue Canvas-Funktionen

HTML 5 Text-API für canvas Elemente

Canvas-Elemente unterstützen jetzt die HTML 5 Text-API.

Schatteneffekte in einem canvas

Canvas-Schatteneffekte werden jetzt unterstützt.

createImageData()

Die Canvas-Methode createImageData() wird jetzt unterstützt, wodurch Code ein ImageData Objekt speziell erstellen kann, anstatt es automatisch erstellen zu lassen. Dies kann die Leistung anderer ImageData Methoden verbessern, indem verhindert wird, dass sie das Objekt erstellen müssen.

moz-opaque Attribut

Das moz-opaque Attribut wurde hinzugefügt, das dem Canvas mitteilt, ob Durchsichtigkeit ein Faktor sein wird. Wenn das Canvas weiß, dass keine Durchsichtigkeit vorliegt, kann die Malleistung optimiert werden. Siehe auch HTMLCanvasElement.mozOpaque.

Neue SVG-Funktionen

Anwenden von SVG-Effekten auf HTML-Inhalte

Sie können jetzt SVG-Effekte auf HTML- und XHTML-Inhalte anwenden; dieser Artikel beschreibt, wie.

Verschiedene neue Funktionen

ICC-Farbkorrektur in Firefox

Firefox 3.5 unterstützt jetzt ICC-Farbkorrektur für markierte Bilder.

Das defer Attribut wird nun auf script Elementen unterstützt

Dieses Attribut zeigt dem Browser an, dass er die Seite möglicherweise weiter analysieren und rendern kann, ohne darauf zu warten, dass das Skript das Ausführen beendet hat.

Weitere Verbesserungen

  • Die wholeText Eigenschaft des Textknotens und die Text.replaceWholeText() Methode wurden implementiert.
  • Die Eigenschaft element.children wurde hinzugefügt. Sie gibt eine Sammlung von Kinderelementen des gegebenen Elements zurück.
  • Die Eigenschaft HTMLElement.contentEditable wird jetzt unterstützt, um bearbeitbare Elemente zu unterstützen.
  • Die Element Traversal API wird jetzt vom DOM Element Objekt unterstützt.
  • HTML-Dokumentknoten können jetzt mit cloneNode() geklont werden.
  • Die nicht standardmäßige getBoxObjectFor() DOM-Methode wurde entfernt. Sie sollten stattdessen getBoundingClientRect() verwenden.
  • Versendete DOM-Ereignisse können jetzt erneut versendet werden. Dadurch besteht Firefox 3.5 den Acid 3 Test 30.
  • Verbesserungen wurden am Handling von DOM 2 Range vorgenommen.
  • Im nicht-chrome Scope sind abgefangene Objekte in Ausnahmen jetzt das tatsächliche geworfene Objekt statt eines XPConnect Wrappers, der das geworfene Objekt enthält.
  • SVG-ID-Referenzen sind jetzt live.
  • SVG-Filter funktionieren jetzt für foreignObject.
  • Die GetSVGDocument() Methode wurde den object und iframe Elementen für Kompatibilität hinzugefügt.
  • Implizite Einstellungen von Eigenschaften in Objekt- und Array-Initialisierern führen keine Setter in JavaScript mehr aus.
  • Die Variable gDownloadLastDir.path wurde in gDownloadLastDir.file umbenannt, da sie sich auf eine nsIFile bezieht, nicht auf einen Pfad.
  • Die Variable gDownloadLastDirPath wurde in gDownloadLastDirFile umbenannt, da sie sich auf eine nsIFile bezieht, nicht auf einen Pfad.
  • Ab Firefox 3.5 können Sie keine data: Bindungen mehr in Chrome-Paketen verwenden, die XPCNativeWrapper Automatisierung erhalten.

Für XUL- und Add-on-Entwickler

Wenn Sie ein Erweiterungsentwickler sind, sollten Sie mit dem Lesen von Aktualisieren von Erweiterungen für Firefox 3.5 beginnen, das einen hilfreichen Überblick darüber bietet, welche Änderungen Ihre Erweiterung beeinflussen können.

Neue Komponenten und Funktionalität

Unterstützung des privaten Modus

Firefox 3.5 bietet den privaten Modus, der die Aktivitäten des Benutzers nicht aufzeichnet. Erweiterungen können den privaten Modus unterstützen, indem sie den in diesem Artikel angebotenen Richtlinien folgen.

Sicherheitsänderungen in Firefox 3.5

Dieser Artikel behandelt sicherheitsbezogene Änderungen in Firefox 3.5.

Designänderungen in Firefox 3.5

Dieser Artikel behandelt designbezogene Änderungen in Firefox 3.5.

Überwachung von WLAN-Zugangspunkten

Code mit UniversalXPConnect-Berechtigungen kann jetzt die Liste der verfügbaren Zugangspunkte überwachen und Informationen zu deren SSIDs, MAC-Adressen und Signalstärke abrufen. Dies kann zusammen mit der Geolokalisierung verwendet werden, um einen auf WLAN basierten Ortungsdienst anzubieten.

Bemerkenswerte Änderungen und Verbesserungen

  • Das XUL textbox Widget bietet jetzt einen search Typ für die Verwendung als Suchfelder an.
  • Um das Ziehen und Ablegen von Tabs zwischen Fenstern zu unterstützen, hat das browser Widget jetzt eine swapDocShells() Methode.
  • Das level Attribut wurde dem panel Element hinzugefügt; dies gibt an, ob Panels über anderen Anwendungen oder nur über dem Fenster erscheinen, in dem sich das Panel befindet.
  • XUL-Elemente unterstützen jetzt die Eigenschaften clientHeight, clientWidth, scrollHeight und scrollWidth.
  • keyset umfasst jetzt ein disabled Attribut.
  • Darüber hinaus können keysets jetzt mit der Methode removeChild() des Knotens entfernt werden.
  • mozIStorageStatement hat die initialize() Methode entfernt; Verbraucher sollten die createStatement() Methode stattdessen verwenden, um ein neues Statement-Objekt zu erhalten.
  • Die Storage API bietet jetzt Unterstützung für asynchrone Anfragen.
  • Das nsICookie2 Interface zeigt jetzt die Zeit an, zu der Cookies in ihrem neuen creationTime Attribut erstellt wurden.
  • Ein Flag wurde nsIProtocolHandler (URI_IS_LOCAL_RESOURCE) hinzugefügt, das während der Chrome-Registrierung überprüft wird, um sicherzustellen, dass ein Protokoll registriert werden darf.
  • Firefox sucht jetzt nach Plugins in /usr/lib/mozilla/plugins unter Linux sowie an den zuvor unterstützten Standorten.
  • Die Plugin-API wurde aktualisiert, um den privaten Modus zu unterstützen; Sie können jetzt NPN_GetValue() verwenden, um den Status des privaten Modus mithilfe der Variable NPNVprivateModeBool abzufragen.

Neue Funktionen für Endbenutzer

Benutzererfahrung

Standortbezogenes Browsen

Falls Sie es möchten, können Sie Firefox 3.5 erlauben, Informationen über Ihren aktuellen Standort mit Websites zu teilen. Firefox 3.5 kann Informationen über das Netzwerk, mit dem Sie verbunden sind, verwenden, um Ihren Standort zu teilen. Natürlich fragt es vorher nach Ihrer Erlaubnis, um Ihre Privatsphäre zu gewährleisten.

Unterstützung für offene Audio- und Videoformate

Firefox 3.5 unterstützt eingebettetes Video und Audio im offenen Ogg-Format sowie WAV für Audio. Keine Plugins, keine verwirrenden Fehlermeldungen über das Installieren von etwas, das auf Ihrer Plattform ohnehin nicht verfügbar ist.

Lokale Datenspeicherung

Webanwendungen können jetzt die lokalen Speicherfunktionen von Web Storage nutzen, um Daten auf Ihrem Computer zu speichern. Dies ist ideal für alles, von Website-Einstellungen bis hin zu komplexeren Daten.

Sicherheit und Datenschutz

Privates Surfen

Müssen Sie den Computer einer anderen Person verwenden? Aktivieren Sie den privaten Modus und es wird nichts über Ihre Sitzung aufgezeichnet, einschließlich Cookies, Verlauf und anderen potenziell privaten Informationen.

Bessere Datenschutzkontrollen

Die Datenschutzeinstellung wurde vollständig neu gestaltet, um den Nutzern mehr Kontrolle über ihre privaten Informationen zu bieten. Nutzer können wählen, ob sie alles einschließlich Verlauf, Cookies, Downloads und Formularinformationen behalten oder verwerfen möchten. Außerdem können Nutzer festlegen, ob sie Verlauf und/oder Lesezeichen in den automatischen Vorschlägen der Adressleiste einbeziehen möchten, sodass Sie private Webadressen davon abhalten können, unerwartet beim Tippen in der Adressleiste angezeigt zu werden.

Leistung

Schnellere JavaScript-Leistung

JavaScript, das „J“ in „AJAX“, wird in Firefox 3.5 mit der neuen TraceMonkey JavaScript-Engine drastisch beschleunigt. Webanwendungen sind viel schneller als in Firefox 3.

Schnellere Seitendarstellung

Webinhalte werden in Firefox 3.5 dank Technologien wie "Spekulatives Parsing" schneller dargestellt. Ihre Nutzer müssen nicht wissen, was das bedeutet, außer dass "es macht Dinge schneller zeichnen".

Siehe auch