Firefox 21 Versionshinweise für Entwickler
Firefox 21 wurde am 14. Mai 2013 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Entwickler von Firefox, Gecko und Add-ons.
Änderungen für Webentwickler
>HTML
- Das
scoped-Attribut wurde dem<style>-Element hinzugefügt. Es ermöglicht Ihnen, Stile einzubinden, die vom Rest des Dokuments isoliert sind. Solche Stile können mit der in Firefox 20 eingeführten CSS-Pseudoklasse:scopeausgewählt werden. (Firefox-Fehler 508725). - Das neue HTML-Element
<main>wurde implementiert (Firefox-Fehler 820508).
JavaScript
- ECMAScript for XML (E4X), eine alte JavaScript-Erweiterung, wurde entfernt. Es wurde nur in Gecko implementiert und fand nie signifikante Verbreitung (Firefox-Fehler 788293).
- parseInt behandelt Zeichenfolgen mit führender "0" nicht mehr als oktal (Firefox-Fehler 786135).
CSS
- Der
none-Wert von-moz-user-selecthat nun das gleiche Verhalten wie der-moz-none-Wert, um Gecko an WebKit (Chrome, Safari), Presto (Opera) und Trident (Internet Explorer) anzugleichen (Firefox-Fehler 816298). - Bei XHTML-Inhalten wurden die Trennungsregeln fälschlicherweise angewendet, wenn die Sprache nicht explizit deklariert war. Dies wurde durch (Firefox-Fehler 702121) behoben.
- Ein
auto-Wert wurde zur CSS-Eigenschaft-moz-orienthinzugefügt. Derauto-Wert entsprichthorizontal, wenn er auf<meter>und<progress>angewendet wird (Firefox-Fehler 835883). - Die Medienabfrage
-moz-windows-glasswurde auf Windows 7 und älteren Windows-Systemen hinzugefügt (Firefox-Fehler 816803).
DOM
- Die Unterstützung für
RTCPeerConnection(alsMozRTCPeerConnection) ist jetzt standardmäßig aktiviert (Firefox-Fehler 796463). Sie kann bei Bedarf durch Setzen vonmedia.peerconnection.enabledauf false wieder deaktiviert werden. - Die
origin-Eigenschaft wurde zuwindow.locationhinzugefügt (Firefox-Fehler 828261). - Die Methoden
valueAsDateundvalueAsNumberwurden für<input type="time">hinzugefügt (Firefox-Fehler 781570). - Die Attribute
minundmaxgelten jetzt auch für<input type="time">(Firefox-Fehler 781572). - Einige neue keyCodes für die Lautstärkeregelung werden unterstützt (Firefox-Fehler 674739).
- Einige neue keyCodes für alte Tastaturlayouts wie AS/400 werden jetzt unter Windows und Linux unterstützt (Firefox-Fehler 833719).
- Verschiedene keyCode-Werte für OEM-spezifische Tasten unter Windows werden jetzt wieder unterstützt (Firefox-Fehler 833719).
- Die Funktion
window.crypto.getRandomValueswurde implementiert (Firefox-Fehler 440046). - Die nicht standardisierten Methoden
NodeIterator.expandEntityReferences()undTreeWalker.expandEntityReferences()wurden entfernt (Firefox-Fehler 672190). - CSSOM: Die Methode
CSSKeyframesRule.insertRule()wurde geändert zuCSSKeyframesRule.appendRule()um eine Änderung der Spezifikation zu erfüllen (Firefox-Fehler 841896). - CSSOM: Wenn der gegebene Parameter der Methode
CSSStyleSheet.insertRulemehr als eine Regel enthält, wird jetzt einDOMExceptionmitSYNTAX_ERRgeworfen (Firefox-Fehler 765599). - Bis jetzt wurden die zuletzt angegebene Werte verwendet, wenn mit
XMLHttpRequest.setRequestHeaderdieselben Header wiederholt gesetzt wurden. Dieses Verhalten wurde geändert, um mit der Spezifikation konform zu sein, sodass diese Werte korrekt kombiniert werden (Firefox-Fehler 819051).
SVG
- Das Attribut paint-order wurde implementiert (Firefox-Fehler 828805).
- Die
svg.smil.enabled-Einstellung wurde entfernt. SMIL ist immer aktiviert. (Firefox-Fehler 835030)
Netzwerk
- Wir aktualisieren weiterhin unsere CSP-Implementierung, um der CSP 1.0-Spezifikation zu entsprechen, die den Status einer Kandidatenempfehlung erreicht hat:
- Unterstützung für den spezifikationskonformen HTTP-Header
Content-Security-Policy(zusätzlich zum experimentellenX-Content-Security-Policy) wurde hinzugefügt (Firefox-Fehler 783049).Hinweis: Der Patch für diesen neuen Header landete in Firefox 21, er ist in den Builds deaktiviert (Firefox-Fehler 842657).
- Unterstützung für den spezifikationskonformen HTTP-Header
Worker
- Die Funktionen
URL.createObjectURL()undURL.revokeObjectURL()sind jetzt in der Menge der Funktionen, die Arbeitern zur Verfügung stehen, enthalten.
Änderungen für Add-on- und Mozilla-Entwickler
-
FUEL-Anwendungen können den Livemarks-Dienst nicht mehr verwenden (Firefox-Fehler 834492). Der Livemarks-Dienst ist veraltet und wird zugunsten der neuen asynchronen Schnittstelle eingestellt.
-
resource:///modules/undresource://gre/modules/sind nicht mehr identisch (Firefox-Fehler 755724). Diese Änderung wurde aufgrund der Arbeit an der Metro-Version von Firefox vorgenommen. Wenn Sie Module mitresource:///modules/laden, sollten Sie prüfen, ob Sie jetztresource://gre/modules/verwenden möchten. Beachten Sie, dass einige Module auch von Firefox zu Toolkit verschoben wurden (Firefox-Fehler 840287 und Firefox-Fehler 811548 verschobenNewTabUtils.jsmund die Thumbnail-Module entsprechend). -
Das Add-on-SDK ist jetzt in Firefox enthalten (Firefox-Fehler 731779)
-
Die Verlauf-API hat zahlreiche veraltete APIs entfernt:
-
Ersetzt durch
mozIAsyncFavicons:nsIFaviconService::setFaviconUrlForPagensIFaviconService::setFaviconDatansIFaviconService::getFaviconDatansIFaviconService::getFaviconForPagensIFaviconService::setAndLoadFaviconForPagensIFaviconService::getFaviconImageForPagensIFaviconService::getFaviconDataAsDataURL
-
Ersetzt durch
mozIAsyncLivemarks:nsILivemarkService::*PlacesUtils.itemIsLivemarkPlacesUtils.nodeIsLivemarkContainerPlacesUtils.nodeIsLivemarkItem
-
Nur drittes Argument entfernt:
PlacesUIUtils.showBookmarkDialog
-
Nicht mehr von Places implementiert, verwenden Sie
mozIAsyncHistorystattdessen:nsIGlobalHistory2::addURInsIGlobalHistory2::isVisitednsIGlobalHistory2::setPageTitle
-
Nicht mehr benötigt, verwenden Sie
onDeleteURIoderonItemRemoved:nsINavHistoryObserver::OnBeforeDeleteURInsINavBookmarkObserver::OnBeforeItemRemoved
-
Nie richtig implementiert:
nsINavHistoryFullVisitResultNode
-
Veraltet, verwenden Sie
mozIAsyncHistory::updatePlacesstattdessen:nsINavHistoryService::AddVisit
-
-
Hinzugefügt
nsIHttpChannel.redirectToum das Umleiten von HTTP-Kanälen ohne fragile Hacks zu ermöglichen.