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 Web-Standards. Dieser Artikel bietet eine ausführliche Liste mit Links zu Artikeln, die die wichtigsten Verbesserungen behandeln.
Neue Entwicklerfunktionen in Firefox 3.5
>Für Website- und Anwendungsentwickler
HTML 5 Unterstützung
- HTML Video und Audio
-
Firefox 3.5 unterstützt die HTML 5
audio- undvideo-Elemente. - 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. Dies bietet auch eine einfachere API für Erweiterungen und Anwendungen auf Mozilla-Basis.
Neu unterstützte CSS-Funktionen
- Unterstützung für herunterladbare Schriftarten
-
Die neue
@font-face@Regel ermöglicht es Webseiten, herunterladbare Schriftarten bereitzustellen, sodass ein Webseiten-Layout exakt so angezeigt werden kann, wie es vom Seitenautor beabsichtigt ist. - CSS-Media-Queries
-
Firefox 3.5 unterstützt nun CSS-Media-Queries, die die Unterstützung von medienabhängigen Stylesheets verbessern.
::beforeund::afteraktualisiert auf CSS 2.1-
Die Pseudoelemente
::beforeund::afterwurden auf vollständige CSS 2.1-Unterstützung aktualisiert, einschließlich Unterstützung für die Eigenschaftenposition,float,list-style-*und einigedisplay-Eigenschaften. chEinheiten für Längen-
Die
chEinheit kann nun überall verwendet werden, wo eine <length> akzeptiert wird.1chist die Breite des Zeichens "0" (Null). opacity-
Die Mozilla-Erweiterung
-moz-opacitywurde zugunsten der standardmäßigenopacity-Eigenschaft entfernt. text-shadow-
Die Eigenschaft
text-shadow, die es ermöglicht, Schatteneffekte für Text und Textdekorationen zu definieren, wird nun unterstützt. overflow-wrap-
Diese neu unterstützte Eigenschaft ermöglicht es, festzulegen, ob Zeilen innerhalb von Wörtern gebrochen werden dürfen, um ein Überlaufen zu verhindern, wenn ein ansonsten unbrechbarer String zu lang ist, um in eine Zeile zu passen.
white-space-Eigenschaft unterstützt den Wertpre-line-
Die
white-space-Eigenschaft akzeptiert nun 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 Farbewert
-moz-nativehyperlinktext -
Dieser neue Farbewert repräsentiert die Standardfarbe für Hyperlinks des Benutzersystems.
- Die
-moz-window-shadow-Eigenschaft und die:-moz-system-metric(mac-graphite-theme)Pseudoklasse -
Diese neuen CSS-Funktionen wurden zum Erleichtern von Themen hinzugefügt.
- Neue Werte für
-moz-appearance -
Die Werte
-moz-win-glassund-moz-mac-unified-toolbarwurden-moz-appearancehinzugefügt. - Verwendung von CSS-Transformationen
-
Firefox 3.5 unterstützt CSS-Transformationen. Siehe
-moz-transformund-moz-transform-originfür Details. :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 unterstützt die Web Storage
localStorage-Eigenschaft, die eine Möglichkeit bietet, Daten lokal auf dem Computer des Benutzers zu speichern. - Verwendung von Web-Workern
-
Firefox 3.5 unterstützt Web-Worker, um Multi-Threading-Unterstützung in Webanwendungen zu ermöglichen.
- Verwendung von Geolokalisierung
-
Firefox 3.5 unterstützt die Geolocation API, die es Webanwendungen ermöglicht, Informationen über den aktuellen Standort des Benutzers zu erhalten, sofern ein Anbieter für diese Informationen installiert und aktiviert ist.
- DOM-Elemente mit Selektoren finden
-
Die Selector-API ermöglicht es, ein Dokument abzufragen, um die Elemente zu lokalisieren, die einer bestimmten 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 das Iterieren über die Liste der Knoten in einem DOM-Teilbaum. - Das
MozAfterPaint-Ereignis -
Dieses neue DOM-Ereignis wird nach Mal-Updates in Fenstern gesendet.
- Das
MozMousePixelScroll-Ereignis -
Dieses neue DOM-Ereignis ermöglicht die Erkennung von pixelbasierten Mausrad-Scroll-Ereignissen anstelle von linienbasierten 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 angegebenen Objekts zurück.
- Verwendung von nativen JSON
-
Firefox 3.5 hat native Unterstützung für JSON.
- Neue Trim-Methoden am
String-Objekt -
Das
String-Objekt verfügt nun über die Methodentrim(),trimLeft()undtrimRight().
Netzwerk
- Domainübergreifende Zugriffssteuerung für HTTP
-
In Firefox 3.5 ist es nun möglich, dass HTTP-Anfragen, einschließlich jener, die von
XMLHttpRequestgesendet werden, domainsübergreifend funktionieren, sofern der Server dies unterstützt. - Fortschrittsereignisse für
XMLHttpRequest -
Fortschrittsereignisse werden jetzt angeboten, um es Erweiterungen zu ermöglichen, den Fortschritt von Anfragen zu überwachen.
- Verbesserte synchrone
XMLHttpRequest-Unterstützung -
DOM-Timeout und Eingabe-Ereignisse werden nun während einer synchronen
XMLHttpRequestunterdrückt. - Steuerung des DNS-Vorabrufs
-
Firefox 3.5 bietet DNS-Vorabruf, bei dem die Domainnamen-Auflösung im Voraus für Links ausgeführt wird, die auf der aktuellen Seite enthalten sind, um Zeit zu sparen, wenn Links tatsächlich angeklickt werden. Dieser Artikel beschreibt, wie Sie Ihre Website so anpassen können, dass der Vorabruf deaktiviert oder dessen Betrieb angepasst wird.
Neue Canvas-Funktionen
- HTML 5 Text-API für
canvas-Elemente -
Canvas-Elemente unterstützen nun die HTML 5 Text-API.
- Schatteneffekte in einem
canvas -
Schatteneffekte für Canvas werden nun unterstützt.
createImageData()-
Die Canvas-Methode
createImageData()wird nun unterstützt, wodurch Code einImageData-Objekt gezielt erstellen kann, anstatt dass dies automatisch geschehen muss. Dies kann die Leistung andererImageData-Methoden verbessern, indem verhindert wird, dass sie das Objekt erstellen müssen. moz-opaqueAttribut-
Das Attribut
moz-opaquewurde hinzugefügt, welches dem Canvas mitteilt, ob Transluzenz eine Rolle spielen wird oder nicht. Wenn das Canvas weiß, dass keine Transluzenz vorliegt, kann die Malleistung optimiert werden. Siehe auchHTMLCanvasElement.mozOpaque.
Neue SVG-Funktionen
- Anwenden von SVG-Effekten auf HTML-Inhalt
-
Sie können nun SVG-Effekte auf HTML- und XHTML-Inhalte anwenden; dieser Artikel beschreibt, wie das funktioniert.
Verschiedene neue Funktionen
- ICC-Farbkorrektur in Firefox
-
Firefox 3.5 unterstützt nun ICC-Farbkorrektur für markierte Bilder.
- Das
defer-Attribut wird nun aufscript-Elementen unterstützt -
Dieses Attribut zeigt dem Browser an, dass er die Seite weiterhin parsen und rendern darf, ohne darauf zu warten, dass das Script ausgeführt wird.
Weitere Verbesserungen
- Die
wholeText-Eigenschaft des Text-Knotens und dieText.replaceWholeText()-Methode wurden implementiert. - Die Eigenschaft
element.childrenwurde hinzugefügt. Sie gibt eine Sammlung von Kind-Elementen des angegebenen Elements zurück. - Die Eigenschaft
HTMLElement.contentEditablewird nun unterstützt, um bearbeitbare Elemente zu unterstützen. - Die Element Traversal API wird nun vom DOM Element-Objekt unterstützt.
- HTML-Dokumentknoten können nun mit
cloneNode()geklont werden. - Die nicht standardmäßige
getBoxObjectFor()-Methode des DOM wurde entfernt. Stattdessen sollten SiegetBoundingClientRect()verwenden. - Ausgelöste DOM-Ereignisse können nun erneut ausgelöst werden. Dies sorgt dafür, dass Firefox 3.5 den Acid 3 Test 30 besteht.
- Verbesserungen wurden im Umgang mit DOM 2 Range vorgenommen.
- Im Nicht-Chrome-Scope sind gefangene Objekte in Ausnahmen nun das eigentlich geworfene Objekt anstelle eines
XPConnect-Wrappers, der das geworfene Objekt enthält. - SVG-ID-Referenzen sind nun live.
- SVG-Filter funktionieren nun für
foreignObject. - Die
GetSVGDocument()-Methode wurde zu denobject- undiframe-Elementen hinzugefügt, um die Kompatibilität sicherzustellen. - Implizite Einstellung von Eigenschaften in Objekt- und Array-Initialisierern führt nicht mehr zur Ausführung von Setzern in JavaScript.
- Die Variable
gDownloadLastDir.pathwurde zugDownloadLastDir.fileumbenannt, da sie sich auf einensIFile, nicht auf einen Pfad bezieht. - Die Variable
gDownloadLastDirPathwurde zugDownloadLastDirFileumbenannt, da sie sich auf einensIFile, nicht auf einen Pfad bezieht. - Ab Firefox 3.5 können Sie keine
data:Bindings mehr in Chrome-Paketen verwenden, dieXPCNativeWrapperAutomatisierung 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 betreffen könnten.
Neue Komponenten und Funktionalität
- Unterstützung des Privatmodus beim Surfen
-
Firefox 3.5 bietet den Privatmodus an, der die Aktivitäten des Benutzers nicht aufzeichnet. Erweiterungen können den Privatmodus unterstützen, wenn sie den Richtlinien in diesem Artikel folgen.
- Sicherheitsänderungen in Firefox 3.5
-
Dieser Artikel behandelt sicherheitsbezogene Änderungen in Firefox 3.5.
- Änderungen bei Themen in Firefox 3.5
-
Dieser Artikel behandelt themenbezogene Änderungen in Firefox 3.5.
- Überwachung von Wi-Fi-Zugangspunkten
-
Code mit UniversalXPConnect-Berechtigungen kann nun die Liste der verfügbaren Zugangspunkte überwachen und Informationen über ihre SSIDs, MAC-Adressen und Signalstärke abrufen. Dies kann zusammen mit der Geolocation verwendet werden, um einen Standortdienst auf Wi-Fi-Basis anzubieten.
Bemerkenswerte Änderungen und Verbesserungen
- Das XUL
textbox-Widget bietet nun einensearch-Typ, zur Verwendung als Suchfelder. - Um das Ziehen und Ablegen von Tabs zwischen Fenstern zu unterstützen, besitzt das
browser-Widget nun eineswapDocShells()-Methode. - Das
level-Attribut wurde zumpanel-Element hinzugefügt; dieses gibt an, ob Panels über anderen Anwendungen erscheinen oder nur über dem Fenster, in dem das Panel enthalten ist. - XUL-Elemente unterstützen nun die Eigenschaften
clientHeight,clientWidth,scrollHeightundscrollWidth. keysetenthält nun eindisabled-Attribut.- Zusätzlich können
keysets nun mit derremoveChild()-Methode des Knotens entfernt werden. mozIStorageStatementhatte dieinitialize()-Methode entfernt; Verbraucher sollten diecreateStatement()-Methode verwenden, um ein neues Statement-Objekt zu erhalten.- Die Storage-API bietet nun Unterstützung für asynchrone Anfragen.
- Die
nsICookie2-Schnittstelle gibt nun in ihrem neuencreationTime-Attribut den Zeitpunkt an, zu dem Cookies erstellt wurden. - 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 zur Registrierung zulässig ist. - Firefox sucht nun auch im
/usr/lib/mozilla/pluginsauf Linux nach Plugins, sowie an den zuvor unterstützten Orten. - Die Plugin-API wurde aktualisiert, um Unterstützung für den Privatmodus beim Surfen zu enthalten; Sie können nun
NPN_GetValue()verwenden, um den Status des Privatmodus mit der VariableNPNVprivateModeBoolabzufragen.
Neue Funktionen für Endbenutzer
>Benutzererfahrung
- Standortbezogenes Surfen
-
Wenn 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 wird vorher um Ihre Erlaubnis gebeten, um Ihre Privatsphäre zu gewährleisten.
- Unterstützung für eingebettete Audio- und Videodateien
-
Firefox 3.5 unterstützt eingebettete Videos und Audiodateien im offenen Ogg-Format sowie WAV für Audio. Keine Plugins, keine verwirrenden Fehlermeldungen über etwas zu installierendes, was auf Ihrer Plattform sowieso nicht verfügbar ist.
- Lokale Datenspeicherung
-
Webanwendungen können nun die Fähigkeit der lokalen Speicherung von Web Storage nutzen, um Daten auf Ihrem Computer zu speichern. Dies ist großartig für alles von Webseiteneinstellungen bis hin zu komplexeren Daten.
Sicherheit und Datenschutz
- Privates Surfen
-
Müssen Sie den Computer eines anderen verwenden? Schalten Sie den Modus für privates Browsen ein und nichts über Ihre Sitzung wird aufgezeichnet, einschließlich Cookies, Verlauf und anderer potentiell privater Informationen.
- Bessere Datenschutzkontrollen
-
Das Datenschutz-Präferenzfenster wurde vollständig neu gestaltet, um Benutzern mehr Kontrolle über ihre privaten Informationen zu bieten. Benutzer können wählen, alles zu behalten oder zu verwerfen, einschließlich Verlaufsinformationen, Cookies, Downloads und Formularfeldinformationen. Darüber hinaus können Benutzer festlegen, ob der Verlauf und/oder Lesezeichen in den automatisierten Vorschlägen der Adressleiste enthalten sein sollen, sodass private Webadressen beim Eingeben in die Adressleiste nicht unerwartet auftauchen.
Leistung
- Schnellere JavaScript-Leistung
-
JavaScript, das "J" in "AJAX", wird in Firefox 3.5 mit der neuen TraceMonkey-JavaScript-Engine dramatisch beschleunigt. Webanwendungen sind viel schneller als in Firefox 3.
- Schnellere Seitenrendering
-
Webinhalte werden in Firefox 3.5 dank Technologien wie "speculative parsing" schneller geladen. Ihre Nutzer brauchen nicht zu wissen, was das bedeutet, außer "es macht Dinge schneller".