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 abdecken.
Neue Entwicklerfunktionen in Firefox 3.5
>Für Website- und Anwendungsentwickler
HTML 5-Unterstützung
- HTML-Video und -Audio
-
Firefox 3.5 fügt Unterstützung für die HTML 5-Elemente
audioundvideohinzu. - Offline-Ressourcen in Firefox
-
Firefox 3.5 unterstützt nun vollständig die HTML 5-Spezifikation für Offline-Ressourcen.
- Drag and Drop
-
Die HTML 5-Drag and Drop-API ermöglicht das Ziehen und Ablegen von Elementen innerhalb und zwischen Websites. Diese API bietet auch eine einfachere Nutzung durch Erweiterungen und auf Mozilla basierende Anwendungen.
Neu unterstützte CSS-Funktionen
- Unterstützung herunterladbarer Schriftarten
-
Die neue
@font-face@-Regel lässt Webseiten herunterladbare Schriftarten bereitstellen, sodass Websites genau so angezeigt werden können, wie es der Autor vorgesehen hat. - CSS-Medienabfragen
-
Firefox 3.5 unterstützt nun CSS-Medienabfragen, die die Unterstützung für medienabhängige Stylesheets erweitern.
::beforeund::afteraktualisiert auf CSS 2.1-
Die Pseudo-Elemente
::beforeund::afterwurden auf vollständige CSS 2.1-Unterstützung aktualisiert, einschließlich der Unterstützung für die Eigenschaftenposition,float,list-style-*und einigedisplay-Eigenschaften. chEinheiten für Länge-
Die
ch-Einheit kann nun überall verwendet werden, wo eine <length> akzeptiert wird.1chist die Breite des "0" (Null)-Zeichens. opacity-
Die Mozilla-Erweiterung
-moz-opacityzu CSS wurde zugunsten der standardisiertenopacity-Eigenschaft 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 anzugeben, ob Linien innerhalb von Wörtern gebrochen werden dürfen, um Überläufe zu verhindern, wenn ein ansonsten nicht trennbarer String zu lang ist, um in eine Zeile zu passen.
- Die
white-space-Eigenschaft unterstützt den Wertpre-line -
Die
white-space-Eigenschaft akzeptiert jetzt den Wertpre-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 Farbwert
-moz-nativehyperlinktext -
Dieser neue Farbwert repräsentiert die Standard-Hyperlinkfarbe des Benutzersystems.
- Die
-moz-window-shadow-Eigenschaft und die:-moz-system-metric(mac-graphite-theme)Pseudo-Klasse -
Diese neuen CSS-Funktionen wurden hinzugefügt, um das Thema anzupassen.
- Neue Werte für
-moz-appearance -
Die Werte
-moz-win-glassund-moz-mac-unified-toolbarwurden zu-moz-appearancehinzugefügt. - Verwendung von CSS-Transformationen
-
Firefox 3.5 unterstützt CSS-Transformationen. Weitere Informationen finden Sie unter
-moz-transformund-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 es ermöglicht, Daten lokal auf dem Computer des Clients zu speichern. - Verwendung von Web-Workern
-
Firefox 3.5 unterstützt Web-Worker, um eine einfache Unterstützung für Multi-Threading in Webanwendungen zu bieten.
- 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 mittels Selektoren
-
Die Selektoren-API erlaubt das Abfragen eines Dokuments, um die Elemente zu finden, die einer gegebenen Auswahlregel entsprechen.
- Mausgestenereignisse
-
Firefox 3.5 unterstützt Mausgestenereignisse wie Trackpad-Wischgesten.
- Das
NodeIterator-Objekt -
Das
NodeIterator-Objekt bietet Unterstützung für das Iterieren über die Liste der Knoten in einem DOM-Teilbaum. - Das
MozAfterPaint-Ereignis -
Dieses neue DOM-Ereignis wird nach Aktualisierungen beim Malen in Fenstern gesendet.
- Das
MozMousePixelScroll-Ereignis -
Dieses neue DOM-Ereignis ermöglicht die Erkennung von pixelbasierten Mausrad-Scrollereignissen anstelle von zeilenbasierten Scrollereignissen.
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 spezifizierten Objekts zurück.
- Verwendung von native JSON
-
Firefox 3.5 unterstützt nativ JSON.
- Neue Trim-Methoden am String-Objekt
-
Das
String-Objekt hat jetzt die Methodentrim(),trimLeft()undtrimRight().
Netzwerk
- Zugriffskontrollen über Cross-Site für HTTP
-
In Firefox 3.5 ist es jetzt möglich, dass HTTP-Anfragen, einschließlich derjenigen, die durch
XMLHttpRequestgestellt werden, über Domains hinweg funktionieren, wenn der Server dies unterstützt. - Fortschrittsereignisse für
XMLHttpRequest -
Fortschrittsereignisse werden jetzt angeboten, um Erweiterungen zu ermöglichen, den Fortschritt von Anfragen zu überwachen.
- Verbesserte synchrone
XMLHttpRequest-Unterstützung -
DOM Timeout und Input Events werden nun während einer synchronen
XMLHttpRequest-Anfrage unterdrückt. - Steuerung des DNS-Prefetching
-
Firefox 3.5 bietet DNS-Prefetching, bei dem die Domainnamen-Auflösung im Voraus für Links auf der aktuellen Seite durchgeführt wird, um Zeit zu sparen, wenn Links tatsächlich angeklickt werden. Dieser Artikel beschreibt, wie Sie Ihre Website anpassen können, um Prefetching zu deaktivieren oder anzupassen, wie Prefetching arbeitet.
Neue Canvas-Funktionen
- HTML 5 Text-API für
canvas-Elemente -
Canvas-Elemente unterstützen nun die HTML 5 Text-API.
- Schatteneffekte in einer
canvas -
Schatteneffekte auf Canvas werden jetzt unterstützt.
createImageData()-
Die Canvas-Methode
createImageData()wird jetzt unterstützt, sodass Code spezifisch einImageData-Objekt erstellen kann, anstatt es automatisch erstellen zu lassen. Dies kann die Leistung andererImageData-Methoden verbessern, indem verhindert wird, dass das Objekt erstellt werden muss. moz-opaqueAttribut-
Das
moz-opaqueAttribut wurde hinzugefügt, das dem Canvas erlaubt zu wissen, ob Transluzenz ein Faktor sein wird. Wenn das Canvas weiß, dass keine Transluzenz vorhanden ist, kann die Malleistung optimiert werden. Siehe auchHTMLCanvasElement.mozOpaque.
Neue SVG-Funktionen
- Anwendung von SVG-Effekten auf HTML-Inhalte
-
Es ist jetzt möglich, SVG-Effekte auf HTML- und XHTML-Inhalte anzuwenden; dieser Artikel beschreibt, wie das gemacht wird.
Verschiedene neue Funktionen
- ICC-Farbkorrektur in Firefox
-
Firefox 3.5 unterstützt jetzt die ICC-Farbkorrektur für markierte Bilder.
- Das
defer-Attribut wird jetzt aufscript-Elementen unterstützt -
Dieses Attribut gibt dem Browser an, dass er möglicherweise die Seite weiterparsen und rendern darf, ohne darauf zu warten, dass das Skript die Ausführung beendet.
Weitere Verbesserungen
- Die
wholeText-Eigenschaft des Textknotens sowie die MethodeText.replaceWholeText()wurden implementiert. - Die Eigenschaft
element.childrenwurde hinzugefügt. Sie gibt eine Sammlung der Kindelemente des gegebenen Elements zurück. - Die Eigenschaft
HTMLElement.contentEditablewird jetzt unterstützt, um bearbeitbare Elemente zu unterstützen. - Die Element-Durchlauf-API wird jetzt durch das DOM-Element-Objekt unterstützt.
- HTML-Dokumentknoten können jetzt mit
cloneNode()kloniert werden. - Die nicht standardisierte
getBoxObjectFor()-DOM-Methode wurde entfernt. Stattdessen solltegetBoundingClientRect()verwendet werden. - Gehaltene DOM-Ereignisse können jetzt erneut ausgelöst werden. Dies ermöglicht es Firefox 3.5, den Acid 3 Test 30 zu bestehen.
- Verbesserungen wurden bei der Behandlung von DOM 2 Bereich gemacht.
- Außerhalb des Chrome-Bereichs sind erfasste Objekte in Ausnahmen jetzt das tatsächlich geworfene Objekt anstelle eines
XPConnect-Wrappers, das das geworfene Objekt enthält. - SVG-ID-Verweise sind jetzt live.
- SVG-Filter funktionieren jetzt für
foreignObject. - Die
GetSVGDocument()Methode wurde zuobjectundiframe-Elementen für die Kompatibilität hinzugefügt. - Implizite Setzung von Eigenschaften in Objekt- und Array-Initialisierern führt nicht mehr die Setter in JavaScript aus.
- Die Variable
gDownloadLastDir.pathwurde ingDownloadLastDir.fileumbenannt, da sie auf einnsIFilereferiert, nicht auf einen Pfad. - Die Variable
gDownloadLastDirPathwurde ingDownloadLastDirFileumbenannt, da sie auf einnsIFilereferiert, nicht auf einen Pfad. - Ab Firefox 3.5 können keine
data:-Bindungen in Chrome-Paketen mehr verwendet werden, dieXPCNativeWrapper-Automatisierung erhalten.
Für XUL- und Add-On-Entwickler
Wenn Sie ein Erweiterungsentwickler sind, sollten Sie mit dem Lesen von Aktualisierung von Erweiterungen für Firefox 3.5 beginnen, das einen hilfreichen Überblick darüber bietet, welche Änderungen Ihre Erweiterung betreffen könnten.
Neue Komponenten und Funktionen
- Unterstützung des privaten Surfmodus
-
Firefox 3.5 bietet den privaten Surfmodus, der die Aktivitäten des Benutzers nicht aufzeichnet. Erweiterungen können den privaten Surfmodus gemäß den Anleitungen in diesem Artikel unterstützen.
- Sicherheitsänderungen in Firefox 3.5
-
Dieser Artikel behandelt sicherheitsrelevante Änderungen in Firefox 3.5.
- Theme-Änderungen in Firefox 3.5
-
Dieser Artikel behandelt themenbezogene Änderungen in Firefox 3.5.
- Überwachung von Wi-Fi-Zugangspunkten
-
Code mit UniversalXPConnect-Rechten kann jetzt die Liste der verfügbaren Zugangspunkte überwachen und Informationen über ihre SSIDs, MAC-Adressen und Signalstärke abrufen. Dies kann in Verbindung mit Geolocation für eine Wi-Fi-basierte Standortdienste verwendet werden.
Bemerkenswerte Änderungen und Verbesserungen
- Das XUL
textbox-Widget bietet jetzt einensearch-Typ, der als Sucheingabefeld verwendet werden kann. - Um das Ziehen und Ablegen von Tabs zwischen Fenstern zu unterstützen, hat das
browser-Widget jetzt eineswapDocShells()-Methode. - Das
panel-Element wurde um daslevel-Attribut erweitert, das angibt, ob Panels vor anderen Anwendungen oder nur vor dem Fenster angezeigt werden, in dem das Panel enthalten ist. - XUL-Elemente unterstützen jetzt die Eigenschaften
clientHeight,clientWidth,scrollHeightundscrollWidth. keysethat nun eindisabled-Attribut.- Darüber hinaus können
keysets jetzt mit der MethoderemoveChild()des Knotens entfernt werden. mozIStorageStatementhat die Methodeinitialize()entfernt; Verbraucher sollten stattdessen die MethodecreateStatement()verwenden, um ein neues Statement-Objekt zu erhalten.- Die Storage-API bietet jetzt Unterstützung für asynchrone Anfragen.
- Die
nsICookie2-Schnittstelle gibt jetzt die Zeit an, zu der Cookies erstellt wurden, in ihrem neuen AttributcreationTimebekannt. - Ein Flag wurde zu
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/pluginsauf Linux sowie in den zuvor unterstützten Speicherorten. - Die Plugin-API wurde aktualisiert, um den Privatmodus zu unterstützen; Sie können jetzt
NPN_GetValue()verwenden, um den Status des privaten Modus mithilfe der VariablenNPNVprivateModeBoolabzufragen.
Neue Funktionen für Endbenutzer
>Benutzererfahrung
- Ortsabhängiges Browsen
-
Wenn Sie es wünschen, 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 wird Ihre Erlaubnis erfragt, bevor dies geschieht, um Ihre Privatsphäre zu gewährleisten.
- Unterstützung für offene Audio- und Videoformate
-
Firefox 3.5 unterstützt eingebettete Videos und Audios im offenen Ogg-Format sowie WAV für Audio. Keine Plugins, keine verwirrenden Fehlermeldungen über nötige Installationen, die sich dann als auf Ihrer Plattform nicht verfügbar erweisen.
- Lokale Datenspeicherung
-
Webanwendungen können nun die lokalen Speicherkapazitäten von Web Storage nutzen, um Daten auf Ihrem Computer zu speichern. Das ist großartig für alles, von Website-Einstellungen bis hin zu komplexeren Daten.
Sicherheit und Datenschutz
- Privates Surfen
-
Müssen Sie einen fremden Computer benutzen? Aktivieren Sie den privaten Surfmodus und es wird nichts über Ihre Sitzung aufgezeichnet, einschließlich Cookies, Verlauf und anderer potenziell privater Informationen.
- Bessere Datenschutzkontrollen
-
Das Datenschutz-Präferenzfenster wurde komplett neu gestaltet, um Benutzern mehr Kontrolle über ihre privaten Informationen zu geben. Benutzer können wählen, ob sie alles einschließlich Verlaufsinformationen, Cookies, Downloads und Formularinformationen behalten oder verwerfen möchten. Darüber hinaus können Benutzer festlegen, ob der Verlauf und/oder Lesezeichen in den automatischen Vorschlägen der Adressleiste enthalten sein sollen, sodass private Webadressen beim Tippen in der Adressleiste nicht unerwartet auftauchen.
Leistung
- Schnellere JavaScript-Leistung
-
JavaScript, das "J" in "AJAX", ist in Firefox 3.5 mit der neuen TraceMonkey JavaScript-Engine dramatisch schneller. Webanwendungen laufen bedeutend schneller als in Firefox 3.
- Schnellere Seiten-Rendering
-
Web-Inhalte werden in Firefox 3.5 schneller gezeichnet, dank Technologien wie "speculative parsing". Ihre Benutzer müssen nicht wissen, was das bedeutet, außer dass "es macht die Dinge schneller sichtbar".