Firefox 63 für Entwickler
Dieser Artikel bietet Informationen zu den Änderungen in Firefox 63, die Entwickler betreffen werden. Firefox 63 wurde am 23. Oktober 2018 veröffentlicht.
Änderungen für Web-Entwickler
Entwickler-Tools
- Der Schriftarten-Tab im Page Inspector umfasst jetzt einen Editor, mit dem es einfach ist, die Einstellungen der Schriftarten auf Ihrer Seite anzusehen und zu bearbeiten. Details finden Sie unter Schriftarten bearbeiten.
- Der Accessibility Inspector ist jetzt standardmäßig aktiviert (Firefox Bug 1482454).
- Wenn Sie über ein Objekt im Accessibility Inspector fahren, wird das Element hervorgehoben und seine Rolle und sein Name werden in einer Informationsleiste auf der Seite angezeigt (Firefox Bug 1473030).
- Die Befehlszeile in der Web Console wird nun direkt nach der Konsolenausgabe angezeigt (Firefox Bug 1136299).
- Im Network Monitor wurde ein neues Symbol zu den Inhalten hinzugefügt, das anzeigt, wenn eine URL zu einem bekannten Tracker gehört—siehe Sicherheitssymbole (Firefox Bug 1333994).
- Der Standardwert von
devtools.aboutdebugging.showSystemAddons
ist jetztfalse
, was bedeutet, dass System-Add-ons auf derabout:debugging
-Seite nicht aufgelistet werden. Sie können die Einstellungen ändern, indem Sie zuabout:config
navigieren (Firefox Bug 1425347). - Die Symbolleiste im Responsive Design Mode wurde vereinfacht, und wir haben die Option hinzugefügt, das Ansichtsfenster links auszurichten.
- Der Page Inspector enthält einen Link zur Klassendefinition für ein benutzerdefiniertes Element (Firefox Bug 1443923).
HTML
- Unterstützung für das
decoding
-Attribut des<img>
-Elements wurde hinzugefügt (Firefox Bug 1416328); siehe auchHTMLImageElement.decoding
.
Entfernung
- Unterstützung für den
sidebar
-Linktyp (rel="sidebar"
) wurde entfernt. Wenn ein Ankertag dieses Attribut enthält, wird es ignoriert (Firefox Bug 1452645).
CSS
- Unterstützung für die
:defined
-Pseudoklasse wurde hinzugefügt (Firefox Bug 1331334). - Unterstützung für
row-gap
,column-gap
undgap
wurde dem Flexbox-Layout hinzugefügt (Firefox Bug 1398483). - Unterstützung für webkit-präfixierte Pixel-Density @media-Anfragen erneut aktiviert (Firefox Bug 1444139).
- Unterstützung für die CSS Flexible Box Layout (Flexbox) Eigenschaften
align-self
,align-content
, undalign-items
, sowie diejustify-content
-Eigenschaft wurde hinzugefügt (Firefox Bug 1472843). - Die
path()
-Funktion füroffset-path
wurde implementiert (Firefox Bug 1429298). - Syntaxverbesserungen aus der Media Queries Level 4 Spezifikation wurden implementiert, insbesondere verschachtelte boolesche Ausdrücke und die Bereichssyntax (Firefox Bug 1422225).
offset-*
-Eigenschaften wurden umbenannt zuinset-block-start
,inset-block-end
,inset-inline-start
, undinset-inline-end
(Firefox Bug 1464782).- Unterstützung für die prefers-reduced-motion Media-Feature wurde hinzugefügt (Firefox Bug 1365045, Firefox Bug 1475462).
- Flussrelativwerte (
block
,inline
) für dieresize
-Eigenschaft wurden hinzugefügt (Firefox Bug 1464786). - Flexbox-Layout für die
safe
&unsafe
Werte inalign-self
,align-content
, undjustify-content
wurde implementiert (Firefox Bug 1297774). - Die logischen Eigenschaften, wo sinnvoll, sind jetzt animierbar (Firefox Bug 1309752).
Entfernung
offset-block-start
,offset-block-end
,offset-inline-start
undoffset-inline-end
wurden entfernt; diese wurden wie oben beschrieben zuinset-*
umbenannt (Firefox Bug 1464782).
SVG
Keine Änderungen.
JavaScript
- Die
Symbol.prototype.description
Eigenschaft wurde implementiert (Firefox Bug 1472170). - Die
Object.fromEntries()
Methode wurde hinzugefügt (Firefox Bug 1469019). - Wenn Sie versuchen, auf eine Eigenschaft eines undefinierten Objekts zuzugreifen, ist die Fehlermeldung jetzt erheblich verbessert. Betrachten Sie den Fall, in dem
x
undefiniert ist und Sie versuchen, aufx.y
zuzugreifen. Anstelle von "TypeError: x is undefined" gibt die Konsole nun die beschreibendere Meldung x is undefined; can't access its "y" property zurück (Firefox Bug 1259822).
Entfernung
- Experimentelle WebAssembly Module IndexedDB Serialisierungsunterstützung wurde entfernt (Firefox Bug 1469395).
APIs
Neue APIs
- Die Shadow DOM (Firefox Bug 1471947) und Custom Elements (Firefox Bug 1471948) APIs sind standardmäßig aktiviert; Weitere Informationen finden Sie unter Webkomponenten.
- Die Media Capabilities API wurde implementiert (Firefox Bug 1409664).
- Die Async Clipboard API wurde implementiert und standardmäßig für alle Kanäle aktiviert (Firefox Bug 1461465). Wie bei Chrome implementiert Firefox derzeit nur die Methoden
writeText()
undreadText()
; jedoch, im Gegensatz zu Chrome, istreadText()
nur in Browser-Erweiterungen verfügbar. - Die
SecurityPolicyViolationEvent
Schnittstelle wird jetzt unterstützt. Sie ermöglicht das Senden von Ereignissen, wenn dieContent-Security-Policy
verletzt wird (Firefox Bug 1472661).
DOM
-
Die folgenden Teile der Web Animations API wurden standardmäßig aktiviert (siehe Firefox Bug 1476158):
- Die
Animation
Eigenschaftenready
undfinished
, die dieready
undfinished
Promise
desAnimation
-Objekts angeben. - Die
Animation
Objekteigenschafteffect
. - Die Schnittstellen
KeyframeEffect
undAnimationEffect
.
- Die
-
Die
Element.toggleAttribute()
Methode wurde implementiert (Firefox Bug 1469592). -
Die vorher historisch nicht standardisierte
Event.returnValue
Eigenschaft wird jetzt aus Kompatibilitätsgründen unterstützt (Firefox Bug 1452569). -
Wir haben die
Window.event
Eigenschaft implementiert, um die Webkompatibilität zu verbessern, da sie jetzt standardisiert ist (Firefox Bug 218415). Aufgrund einiger Webkompatibilitätsprobleme (z. B. Firefox Bug 1479964) wurde diese jedoch schnell in nicht-Nightly Channels deaktiviert, hinter derdom.window.event.enabled
Voreinstellung verborgen (Firefox Bug 1493869). -
Um Firefox mit Edge und Chrome in Einklang zu bringen, gibt die
navigator.platform
Eigenschaft jetzt"Win32"
zurück, auch wenn sie auf einem 64-Bit-Windows ausgeführt wird (Firefox Bug 1472618). -
Vor Firefox 63 haben Links, die neue Fenster öffnen, die
rel="noopener"
hatten, sowie Aufrufe vonWindow.open()
mit aktiviertemnoopener
Fenstereigenschaft standardmäßig alle Fensterfunktionen deaktiviert, sodass Sie explizit jede Standardfunktion, die Sie wollten, neu aktivieren mussten. Jetzt haben diese Fenster denselben Satz von Funktionen aktiviert wie jedes andere Fenster, und Sie müssen explizit alle deaktivieren, die Sie nicht benötigen (Firefox Bug 1419960).
DOM-Ereignisse
- Die Handhabung der
Alt
Taste auf der rechten Seite der Tastatur wurde in Windows verbessert. Wenn das aktuelle Tastaturlayout des Benutzers dieAlt
Taste derAltGr
Modifikatortaste zuordnet, wird der Wert vonKeyboardEvent.key
jetzt als"AltGraph"
angegeben. Dieses Verhalten entspricht dem Verhalten, das kürzlich in Chrome eingeführt wurde (Firefox Bug 900750).
Medien, Web Audio und WebRTC
- Der Mikrofonzugriff funktioniert jetzt gleichzeitig in mehreren Tabs, auch innerhalb desselben Inhaltsprozesses (Firefox Bug 1404977).
RTCDataChannel
wurde aktualisiert, um das sctp-sdp-21-Datenformat für die Daten zu unterstützen, zusätzlich zu dem zuvor unterstützten äteren sctp-sdp-05-Format.- Der
ConstantSourceNode
Knotentyp für die Web Audio API hat jetzt eine Standardkanalanzahl von 2 anstelle von 1, um die Spezifikation zu erfüllen (Firefox Bug 1413283). - Die Web Audio API Schnittstelle
AudioScheduledSourceNode
(und damit alle anderen Knotentypen, die darauf basieren) werfen jetzt die richtige Ausnahme, wenn ein negativer Wert für die Knotenstartzeit angegeben wird. Dieser Fehler ist einRangeError
(Firefox Bug 1413284). - Die minimal und maximal zugelassenen Werte für das
AudioParam
Objektvalue
wurden auf den minimalen negativen Einzelpräzisionswert (-340,282,346,638,528,859,811,704,183,484,516,925,440) und auf den maximal positiven Einzelpräzisionswert (+340,282,346,638,528,859,811,704,183,484,516,925,440) geändert (Firefox Bug 1476695). - Die
SourceBuffer.changeType
Methode, die es Ihnen ermöglicht, die Codecs während eines aktiven Streams zu ändern, wurde standardmäßig aktiviert. Dies ist Teil der Media Source Extensions API (Firefox Bug 1481166). - Die
AudioParam.setValueCurveAtTime()
Methode wurde aktualisiert, um korrekt ein Array von Gleitkommazahlen zu akzeptieren, um die Werte des Parameters anzugeben, die sich im Laufe der Zeit ändern sollen. Zuvor erforderte dies einFloat32Array
(Firefox Bug 1421091). - Die
AudioParam.setValueCurveAtTime()
Methode wurde ebenfalls aktualisiert, um bei einem nicht-finiten Wert imvalues
Array einen geeignetenTypeError
zurückzugeben (Firefox Bug 1472095). - Darüber hinaus wurde
setValueCurveAtTime()
aktualisiert, um sicherzustellen, dass, wenn der Parameter aufhört, der angegebenen Wertekurve zu folgen, der Wert des Parameters auf den letzten Wert in der Werteliste eingestellt wird (Firefox Bug 1308436). - Das
RTCRTPStreamStats
Wörterbuch wurde inRTCRtpStreamStats
umbenannt, um mit anderen WebRTC Wörterbüchern und der Spezifikation konsistent zu sein (Firefox Bug 1480498). - Unterstützung für die
RTCRtpStreamStats
Wörterbuch-Eigenschaftkind
wurde hinzugefügt (Firefox Bug 1481851). - Die
RTCRtpStreamStats
Wörterbuch-EigenschaftisRemote
ist veraltet und wird in Firefox 65 entfernt. Eine Warnung wird jetzt in der Konsole angezeigt, wenn auf diese Eigenschaft zugegriffen wird. Details finden Sie in diesem Blog-Beitrag auf dem Advancing WebRTC Blog (Firefox Bug 1393306).
Canvas and WebGL
- Ein neuer
powerPreference
Kontext-Attribut wurde zuHTMLCanvasElement.getContext()
hinzugefügt. Auf macOS ermöglicht dies WebGL-nicht-performanzkritischen Anwendungen und Applets, die Niedrigleistungs-GPU anstelle der Hochleistungs-GPU in Multi-GPU Systemen anzufordern (Firefox Bug 1349799).
Entfernung
- Die veralteten und nicht standardisierten Firefox-spezifischen Methoden
Window.back()
undWindow.forward()
wurden entfernt. Bitte verwenden Sie die Methodenwindow.history.back()
undwindow.history.forward()
stattdessen (Firefox Bug 1479486). - Die
URL.createObjectURL()
undURL.revokeObjectURL()
Methoden sind aufServiceWorker
Instanzen nicht mehr verfügbar, da sie das Risiko von Speicherlecks mit sich brachten (Firefox Bug 1264182). - Da es ohnehin in der Spezifikation veraltet war, wurde die begrenzte Unterstützung für Doppler-Effekte bei der
PannerNode
vom Web Audio API entfernt. DieAudioListener
EigenschaftendopplerFactor
undspeedOfSound
wurden entfernt, zusammen mit derPannerNode
MethodesetVelocity()
(Firefox Bug 1148354).
CSSOM
Keine Änderungen.
HTTP
- Der
Clear-Site-Data
Header wurde implementiert und ist nicht mehr hinter einer Voreinstellung verborgen (Firefox Bug 1470111).
Sicherheit
- Website-Favicons unterliegen jetzt der Content Security Policy, wenn eine für die Site konfiguriert ist (Firefox Bug 1297156).
- Die CSP
script-src
Direktive's'report-sample'
Ausdruck wird jetzt erkannt bei der Erstellung von Verletzungsberichten. Diese Direktive gibt an, dass ein kurzer Ausschnitt von dem Ort, an dem die Verletzung aufgetreten ist, im Bericht enthalten sein sollte. Früher hat Firefox diesen Ausschnitt immer enthalten (Firefox Bug 1473218). - Firefox verwendet nun NSS 3.39 (Firefox Bug 1470914).
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
Neue Funktionen
- Marionette gibt nun eine
setWindowRect
Fähigkeit in derWebDriver:NewSession
Antwort zurück, was den Empfang und die Größenänderung des Browserfensters ermöglicht, was z.B. für Firefox, aber nicht für Anwendungen auf Mobilgeräten gilt (Firefox Bug 1470659). - Unterstützung für die
unhandledPromptBehavior
Fähigkeit wurde hinzugefügt, die es ermöglicht, ein spezifisches Promptverhalten gemäß der WebDriver-Spezifikation zu definieren (Firefox Bug 1264259). - Handhabung von Benutzervorgaben wurde zu den
WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
Befehlen hinzugefügt (Firefox Bug 1439995).
API-Änderungen
- Veraltete Befehl-Endpunkte ohne das
WebDriver:
-Präfix wurden entfernt (Firefox Bug 1451725). - Der
WebDriver:NewSession
Befehl gibt empfohlene Zeichenfolgen (linux
,mac
,windows
) fürplatformName
zurück, wie in der WebDriver-Spezifikation definiert (Firefox Bug 1470646).
Fehlerbehebungen
- Fokusbezogene Ereignisse fehlten auf Elementeinteraktionen, wenn Firefox nicht als oberste Anwendung ausgeführt wurde (Firefox Bug 1398111).
- Eine
pointerDown
undpointerUp
Aktion in einer aufeinanderfolgenden Aktionssequenz auszuführen, konnte einen Doppelklick auslösen, daWebDriver:ReleaseActions
den Doppelklick-Tracker nicht zurücksetzte (Firefox Bug 1422583). - Wiederholte Ausführung von
pause
-Aktionen konnte zu einem unbegrenzten Blockieren führen (Firefox Bug 1447449). - Ein Fehler wurde behoben, bei dem das Zurückgeben einer Elementensammlung von
WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
einen Fehler mit zyklischem Bezug verursachen konnte (Firefox Bug 1447977). - Um eine Race-Condition zu verhindern, warten die
WebDriver:AcceptAlert
undWebDriver:DismissAlert
Befehle jetzt, bis die Benutzeranfrage geschlossen wurde (Firefox Bug 1479368). - Logeinträge, die vom Frame-Script ausgegeben wurden, waren nicht mehr durch
MarionettePrefs.logLevel
begrenzt, sondern es wurde alles protokolliert (Firefox Bug 1482829). WebDriver:TakeScreenshot
verursachte einen Fehler, wenn ein Screenshot eines Fensters gemacht wurde, das größer als 32767 Pixel in der Breite oder Höhe war (Firefox Bug 1485730).WebDriver:SendAlertText
ersetzte den Standardwert des Benutzeraufforderung nicht, wenn der zu sendende Text eine leere Zeichenfolge war (Firefox Bug 1486485).
Sonstiges
- Das Verhalten von
PerformanceObserver.observe()
wurde korrigiert, um nichts zu tun, wenn keine gültigen Eintragsarten im angegebenen Array zu beobachtender Eintragsarten gefunden werden oder wenn das Array leer oder nicht vorhanden ist. Vorher warf Firefox fälschlicherweise einenTypeError
(Firefox Bug 1403027). - In OpenSearch akzeptiert Firefox nun
application/json
als Such-URL-Typ, als Alias fürapplication/x-suggestions+json
(Firefox Bug 1425827).
Änderungen für Add-on-Entwickler
API-Änderungen
Gestaltung
-
Die Standardtextfarbe für
browserAction
Abzeichen wird jetzt automatisch auf Schwarz oder Weiß gesetzt, um den Kontrast mit dem Hintergrund zu maximieren (Firefox Bug 1474110). -
Die Eigenschaften
accentcolor
undtextcolor
destheme
Manifest-Schlüssels sind jetzt optional (Firefox Bug 1413144). -
browserAction.getBadgeTextColor()
undbrowserAction.setBadgeTextColor()
ermöglichen Ihnen, die Textfarbe von Browser-Aktionsabzeichen abzurufen und festzulegen (Firefox Bug 1424620). -
Der
colors
Schlüssel immanifest.json
unterstützt jetzt dientp_text
Eigenschaft, um die Textfarbe in einem neuen Tab festzulegen, und dientp_background
Eigenschaft, um die Farbe eines neuen Tabs festzulegen (Firefox Bug 1347204). -
Themes können jetzt die Farben für Seitenleisten definieren, zum Beispiel die Lesezeichen-Seitenleiste (Firefox Bug 1418602). Die relevanten Eigenschaften umfassen:
sidebar
: Die Hintergrundfarbe für Seitenleisten.sidebar_text
: Die Textfarbe für Seitenleisten.sidebar_highlight
: Die Hintergrundfarbe eines ausgewählten Elements in einer Seitenleiste.sidebar_highlight_text
: Die Textfarbe eines ausgewählten Elements in einer Seitenleiste.
-
Die Methode
management.install()
ermöglicht Web-Erweiterungen die Installation und Aktivierung signierter Browser-Themes (Firefox Bug 1369209). -
Der Manifest-Schlüssel theme_experiment wurde eingeführt (Firefox Bug 1472740). Dieser Schlüssel ermöglicht die Definition experimenteller
theme
Schlüssel-Eigenschaften für die Firefox-Oberfläche.
Suche
- Die neue
search
API ermöglicht Ihnen, die Liste der installierten Suchmaschinen abzurufen und mit diesen zu suchen (Firefox Bug 1352598). topSites.get()
akzeptiert jetzt einenoptions
Parameter, mit dem Sie verschiedene Optionen für die zurückgegebene Listeneinstellungen festlegen können (Firefox Bug 1445836).
Tabs
tabs.onHighlighted
unterstützt jetzt Multi-Select (Firefox Bug 1474440).tabs.highlight
enthält jetzt ein optionales Feld imhighlightInfo
Objekt —populate
— das standardmäßig auftrue
gesetzt ist. Wenn es auffalse
gesetzt wird, wird das zurückgegebenewindows.Window
Objekt nicht mit einer Liste von Tabs gefüllt, um die Leistung zu verbessern (Firefox Bug 1489814).tabs.update
unterstützt jetzt das Ändern des Auswahlstatus eines Tabs, indemhighlighted: true
imupdateProperties
Parameter enthalten ist (Firefox Bug 1479129).tabs.update
unterstützt jetzt das Ändern des Auswahlstatus eines Tabs, ohne den fokussierten Tab zu ändern (Firefox Bug 1486050), indem sowohlhighlighted: true
als auchactive: false
imupdateProperties
Parameter enthalten sind.tabs.query
gibt jetzt ein Array vontabs.Tab
Objekten zurück, wenn mehrere Tabs ausgewählt sind (Firefox Bug 1465170).- Die
tabs.Tab
Eigenschaft spiegelt jetzt korrekt wider, welche Registerkarten in einem Browserfenster ausgewählt (hervorgehoben) sind, undtabs.highlight
unterstützt das Ändern des Hervorhebungsstatus mehrerer Registerkarten (Firefox Bug 1464862). - Die
isarticle
Eigenschaft imfilter
Objekt, das antabs.onUpdated
übergeben wird, wurde inisArticle
umbenannt. Der alte Name wird beibehalten, ist jedoch veraltet. Diese Änderung wurde auf Firefox 62 übertragen (Firefox Bug 1461695). - Das
tabs.onUpdated
Ereignis kann verwendet werden, um zu verfolgen, wenn ein Tab die Aufmerksamkeit des Benutzers mit derattention
Eigenschaft deschangeInfo
Objekts erregt (Firefox Bug 1396684).
Menüs
menus.getTargetElement()
wurde zurmenus
API hinzugefügt. Die Methode gibt das Element zurück, das vomtargetElementId
Parameter referenziert wird, der das angeklickte Element identifiziert. Wenn dastargetElementId
nicht mehr gültig ist, gibt die Methode null zurück (Firefox Bug 1325814).menus.create()
ermöglicht es Ihnen jetzt, unsichtbare Menüeinträge zu erstellen, undmenus.update()
ermöglicht es Ihnen, die Sichtbarkeit von Menüeinträgen umzuschalten (Firefox Bug 1482529).- Elemente, die mit der
menus
API erstellt werden, unterstützen jetzt Zugriffstasten (Firefox Bug 1320462). - Der
targetUrlPatterns
Parameter vonmenus.create()
undmenus.update()
unterstützt jetzt jedes URL-Schema, selbst diejenigen, die normalerweise in einem Matchmuster nicht erlaubt sind (Firefox Bug 1280370). - Wenn ein Tab-Kontextmenüelement angeklickt wird, wird die "activeTab"-Berechtigung jetzt für diesen Tab gewährt, auch wenn dies nicht der aktuell aktive Tab ist (Firefox Bug 1446956).
Sonstiges
commands.onCommand
wird nun als Benutzereingabe behandelt (Firefox Bug 1408129).- Die
webRequest
API ermöglicht es Ihnen jetzt, nach spekulativen Verbindungen zu filtern (Firefox Bug 1479565). webRequest.SecurityInfo
fügt zwei neue Eigenschaften hinzu,keaGroupName
undsignatureSchemeName
. Diese Änderung wurde auf Firefox 62 übertragen (Firefox Bug 1471959).cookies.Cookie
umfasst jetzt eine Eigenschaft, die den SameSite-Status des Cookies angibt. Diecookies.SameSiteStatus
Enumeration definiert SameSite-Statuswerte (Firefox Bug 1351663).- Übereinstimmungsmuster für URLs passen nun explizit das "data" URL-Schema an (Firefox Bug 1280370).