Firefox 48 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition Firefox 48 wurde am 2. August 2016 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Entwickler von Firefox und Gecko sowie Add-on-Entwickler.
Änderungen für Webentwickler
>Entwickler-Tools
- Die Position von Elementen kann nun innerhalb des Inhalts geändert werden (Firefox-Bug 1139187).
- Implementierung von
console.clear()
zum Löschen der Konsolenausgabe (Firefox-Bug 659625). - Hinzufügen der HTTP-Log-Inspektion zur Web-Konsole (Firefox-Bug 1211525).
- Ein Firebug-Theme wurde hinzugefügt (Firefox-Bug 1244054).
- Der DOM-Inspektor wurde hinzugefügt (Firefox-Bug 1201475).
- Schriftarteninspektor ist nun wieder standardmäßig aktiviert (Firefox-Bug 1280121).
- Verbesserte Vorschläge für CSS-Eigenschaften (Firefox-Bug 1168246).
- Cookies,
localStorage
undsessionStorage
Einträge sind bearbeitbar durch Doppelklick (Firefox-Bug 1231154, Firefox-Bug 1231179, Firefox-Bug 1231155).
HTML
-
Die
<details>
und<summary>
Elemente sind standardmäßig in Nightly und Aurora (DevTools) aktiviert, jedoch nicht in Beta oder Release:- Der Standardstil für diese Elemente wurde angepasst, um der Spezifikation zu entsprechen (Firefox-Bug 1258657).
- Das
toggle
-Ereignis wird nun an das<details>
-Element gesendet, wenn dieses geöffnet oder geschlossen wird (Firefox-Bug 1225412).
-
Die
meta
Attribute unterstützen jetzt auch die Werteno-referrer-when-downgrade
undorigin-when-cross-origin
(Firefox-Bug 1178337).
CSS
-
Die
calc()
wurde verbessert, um näher an der Spezifikation zu sein:calc()
wird nun auf derline-height
Eigenschaft unterstützt (Firefox-Bug 594933).- Unterstützung für verschachtelte CSS
calc()
hinzugefügt (Firefox-Bug 968761).
-
Unsere experimentelle Implementierung von CSS-Grids wurde aktualisiert:
- Fragmentierung für das Grid-Layout wurde implementiert (Firefox-Bug 1144096).
- [css-grid] Prozentuale Tracks werden jetzt als
auto
behandelt, wenn die Größe des Grid-Containers undefiniert ist (Firefox-Bug 1264607). <fieldset>
unterstützt nun Grid- und Flex-Layouts (Firefox-Bug 1230207).
-
Der
luminance
Wert fürmask-mode
wurde hinzugefügt; derauto
Wert wurde inmatch-source
umbenannt, um der Spezifikation zu entsprechen (Firefox-Bug 1228354). -
Interpolation von
clip-path
Grundformen in CSS-Animationen und Übergängen wird jetzt unterstützt (Firefox-Bug 1110460). -
Unterstützung für horizontale-in-vertikale (tate-chu-yoko) Texte wurde über den
all
Wert dertext-combine-upright
Eigenschaft hinzugefügt (Firefox-Bug 1097499). -
Unterstützung für die experimentelle
color-adjust
Eigenschaft wurde hinzugefügt, wodurch Seiten angeben können, dass Hintergrundfarben und -bilder gedruckt werden sollen (Firefox-Bug 1209273). -
Das
::first-letter
Pseudoelement passt nun auch auf Satzzeichen vom Typ Pd, die dem tatsächlichen ersten Buchstaben vorangehen oder unmittelbar folgen; dies ist eine neue Anforderung des CSS-Pseudoelement-Moduls Ebene 4 (Firefox-Bug 1260366). -
Mehrere
-webkit
-präfixierte Eigenschaften und Werte wurden für die Web-Kompatibilität hinzugefügt, hinter der Präferenzlayout.css.prefixes.webkit
, die standardmäßig auffalse
gesetzt ist:-webkit-text-fill-color
(Firefox-Bug 1247777).-webkit-text-stroke
,-webkit-text-stroke-color
,-webkit-text-stroke-width
(Firefox-Bug 1248708).-webkit-background-clip
(als background-clip) Textwert (Firefox-Bug 759568).-webkit-box-direction
,-webkit-box-orient
(Firefox-Bug 1262049.- Der Wert
-webkit-inline-box
ist nun ein Alias voninline-flex
auf derdisplay
Eigenschaft (Firefox-Bug 1257661). -webkit-flex-direction
,-webkit-flex-wrap
,-webkit-flex-flow
,-webkit-order
,-webkit-flex
,-webkit-flex-grow
,-webkit-flex-shrink
,-webkit-flex-basis
,-webkit-justify-content
,-webkit-align-items
,-webkit-align-self
und-webkit-align-content
wurden als Aliase für die unpräfixierten Eigenschaften hinzugefügt und die Werte-webkit-flex
und-webkit-inline-flex
für diedisplay
Eigenschaft als Aliase für die unpräfixierten Werte (Firefox-Bug 1274096).- Hinzufügen von
-webkit-box-flex
,-webkit-box-ordinal-group
,-webkit-box-align
und-webkit-box-pack
Eigenschaften und-webkit-box
Wert zudisplay
als Aliase für moderne CSS Flexbox (Firefox-Bug 1208635).
-
Der
text
Wert vonbackground-clip
ist nun in allen Typen von Firefox verfügbar (und nicht nur in Nicht-Release-Builds) (Firefox-Bug 1263516). -
Der
absolute
Wert vonposition
Eigenschaften auf dem obersten Schichtenelement (Firefox-Bug 1236828). -
Hinzufügen einer nur intern verfügbaren Syntax für
@supports
zum Erkennen von Präferenz-Bezügen (Firefox-Bug 1259889).
JavaScript
Neue APIs
- Die Methoden
String.prototype.padStart()
undString.prototype.padEnd()
wurden implementiert (Firefox-Bug 1260509). - Die ES2015
Symbol.unscopables
undArray.prototype[Symbol.unscopables]
Eigenschaften wurden implementiert (Firefox-Bug 1054759 und Firefox-Bug 1258163). - Das ES2015
Symbol.isConcatSpreadable
Symbol wurde implementiert (Firefox-Bug 1041586). - Der ES2015
Array[Symbol.species]
Getter wurde implementiert (Firefox-Bug 1165052). - Der ES2015
ArrayBuffer[Symbol.species]
Getter undTypedArray[Symbol.species]
Getter wurden implementiert (Firefox-Bug 1165053). - Die
Intl.getCanonicalLocales()
Methode des ECMAScript-Internationalisierungs-API-Entwurfs wurde implementiert (Firefox-Bug 1263040).
Veraltete und entfernte Funktionen
- Die veraltete alte Proxy-API (
Proxy.create
undProxy.createFunction()
) wurde entfernt. Verwenden Sie stattdessen das standardmäßigeProxy
Objekt (Firefox-Bug 892903). - Die
String.prototype.contains()
Methode wurde entfernt (sie war seit Version 40 veraltet). Verwenden Sie stattdessen die MethodeString.prototype.includes()
(Firefox-Bug 1103588). - Die nicht standardisierte
RegExp.multiline
Eigenschaft (nichtRegExp.prototype.multiline
) wurde entfernt. Verwenden Sie stattdessen das Standard-m-Flag (Firefox-Bug 1219757). - Die Methoden
Object.prototype.__defineGetter__()
undObject.prototype.__defineSetter__()
können nicht länger im globalen Kontext ohne ein Objekt aufgerufen werden. (Firefox-Bug 1253016).
Schnittstellen/APIs/DOM
DOM & HTML DOM
- Der "Moz"-Präfix wurde von den Schnittstellen
CSSKeyframeRule
undCSSKeyframesRule
entfernt (Firefox-Bug 1256178). - Der
NavigatorConcurrentHardware
Mixin wurde implementiert, der die EigenschaftNavigator.hardwareConcurrency
zurNavigator
Schnittstelle hinzufügt. Dadurch können Webseiten und Apps eine ungefähre Anzahl an Verarbeitungscores ermitteln, die zur Ausführung vonWorker
s zur Verfügung stehen (Firefox-Bug 1008453). - Die Methode
Node.isSameNode()
, die in Firefox 10 entfernt wurde, ist nach einer längeren Abwesenheit, in der sie wieder in die Spezifikation aufgenommen wurde, zurückgekehrt (Firefox-Bug 1256299). - Firefox gibt jetzt korrekte Ausnahmen anstelle von Zahlen zurück, wenn während eines Aufrufs von
Navigator.registerProtocolHandler()
etwas schief geht. Element.animate()
ist jetzt standardmäßig aktiviert (Firefox-Bug 1245000).- Die beiden Methoden
Element.insertAdjacentText()
undElement.insertAdjacentElement()
wurden implementiert (Firefox-Bug 811259). Document.scrollingElement
wurde standardmäßig aktiviert (Firefox-Bug 1265032).Node.localName
,Node.namespaceURI
undNode.prefix
wurden zu den APIs vonElement
undAttr
verschoben (Firefox-Bug 1055776).- Laut der neuesten Spezifikation wurden die Werte von
KeyboardEvent.code
für die folgenden Tasten geändert, siehe (Firefox-Bug 1264150):"OSLeft"
und"OSRight"
sind jetzt"MetaLeft"
und"MetaRight"
."VolumeDown"
,"VolumeUp"
und"VolumeMute"
sind jetzt"AudioVolumeDown"
,"AudioVolumeUp"
und"AudioVolumeMute"
."IntlHash"
wurde entfernt.- Alle Tasten, deren
code
-Werte in früheren Versionen von Firefox als "" gemeldet wurden, werden jetzt als "Unidentified" gemeldet.
Canvas 2D
- Die Methode
CanvasRenderingContext2D.ellipse()
wurde implementiert (Firefox-Bug 910138).
WebRTC
- Die beiden Methoden
MediaStream.clone()
undMediaStreamTrack.clone()
wurden implementiert (Firefox-Bug 1208371). - Der
iceRestart
Eintrag wird nun imRTCOfferOptions
Codewörterbuch unterstützt, wodurchcreateOffer()
verwendet werden kann, um ICE-Neustarts anzufordern (Firefox-Bug 906986). - Die Methode
RTCPeerConnection.createOffer()
bevorzugt nun standardmäßig den VP9-Video-Codec; zuvor wurde VP8 bevorzugt (Firefox-Bug 1242324. - WebM/VP8-Videos, die Videoauflösungsänderungen enthalten und mit
MediaRecorder
aufgezeichnet wurden, können jetzt erfolgreich wiedergegeben werden.
Sonstiges
- Die Web Crypto API ist jetzt in Web Workern verfügbar (Firefox-Bug 842818).
- Die
CustomEvent
Schnittstelle ist jetzt in Web Workern verfügbar (Firefox-Bug 1003432). - Die Methode
DOMApplicationsManager.getNotInstalled()
wurde entfernt (Firefox-Bug 1255036). - Mehrere Firefox OS APIs, die fälschlicherweise im Web verfügbar waren, wurden nun wie vorgesehen ausgeblendet —
mozContact
,MozContactChangeEvent
,navigator.mozContacts
,MozPowerManager
,MozSettingsEvent
(siehe Firefox-Bug 1043562, Firefox-Bug 1256414, und Firefox-Bug 1256046). - Unterstützung für UTF-16 wurde aus
TextEncoder
entfernt (Firefox-Bug 1257877). RTCStatsReport
ist jetzt eine echtemaplike
-Schnittstelle: Zusätzlich zuforEach()
,get()
undhas()
wurden die Methodenentries()
,values()
,keys()
sowie der Gettersize
implementiert (Firefox-Bug 906986).- Die
Request.cache
Eigenschaft wurde hinzugefügt, um das Cache-Verhalten zu kontrollieren (Firefox-Bug 1120715). - Die Verarbeitung von toten Tasten auf Mac OS X wurde geändert, um genauso zu funktionieren wie auf anderen Plattformen; sie lösen kein
keypress
Ereignis mehr aus, wenn kein Text generiert wird, wenn das fokussierte Element nicht bearbeitbar ist (wenn das fokussierte Element bearbeitbar ist, führt eine tote Taste anstelle von Tastaturereignissen zu Kompositionsereignissen auf Mac OS X). Wie auf anderen Plattformen ist der Wert vonKeyboardEvent.key
jetzt"Dead"
für tote Tastendrücke, die in anderen Situationen keinen Text generieren.
HTTP
- Unterstützung für den
Upgrade-Insecure-Requests
Header wurde hinzugefügt (Firefox-Bug 1243586). - Der
block-all-mixed-content
CSP-Befehl wurde implementiert (Firefox-Bug 1122236)
Änderungen für Add-on- und Mozilla-Entwickler
- Die Social Worker API wurde entfernt.
- Die
-moz-bool-pref()
CSS@supports
Funktion wurde hinzugefügt, um Teile von Chrome-Stylesheets hinter booleschen Präferenzen zu verbergen. (Firefox-Bug 1259889)