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, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>HTML
- Das Attribut
scopedwurde dem<style>-Element hinzugefügt. Es ermöglicht das Einfügen von Stilen, die vom Rest des Dokuments isoliert sind. Solche Stile können mit dem CSS-Pseudoelement:scopeausgewählt werden, das in Firefox 20 eingeführt wurde. (Firefox Bug 508725). - Das neue HTML-Element
<main>wurde implementiert (Firefox Bug 820508).
JavaScript
- ECMAScript for XML (E4X), eine veraltete JavaScript-Erweiterung, wurde entfernt. Es wurde nur in Gecko implementiert und fand nie eine breite Akzeptanz (Firefox Bug 788293).
- parseInt behandelt Zeichenfolgen, die mit "0" beginnen, nicht mehr als oktal (Firefox Bug 786135).
CSS
- Der Wert
nonevon-moz-user-selecthat jetzt das gleiche Verhalten wie der Wert-moz-none, wodurch Gecko mit WebKit (Chrome, Safari), Presto (Opera) und Trident (Internet Explorer) abgeglichen wird (Firefox Bug 816298). - Auf XHTML-Inhalten wurde der
auto-Wert von-moz-hyphensfälschlicherweise angewendet, wenn die Sprache nicht explizit angegeben war. Dies wurde behoben (Firefox Bug 702121). - Ein
auto-Wert wurde zur CSS-Eigenschaft-moz-orienthinzugefügt. Derauto-Wert entsprichthorizontal, wenn er auf<meter>und<progress>angewendet wird (Firefox Bug 835883). - Die Medienabfrage
-moz-windows-glasswurde auf Windows 7 und älteren Windows-Systemen hinzugefügt (Firefox Bug 816803).
DOM
- Unterstützung für
RTCPeerConnection(alsMozRTCPeerConnection) ist jetzt standardmäßig aktiviert (Firefox Bug 796463). Sie kann bei Bedarf wieder deaktiviert werden, indemmedia.peerconnection.enabledauf false gesetzt wird. - Die Eigenschaft
originwurde zuwindow.locationhinzugefügt (Firefox Bug 828261). - Die Methoden
valueAsDateundvalueAsNumberwurden für<input type="time">hinzugefügt (Firefox Bug 781570). - Die Attribute
minundmaxgelten jetzt auch für<input type="time">(Firefox Bug 781572). - Einige neue keyCodes zur Lautstärkeregelung werden unterstützt (Firefox Bug 674739).
- Einige neue keyCodes für alte Tastaturlayouts wie AS/400 werden jetzt unter Windows und Linux unterstützt (Firefox Bug 833719).
- Verschiedene keyCode-Werte für spezifische OEM-Tasten unter Windows werden jetzt wieder unterstützt (Firefox Bug 833719).
- Die Funktion
window.crypto.getRandomValueswurde implementiert (Firefox Bug 440046). - Die nicht standardisierten Methoden
NodeIterator.expandEntityReferences()undTreeWalker.expandEntityReferences()wurden entfernt (Firefox Bug 672190). - CSSOM: Die Methode
CSSKeyframesRule.insertRule()wurde zuCSSKeyframesRule.appendRule()geändert, um einer Spezifikationsänderung zu entsprechen (Firefox Bug 841896). - CSSOM Wenn der gegebene Parameter, der an
CSSStyleSheet.insertRuleübergeben wird, mehr als eine Regel enthält, wird jetzt eineDOMExceptionmit einemSYNTAX_ERRausgegeben (Firefox Bug 765599). - Bisher wurde, wenn dieselben Header wiederholt mit
XMLHttpRequest.setRequestHeadergesetzt wurden, der zuletzt angegebene Wert verwendet. Dieses Verhalten wurde geändert, um der Spezifikation zu entsprechen, so dass diese Werte ordnungsgemäß kombiniert werden (Firefox Bug 819051).
SVG
- Das Attribut paint-order wurde implementiert (Firefox Bug 828805).
- Die Einstellung
svg.smil.enabledwurde entfernt. SMIL ist immer aktiviert. (Firefox Bug 835030)
Netzwerke
- Wir setzen die Aktualisierung unserer CSP-Implementierung fort, um der CSP 1.0-Spezifikation zu entsprechen, die den Status "Candidate Recommendation" erreicht hat:
- Unterstützung für den spezifikationskonformen HTTP-Header
Content-Security-Policy(zusätzlich zum experimentellenX-Content-Security-Policy) wurde hinzugefügt (Firefox Bug 783049).Hinweis: Der Patch für diesen neuen Header wurde in Firefox 21 aufgenommen, ist jedoch in den Builds deaktiviert (Firefox Bug 842657).
- Unterstützung für den spezifikationskonformen HTTP-Header
Worker
- Die Funktionen
URL.createObjectURL()undURL.revokeObjectURL()sind jetzt in der Liste der für Worker verfügbaren Funktionen enthalten.
Änderungen für Add-on- und Mozilla-Entwickler
-
FUEL-Anwendungen können den Livemarks-Dienst nicht mehr verwenden (Firefox Bug 834492). Der Livemarks-Dienst ist veraltet und wird zugunsten der neuen asynchronen Schnittstelle eingestellt.
-
resource:///modules/undresource://gre/modules/sind nicht mehr identisch (Firefox Bug 755724). Diese Änderung wurde aufgrund der Arbeiten an der Metro-Version von Firefox vorgenommen. Wenn Sie Module überresource:///modules/laden, sollten Sie überprüfen, ob Sie jetztresource://gre/modules/stattdessen verwenden möchten. Beachten Sie, dass einige Module auch von Firefox nach Toolkit verschoben wurden (Firefox Bug 840287 und Firefox Bug 811548 verschobenNewTabUtils.jsmbeziehungsweise die Thumbnail-Module). -
Das Add-on SDK ist jetzt in Firefox enthalten (Firefox Bug 731779).
-
Die History-API hat viele 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 stattdessen
mozIAsyncHistory:nsIGlobalHistory2::addURInsIGlobalHistory2::isVisitednsIGlobalHistory2::setPageTitle
-
Nicht mehr erforderlich, verwenden Sie
onDeleteURIoderonItemRemoved:nsINavHistoryObserver::OnBeforeDeleteURInsINavBookmarkObserver::OnBeforeItemRemoved
-
Nie korrekt implementiert:
nsINavHistoryFullVisitResultNode
-
Veraltet, verwenden Sie stattdessen
mozIAsyncHistory::updatePlaces:nsINavHistoryService::AddVisit
-
-
nsIHttpChannel.redirectTowurde hinzugefügt, um das Weiterleiten von HTTP-Kanälen ohne fragile Hacks zu ermöglichen.