Firefox 63 – Versionshinweise für Entwickler
Dieser Artikel informiert über die Änderungen in Firefox 63, die für Entwickler relevant sind. Firefox 63 wurde am 23. Oktober 2018 veröffentlicht.
Änderungen für Webentwickler
>Entwicklertools
- Der Tab „Fonts“ im Page Inspector enthält jetzt einen Editor, mit dem Sie die Schrifteinstellungen Ihrer Seite einfach anzeigen und bearbeiten können. Weitere Informationen finden Sie unter Schriftarten bearbeiten.
- Der Accessibility Inspector ist jetzt standardmäßig aktiviert (Firefox-Bug 1482454).
- Wenn Sie im Accessibility Inspector den Mauszeiger über ein Objekt bewegen, wird das Element hervorgehoben. Seine Rolle und sein Name werden in einer Informationsleiste auf der Seite angezeigt (Firefox-Bug 1473030).
- Die Befehlszeile der Webkonsole wird jetzt direkt unter der Konsolenausgabe angezeigt (Firefox-Bug 1136299).
- Im Netzwerkmonitor zeigt ein neues Symbol an, wenn eine URL zu einem bekannten Tracker gehört. Siehe Sicherheitssymbole (Firefox-Bug 1333994).
- Der Standardwert von
devtools.aboutdebugging.showSystemAddonsist jetztfalse. Daher werden System-Add-ons auf der Seiteabout:debuggingnicht aufgeführt. Sie können die Einstellung unterabout:configändern (Firefox-Bug 1425347). - Die Symbolleiste des Responsive Design Mode wurde vereinfacht. Außerdem kann der Viewport jetzt linksbündig ausgerichtet werden.
- Der Page Inspector enthält einen Link zur Klassendefinition eines Custom Elements (Firefox-Bug 1443923).
HTML
- Das
decoding-Attribut des<img>-Elements wird jetzt unterstützt (Firefox-Bug 1416328); siehe auchHTMLImageElement.decoding.
Entfernte Funktionen
- Die Unterstützung für den Link-Typ
sidebar(rel="sidebar") wurde entfernt. Wenn ein Ankerelement dieses Attribut enthält, wird es ignoriert (Firefox-Bug 1452645).
CSS
- Die Pseudoklasse
:definedwird jetzt unterstützt (Firefox-Bug 1331334). row-gap,column-gapundgapwerden jetzt im Flexbox-Layout unterstützt (Firefox-Bug 1398483).- Die Unterstützung für Pixel-Density-@media-Abfragen mit WebKit-Präfix wurde wieder aktiviert (Firefox-Bug 1444139).
- Die Eigenschaften
align-self,align-contentundalign-itemsdes CSS Flexible Box Layout (Flexbox) sowie die Eigenschaftjustify-contentwerden jetzt unterstützt (Firefox-Bug 1472843). - Die Funktion
path()füroffset-pathwurde implementiert (Firefox-Bug 1429298). - Syntaxverbesserungen aus der Spezifikation „Media Queries Level 4“ wurden implementiert, insbesondere verschachtelte boolesche Ausdrücke und die Bereichssyntax (Firefox-Bug 1422225).
- Die
offset-*-Eigenschaften wurden ininset-block-start,inset-block-end,inset-inline-startundinset-inline-endumbenannt (Firefox-Bug 1464782). - Das Medienmerkmal prefers-reduced-motion wird jetzt unterstützt (Firefox-Bug 1365045, Firefox-Bug 1475462).
- Für die Eigenschaft
resizewurden flussrelative Werte (block,inline) hinzugefügt (Firefox-Bug 1464786). - Die Werte
safeundunsafewurden füralign-self,align-contentundjustify-contentim Flexbox-Layout implementiert (Firefox-Bug 1297774). - Die logischen Eigenschaften sind jetzt animierbar, soweit dies jeweils sinnvoll ist (Firefox-Bug 1309752).
Entfernte Funktionen
offset-block-start,offset-block-end,offset-inline-startundoffset-inline-endwurden entfernt. Sie wurden, wie oben beschrieben, ininset-*-Eigenschaften umbenannt (Firefox-Bug 1464782).
SVG
Keine Änderungen.
JavaScript
- Die Eigenschaft
Symbol.prototype.descriptionwurde implementiert (Firefox-Bug 1472170). - Die Methode
Object.fromEntries()wurde hinzugefügt (Firefox-Bug 1469019). - Die Fehlermeldung beim Zugriff auf eine Eigenschaft eines undefinierten Objekts wurde deutlich verbessert. Wenn beispielsweise
xundefiniert ist und Sie aufx.yzugreifen, gibt die Konsole statt „TypeError: x is undefined“ jetzt die aussagekräftigere Meldung x is undefined; can't access its "y" property aus (Firefox-Bug 1259822).
Entfernte Funktionen
- Die experimentelle Unterstützung für die IndexedDB-Serialisierung von WebAssembly-Modulen wurde entfernt (Firefox-Bug 1469395).
APIs
Neue APIs
- Die APIs für Shadow DOM (Firefox-Bug 1471947) und Custom Elements (Firefox-Bug 1471948) sind jetzt standardmäßig aktiviert. Weitere Informationen finden Sie unter Web Components.
- Die Media Capabilities API wurde implementiert (Firefox-Bug 1409664).
- Die Async Clipboard API wurde implementiert und ist in allen Veröffentlichungskanälen standardmäßig aktiviert (Firefox-Bug 1461465). Wie Chrome implementiert Firefox derzeit nur die Methoden
writeText()undreadText(). Anders als in Chrome istreadText()jedoch nur in Browser-Erweiterungen verfügbar. - Das Interface
SecurityPolicyViolationEventwird jetzt unterstützt. Damit können Ereignisse ausgelöst werden, wenn gegen dieContent-Security-Policyverstoßen wird (Firefox-Bug 1472661).
DOM
-
Die folgenden Teile der Web Animations API sind jetzt standardmäßig aktiviert (siehe Firefox-Bug 1476158):
- Die Eigenschaften
readyundfinishedvonAnimation, die diePromise-ObjektereadyundfinisheddesAnimation-Objekts angeben. - Die Eigenschaft
effectdesAnimation-Objekts. - Die Interfaces
KeyframeEffectundAnimationEffect.
- Die Eigenschaften
-
Die Methode
Element.toggleAttribute()wurde implementiert (Firefox-Bug 1469592). -
Die historische, zuvor nicht standardisierte Eigenschaft
Event.returnValuewird jetzt aus Kompatibilitätsgründen unterstützt (Firefox-Bug 1452569). -
Die Eigenschaft
Window.eventwurde implementiert, um die Webkompatibilität zu verbessern, nachdem sie standardisiert wurde (Firefox-Bug 218415). Aufgrund einiger Webkompatibilitätsprobleme (z. B. Firefox-Bug 1479964) wurde sie in den anderen Veröffentlichungskanälen als Nightly jedoch bald wieder deaktiviert und hinter der Einstellungdom.window.event.enabledverborgen (Firefox-Bug 1493869). -
Damit Firefox mit Edge und Chrome übereinstimmt, gibt die Eigenschaft
navigator.platformjetzt auch unter 64-Bit-Windows"Win32"zurück (Firefox-Bug 1472618). -
Vor Firefox 63 waren bei neuen Fenstern, die über Links mit
rel="noopener"oder durch Aufrufe vonWindow.open()mit aktiviertem Fenstermerkmalnoopenergeöffnet wurden, standardmäßig alle Fenstermerkmale deaktiviert. Gewünschte Standardmerkmale mussten Sie ausdrücklich wieder aktivieren. Jetzt sind bei diesen Fenstern dieselben Merkmale aktiviert wie bei anderen Fenstern; unerwünschte Merkmale müssen Sie ausdrücklich deaktivieren (Firefox-Bug 1419960).
DOM-Ereignisse
- Die Verarbeitung der
Alt-Taste auf der rechten Seite der Tastatur wurde unter Windows verbessert. Wenn das aktuelle Tastaturlayout des Benutzers dieAlt-Taste der ModifikatortasteAltGrzuordnet, wird als Wert vonKeyboardEvent.keyjetzt"AltGraph"gemeldet. Dieses Verhalten entspricht dem kürzlich in Chrome eingeführten Verhalten (Firefox-Bug 900750).
Medien, Web Audio und WebRTC
- Der Mikrofonzugriff funktioniert jetzt gleichzeitig in mehreren Tabs, auch innerhalb desselben Content-Prozesses (Firefox-Bug 1404977).
RTCDataChannelwurde aktualisiert und unterstützt für Daten jetzt neben dem bisher unterstützten älteren Format sctp-sdp-05 auch sctp-sdp-21.- Der Knotentyp
ConstantSourceNodeder Web Audio API hat jetzt standardmäßig zwei statt eines Kanals, entsprechend der Spezifikation (Firefox-Bug 1413283). - Das Interface
AudioScheduledSourceNodeder Web Audio API und damit auch alle darauf basierenden Knotentypen lösen jetzt die korrekte Ausnahme aus, wenn für die Startzeit eines Knotens ein negativer Wert angegeben wird:RangeError(Firefox-Bug 1413284). - Die zulässigen Minimal- und Maximalwerte für die Eigenschaft
valueeinesAudioParam-Objekts wurden auf den kleinsten negativen beziehungsweise den größten positiven Gleitkommawert mit einfacher Genauigkeit geändert: -340,282,346,638,528,859,811,704,183,484,516,925,440 beziehungsweise +340,282,346,638,528,859,811,704,183,484,516,925,440 (Firefox-Bug 1476695). - Die Methode
SourceBuffer.changeType, mit der Sie Codecs während eines aktiven Streams wechseln können, ist jetzt standardmäßig aktiviert. Sie ist Teil der Media Source Extensions API (Firefox-Bug 1481166). - Die Methode
AudioParam.setValueCurveAtTime()akzeptiert jetzt wie vorgesehen ein Array von Gleitkommawerten, das angibt, welche Werte der Parameter im Zeitverlauf annehmen soll. Zuvor war einFloat32Arrayerforderlich (Firefox-Bug 1421091). AudioParam.setValueCurveAtTime()wurde außerdem aktualisiert und löst jetzt wie vorgesehen einenTypeErroraus, wenn das Arrayvalueseinen nicht endlichen Wert enthält (Firefox-Bug 1472095).- Darüber hinaus wurde
setValueCurveAtTime()so aktualisiert, dass der Parameter nach Ablauf der angegebenen Dauer, wenn die Wertkurve vollständig durchlaufen wurde, auf den letzten Wert der Werteliste gesetzt wird (Firefox-Bug 1308436). - Das Dictionary
RTCRTPStreamStatswurde inRTCRtpStreamStatsumbenannt, um mit anderen WebRTC-Dictionaries und der Spezifikation übereinzustimmen (Firefox-Bug 1480498). - Die Eigenschaft
kinddes DictionarysRTCRtpStreamStatswird jetzt unterstützt (Firefox-Bug 1481851). - Die Eigenschaft
isRemotedes DictionarysRTCRtpStreamStatsist veraltet und wird in Firefox 65 entfernt. Beim Zugriff auf diese Eigenschaft wird jetzt eine Warnung in der Konsole ausgegeben. Einzelheiten finden Sie in diesem Beitrag im Blog „Advancing WebRTC“ (Firefox-Bug 1393306).
Canvas und WebGL
- Zu
HTMLCanvasElement.getContext()wurde das neue KontextattributpowerPreferencehinzugefügt. Damit können WebGL-Anwendungen und -Applets unter macOS, für die die Leistung nicht entscheidend ist, auf Systemen mit mehreren GPUs die energiesparende statt der leistungsstarken GPU anfordern (Firefox-Bug 1349799).
Entfernte Funktionen
- Die veralteten, nicht standardisierten und nur in Firefox verfügbaren Methoden
Window.back()undWindow.forward()wurden entfernt. Verwenden Sie stattdessenwindow.history.back()undwindow.history.forward()(Firefox-Bug 1479486). - Die Methoden
URL.createObjectURL()undURL.revokeObjectURL()sind inServiceWorker-Instanzen nicht mehr verfügbar, da sie Speicherlecks verursachen können (Firefox-Bug 1264182). - Da sie in der Spezifikation ohnehin als veraltet gekennzeichnet war, wurde die eingeschränkte Unterstützung für Doppler-Effekte bei
PannerNodeaus der Web Audio API entfernt. Die EigenschaftendopplerFactorundspeedOfSoundvonAudioListenersowie die MethodesetVelocity()vonPannerNodewurden entfernt (Firefox-Bug 1148354).
CSSOM
Keine Änderungen.
HTTP
- Der Header
Clear-Site-Dataist implementiert und nicht mehr von einer Einstellung abhängig (Firefox-Bug 1470111).
Sicherheit
- Favicons von Websites unterliegen jetzt der Content Security Policy, sofern für die Website eine solche konfiguriert ist (Firefox-Bug 1297156).
- Der Ausdruck
'report-sample'in der CSP-Direktivescript-srcwird jetzt beim Erstellen von Berichten über Verstöße berücksichtigt. Er legt fest, dass der Bericht einen kurzen Ausschnitt der Stelle enthalten soll, an der der Verstoß auftrat. Zuvor fügte Firefox diesen Ausschnitt immer hinzu (Firefox-Bug 1473218). - Firefox verwendet jetzt NSS 3.39 (Firefox-Bug 1470914).
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
Neue Funktionen
- Marionette gibt in der Antwort auf
WebDriver:NewSessionjetzt die CapabilitysetWindowRectzurück. Ihr Wert isttrue, wenn sich das Browserfenster verschieben und in der Größe ändern lässt. Das ist beispielsweise bei Firefox der Fall, nicht jedoch bei mobilen Anwendungen (Firefox-Bug 1470659). - Die Capability
unhandledPromptBehaviorwird jetzt unterstützt. Damit können Sie ein bestimmtes Verhalten bei Dialogen gemäß der WebDriver-Spezifikation festlegen (Firefox-Bug 1264259). - Die Verarbeitung von Benutzerdialogen wurde zu den Befehlen
WebDriver:ExecuteScriptundWebDriver:ExecuteAsyncScripthinzugefügt (Firefox-Bug 1439995).
API-Änderungen
- Veraltete Befehlsendpunkte ohne das Präfix
WebDriver:wurden entfernt (Firefox-Bug 1451725). - Der Befehl
WebDriver:NewSessiongibt fürplatformNamejetzt die in der WebDriver-Spezifikation empfohlenen Zeichenfolgen (linux,mac,windows) zurück (Firefox-Bug 1470646).
Fehlerbehebungen
- Wenn Firefox nicht die oberste Anwendung war, fehlten bei der Interaktion mit Elementen Fokusereignisse (Firefox-Bug 1398111).
- Das Ausführen von
pointerDownundpointerUpin einer nachfolgenden Aktionssequenz konnte einen Doppelklick auslösen, weilWebDriver:ReleaseActionsdie Doppelklickverfolgung nicht zurücksetzte (Firefox-Bug 1422583). - Die wiederholte Ausführung von
pause-Aktionen konnte dazu führen, dass der Vorgang auf unbestimmte Zeit hängen blieb (Firefox-Bug 1447449). - Ein Fehler wurde behoben, bei dem die Rückgabe einer Elementsammlung aus
WebDriver:ExecuteScriptundWebDriver:ExecuteAsyncScripteinen Fehler wegen einer zyklischen Referenz verursachte (Firefox-Bug 1447977). - Um eine Race Condition zu vermeiden, warten die Befehle
WebDriver:AcceptAlertundWebDriver:DismissAlertjetzt, bis der Benutzerdialog geschlossen wurde (Firefox-Bug 1479368). - Vom Frame-Skript ausgegebene Log-Einträge wurden nicht mehr durch
MarionettePrefs.logLevelbegrenzt; stattdessen wurde alles protokolliert (Firefox-Bug 1482829). WebDriver:TakeScreenshotlöste einen Fehler aus, wenn ein Screenshot eines Fensters mit mehr als 32767 Pixeln Breite oder Höhe aufgenommen wurde (Firefox-Bug 1485730).WebDriver:SendAlertTextersetzte den Standardwert eines Benutzerdialogs nicht, wenn der zu sendende Text eine leere Zeichenfolge war (Firefox-Bug 1486485).
Sonstiges
- Das Verhalten von
PerformanceObserver.observe()wurde korrigiert: Die Methode bewirkt jetzt nichts, wenn das angegebene Array der zu beobachtenden Eintragstypen keine gültigen Eintragstypen enthält, leer ist oder fehlt. Zuvor löste Firefox fälschlicherweise einenTypeErroraus (Firefox-Bug 1403027). - Bei OpenSearch akzeptiert Firefox jetzt
application/jsonals Typ einer Such-URL, als Alias fürapplication/x-suggestions+json(Firefox-Bug 1425827).
Änderungen für Add-on-Entwickler
>API-Änderungen
Themes
-
Die Standardtextfarbe für Badges von
browserActionwird jetzt automatisch auf Schwarz oder Weiß gesetzt, um den Kontrast zum Hintergrund zu maximieren (Firefox-Bug 1474110). -
Die Eigenschaften
accentcolorundtextcolordes Manifest-Schlüsselsthemesind jetzt optional (Firefox-Bug 1413144). -
Mit
browserAction.getBadgeTextColor()undbrowserAction.setBadgeTextColor()können Sie die Textfarbe von Browser-Action-Badges abrufen und festlegen (Firefox-Bug 1424620). -
Der Theme-Schlüssel
colorsinmanifest.jsonunterstützt jetzt die Eigenschaftntp_textzum Festlegen der Textfarbe eines neuen Tabs und die Eigenschaftntp_backgroundzum Festlegen seiner Hintergrundfarbe (Firefox-Bug 1347204). -
Themes können jetzt die Farben von Seitenleisten festlegen, beispielsweise der Lesezeichen-Seitenleiste (Firefox-Bug 1418602). Dazu gehören die folgenden Eigenschaften:
sidebar: Die Hintergrundfarbe von Seitenleisten.sidebar_text: Die Textfarbe von Seitenleisten.sidebar_highlight: Die Hintergrundfarbe eines ausgewählten Elements in einer Seitenleiste.sidebar_highlight_text: Die Textfarbe eines ausgewählten Elements in einer Seitenleiste.
-
Mit der Methode
management.install()können WebExtensions signierte Browser-Themes installieren und aktivieren (Firefox-Bug 1369209). -
Der Manifest-Schlüssel theme_experiment wurde eingeführt (Firefox-Bug 1472740). Damit können experimentelle Eigenschaften für den Schlüssel
themeder Firefox-Oberfläche definiert werden.
Suche
- Mit der neuen API
searchkönnen Sie die Liste der installierten Suchmaschinen abrufen und Suchanfragen mit ihnen durchführen (Firefox-Bug 1352598). topSites.get()akzeptiert jetzt den Parameteroptions, mit dem Sie verschiedene Optionen für die zurückgegebene Liste von Websites festlegen können (Firefox-Bug 1445836).
Tabs
tabs.onHighlightedunterstützt jetzt die Mehrfachauswahl (Firefox-Bug 1474440).- Das Objekt
highlightInfovontabs.highlightenthält jetzt das optionale Feldpopulate, dessen Standardwerttrueist. Wenn Sie es auffalsesetzen, wird das zurückgegebenewindows.Window-Objekt aus Leistungsgründen nicht mit einer Liste von Tabs befüllt (Firefox-Bug 1489814). tabs.updateunterstützt jetzt das Ändern des Auswahlstatus eines Tabs, indem Siehighlighted: trueim ParameterupdatePropertiesangeben (Firefox-Bug 1479129).tabs.updateunterstützt jetzt das Ändern des Auswahlstatus eines Tabs, ohne den Tab mit Fokus zu ändern (Firefox-Bug 1486050). Geben Sie dazu sowohlhighlighted: trueals auchactive: falseim ParameterupdatePropertiesan.tabs.querygibt jetzt ein Array vontabs.Tab-Objekten zurück, wenn mehrere Tabs ausgewählt sind (Firefox-Bug 1465170).- Die Eigenschaft von
tabs.Tabgibt jetzt korrekt an, welche Tabs in einem Browserfenster ausgewählt (hervorgehoben) sind. Außerdem unterstützttabs.highlightjetzt das Ändern des Hervorhebungsstatus mehrerer Tabs (Firefox-Bug 1464862). - Die Eigenschaft
isarticleimfilter-Objekt, das antabs.onUpdatedübergeben wird, wurde inisArticleumbenannt. Der alte Name bleibt erhalten, ist aber veraltet. Diese Änderung wurde auch in Firefox 62 übernommen (Firefox-Bug 1461695). - Mit dem Ereignis
tabs.onUpdatedkönnen Sie anhand der Eigenschaftattentiondes ObjektschangeInfoverfolgen, wann ein Tab die Aufmerksamkeit des Benutzers auf sich zieht (Firefox-Bug 1396684).
Menüs
- Die Methode
menus.getTargetElement()wurde zur APImenushinzugefügt. Sie gibt das Element zurück, auf das der ParametertargetElementIdverweist und das angeklickt wurde. WenntargetElementIdnicht mehr gültig ist, gibt die Methode null zurück (Firefox-Bug 1325814). - Mit
menus.create()können Sie jetzt unsichtbare Menüeinträge erstellen. Mitmenus.update()können Sie die Sichtbarkeit von Menüeinträgen umschalten (Firefox-Bug 1482529). - Mit der API
menuserstellte Einträge unterstützen jetzt Zugriffstasten (Firefox-Bug 1320462). - Der Parameter
targetUrlPatternsvonmenus.create()undmenus.update()unterstützt jetzt jedes URL-Schema, auch wenn es in einem Match-Pattern normalerweise nicht zulässig ist (Firefox-Bug 1280370). - Wenn Sie auf einen Eintrag im Kontextmenü eines Tabs klicken, wird für diesen Tab jetzt die Berechtigung
activeTabgewährt, auch wenn es nicht der derzeit aktive Tab ist (Firefox-Bug 1446956).
Sonstiges
commands.onCommandwird jetzt als Benutzereingabe behandelt (Firefox-Bug 1408129).- Mit der API
webRequestkönnen Sie jetzt nach spekulativen Verbindungen filtern (Firefox-Bug 1479565). webRequest.SecurityInfoerhält zwei neue Eigenschaften:keaGroupNameundsignatureSchemeName. Diese Änderung wurde auch in Firefox 62 übernommen (Firefox-Bug 1471959).cookies.Cookieenthält jetzt eine Eigenschaft, die den SameSite-Status des Cookies angibt. Die Enumerationcookies.SameSiteStatusdefiniert die Werte für den SameSite-Status (Firefox-Bug 1351663).- Match-Patterns für URLs erfassen jetzt ausdrücklich das URL-Schema „data“ (Firefox-Bug 1280370).