Firefox 64 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 64, die Entwickler betreffen werden. Firefox 64 wurde am 11. Dezember 2018 veröffentlicht.
Änderungen für Webentwickler
Entwicklerwerkzeuge
-
Die Accessibility Info-Bar wurde verbessert, um Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite einzuschließen (Firefox-Bug 1473037).
-
Die Gerätauswahl im Responsive Design Mode wird jetzt zwischen den Sitzungen gespeichert (Firefox-Bug 1248619).
-
Ressourcen, die potenziell von Tracking-Schutz betroffen sind, werden jetzt im Netzwerkmonitor angezeigt (Firefox-Bug 1333994).
-
Die Webkonsole erhielt Verbesserungen beim Eingeben und Auswerten von Code:
- Autocomplete für Konsolenausdrücke ist jetzt nicht mehr case-sensitiv (Firefox-Bug 672733).
- Sie können jetzt durch die Konsole-Ausdruckshistorie mit bash-ähnlicher Rückwärtssuche navigieren (Firefox-Bug 1024913).
- Ausgewerteter Code in der Konsole wird nun sowohl im Eingabe- als auch im Ausgabebereich syntaktisch hervorgehoben (Firefox-Bug 1463669).
-
Auch im JavaScript-Debugger gab es einige Verbesserungen:
- Stepping out einer Funktion im Debugger überspringt nun den Rückgabewert (Firefox-Bug 923975).
Entfernungen
- Die Entwicklerwerkzeuge GCLI wurden entfernt (Firefox-Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Funktionalität der CSS Scrollbars-Spezifikation wurde standardmäßig aktiviert (Firefox-Bug 1492012).
- Implementierte Media-Features für Interaktionen einschließlich
pointer:coarse
(Firefox-Bug 1035774). Für die Implementierung vonany-pointer
undany-hover
siehe Firefox-Bug 1483111. - Das
prefers-reduced-motion
-Media-Feature wird jetzt in Firefox für Android unterstützt (Firefox-Bug 1478505). - CSS
<gradient>
-Werte unterstützen nun die Syntax für mehrfach positionierte Farbzwischenstopps, z.B. kannyellow 25%, yellow 50%
jetzt alsyellow 25% 50%
geschrieben werden (Firefox-Bug 1352643). - Die
text-transform
-Eigenschaft akzeptiert jetzt den Wertfull-size-kana
(Firefox-Bug 1498148). - Unterstützung für
-webkit-appearance
wurde hinzugefügt, um damit verbundene Webkompatibilitätsprobleme zu lindern (Firefox-Bug 1368555). - In enger Verbindung mit dem obigen Update haben wir zudem die meisten Firefox-spezifischen
-moz-appearance
-Werte entfernt (Firefox-Bug 1496720). display
:list-item
wird jetzt auf<legend>
-Elementen unterstützt (Firefox-Bug 1486602).- SVG
path()
s, wie inoffset-path
verwendbar, sind jetzt animierbar (Firefox-Bug 1486094). - Wenn eine Selektorenkette oder -gruppe ein
-webkit-
-präfixiertes Pseudoelement einschließt, macht dieses Pseudoelement sie nicht länger ungültig (siehe Firefox-Bug 1424106 für die Details und Firefox-Bug 1486325 für die Aktivierung dieser Funktion).
Entfernungen
- Die nicht-standardsmäßigen
-moz-box
und-moz-inline-box
display
-Werte wurden aus Web-Inhalten verborgen (Firefox-Bug 1496961). - Das nicht-standardsmäßige
::-moz-tree
Pseudo-Element wurde aus Web-Inhalten verborgen (Firefox-Bug 1496961). - Die Voreinstellung
layout.css.filters.enabled
wurde entfernt; CSS-Filter können nicht mehr deaktiviert werden (Firefox-Bug 1408841). - Eine frühere Änderung — um die Werte der 2-Werte-
overflow
-Syntax zu tauschen, sodass zuerst der Block und dann inline angegeben wird (Firefox-Bug 1481866) — wurde rückgängig gemacht (Firefox-Bug 1492567). Siehe Bug 1481866 Kommentar 14 für den Grund.
SVG
Keine Änderungen.
JavaScript
- Der TC39 Well-formed JSON.stringify-Vorschlag wurde implementiert, um zu verhindern, dass
JSON.stringify
schlecht geformte Unicode-Zeichenfolgen zurückgibt (Firefox-Bug 1469021). - Proxy-Funktionen können jetzt mit
Function.prototype.toString
verwendet werden (Firefox-Bug 1440468). - Im
WebAssembly.Global()
-Konstruktor wird ein typisierter Wert von 0 verwendet, wenn kein Wert angegeben ist. Dies wird durch denDefaultValue
-Algorithmus spezifiziert (Firefox-Bug 1490286).
APIs
DOM
-
Eine Reihe von Änderungen im Zusammenhang mit der Fullscreen-API wurden implementiert:
- Die API ist nun unprefixed (Firefox-Bug 1269276).
- Die Methoden
Element.requestFullscreen()
undDocument.exitFullscreen()
geben nun einPromise
zurück, das gelöst wird, wenn die Modusänderung abgeschlossen ist (Firefox-Bug 1188256 und Firefox-Bug 1491212). - Früher wurden
fullscreenchange
undfullscreenerror
-Ereignisse zuerst an dasDocument
gesendet und dann an dasElement
. Dies wurde umgekehrt, sodass das Element das Ereignis zuerst erhält. Dies entspricht der neuesten Spezifikation sowie dem Verhalten von Google Chrome (Firefox-Bug 1375319).
-
Die WebVR-API (1.1) ist jetzt unter macOS wieder aktiviert (Firefox-Bug 1476091).
-
Window.screenLeft
undWindow.screenTop
wurden implementiert, als Aliase vonWindow.screenX
undWindow.screenY
(Firefox-Bug 1498860). -
Die Methode
XMLHttpRequest.getAllResponseHeaders()
gibt jetzt alle Header-Namen in Kleinbuchstaben zurück, gemäß der Spezifikation (Firefox-Bug 1398718). -
Das Legacy-Interface
HTMLAllCollection
wurde gemäß der aktuellen Spezifikationsupdates aktualisiert (Firefox-Bug 1398354). -
Navigator.buildID
gibt jetzt aus Datenschutzgründen einen festen Zeitstempel zurück (Firefox-Bug 583181). -
Die folgenden
Document.execCommand()
-UI-Funktionalitätsbefehle wurden standardmäßig deaktiviert (Firefox-Bug 1490641):enableObjectResizing
enableInlineTableEditing
enableAbsolutePositionEditor
Service Workers
- Die Methode
ServiceWorkerContainer.startMessages()
wurde implementiert (Firefox-Bug 1263734).
Medien, Web Audio und WebRTC
- Die Eigenschaften
PannerNode.refDistance
,PannerNode.maxDistance
,PannerNode.rolloffFactor
undPannerNode.coneOuterGain
lösen nun korrekt Ausnahmen aus, wenn sie auf Werte außerhalb ihrer akzeptierten Bereiche gesetzt werden (Firefox-Bug 1487963). RTCRtpEncodingParameters
-Einstellungen, die überRTCRtpSender.setParameters()
geändert werden, wurden früher nicht aktualisiert, wenn die Änderungen während eines Anrufs vorgenommen wurden. Sie werden jetzt live aktualisiert, ohne eine erneute Verhandlung (Firefox-Bug 1253499).RTCIceCandidateStats.relayProtocol
wurde implementiert — dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport
, die jetzt veraltet ist (Firefox-Bug 1435789).- Die automatische Verstärkungsregelung (AGC) ist jetzt standardmäßig aktiviert; dies kann über die Präferenz
media.getusermedia.agc_enabled
geändert werden (Firefox-Bug 1496714).
Entfernungen
- Die
Window.event
-Eigenschaft, die in Firefox 63 hinzugefügt wurde, um Webkompatibilitätsprobleme zu unterstützen, wurde hinter eine Voreinstellung (dom.window.event.enabled
) gestellt und in den veröffentlichten Versionen vorerst deaktiviert, da andere Probleme entdeckt wurden (Firefox-Bug 1493869). Beachten Sie, dass dies eigentlich spät im Entwicklungszyklus von Firefox 63 gemacht wurde, aber wir erwähnen es hier nur für den Fall. - Das
LocalMediaStream
-Interface und seinestop()
-Methode wurden entfernt (Firefox-Bug 1258143). Diese Methode ist nicht mehr verfügbar mit der Abwertung vonLocalMediaStream
. Siehe den Abschnitt Stopping a video stream, um zu erfahren, wie man einen gesamten Stream stoppt. - Die Interfaces
AudioStreamTrack
undVideoStreamTrack
wurden entfernt, da beide seit einiger Zeit abgewertet sind (Firefox-Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
integriert; Tracks werden jetzt durch den Wert ihrerkind
-Eigenschaft identifiziert, wie zum Beispielaudio
odervideo
.
Sicherheit
- Der Symantec CA Distrust Plan wurde implementiert (siehe Firefox-Bug 1409257; siehe auch die Diskussion Mozilla's Plan for Symantec Roots für weitere Details).
Referrer-Policy
kann jetzt verwendet werden, um die über Stylesheets abgerufenen Ressourcen zu steuern (Firefox-Bug 1330487) — siehe Integration with CSS für weitere Informationen.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
- Veraltete Befehl-Endpunkte ohne das Präfix
Marionette:
,L10n:
oderAddon:
(einschließlichsingeTap
) wurden entfernt (Firefox-Bug 1504478, Firefox-Bug 1504940).
Fehlerkorrekturen
- Synthesized
Shift
-Tastereignisse unter Verwendung vonWebDriver:PerformActions
führten nicht zu Großbuchstaben (Firefox-Bug 1405370). WebDriver:Navigate
konnte einen unendlichen Hänger verursachen, wenn der zugrunde liegende Inhaltsprozess der Registerkarte während dieser Navigation mehrmals geändert wurde (Firefox-Bug 1504807).- Um die Leistung zu verbessern und die Speichernutzung von Firefox zu reduzieren, wird die Standardseite, die für einen neuen Tab oder ein neues Fenster geladen werden soll, nicht mehr
about:newtab
, sondernabout:blank
(Firefox-Bug 1506643). - Das Inhaltsblockierungs-Einführungspanel, das auf verschiedenen Webseiten angezeigt wurde und Interaktionen mit Elementen verhinderte, ist jetzt standardmäßig deaktiviert (Firefox-Bug 1488826).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
-
Eine neue API,
menus.overrideContext()
, kann aus demcontextmenu
-DOM-Ereignis aufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten zu setzen. Diese API ermöglicht es Erweiterungen, alle standardmäßigen Firefox-Menüpunkte zu verbergen, um eine benutzerdefinierte Kontextmenü-UI bereitzustellen. Dieses Kontextmenü kann aus mehreren obersten Menüelementen der Erweiterung bestehen und optional Registerkarten- oder Lesezeichen-Kontextmenüelemente aus anderen Erweiterungen umfassen. Siehe diesen Blogbeitrag für weitere Details.menus.overrideContext()
wurde implementiert in (Firefox-Bug 1280347).- Die Option
showDefaults: false
, die verwendet werden kann, um die standardmäßigen Kontextmenüoptionen zu verbergen, wurde implementiert in (Firefox-Bug 1367160). documentURLPatterns
kann jetzt verwendet werden, um einemoz-extension://
-Dokument-URL zu finden, auch wennmenus.overrideContext()
verwendet wird. Auf diese Weise kann es zuverlässig verwendet werden, um benutzerdefinierte Menüpunkte auf bestimmte Dokumente zu beschränken (Firefox-Bug 1498896).
-
Sie können nun einschränken, wo Kontextmenüs in einem Add-on erscheinen können, indem Sie die neue Eigenschaft
viewTypes
inmenus.create()
undmenus.update()
verwenden (Firefox-Bug 1416839). -
menus.update()
kann jetzt verwendet werden, um das Symbol eines bestehenden Menüpunkts zu aktualisieren (Firefox-Bug 1414566). -
Erweiterungen können jetzt erkennen, welcher Maustaste verwendet wurde, wenn ein Menüpunkt angeklickt wurde — dies kann über die neue
button
-Eigenschaft vonmenus.OnClickData
ermittelt werden (Firefox-Bug 1469148).
Fenster
- Die Methode
windows.create()
hat jetzt eine neue verfügbare Option —cookieStoreId
— die denCookieStoreId
angibt, der für alle zu erstellenden Tabs verwendet werden soll, wenn das Fenster geöffnet wird (Firefox-Bug 1393570).
Datenschutz
- Die
privacy.websites
-EigenschaftcookieConfig
ist ein Objekt, das einebehavior
-Eigenschaft akzeptieren kann — diese Eigenschaft kann jetzt einen neuen Wert annehmen,reject_trackers
, der die Erweiterung anweist, Tracking-Cookies abzulehnen (Firefox-Bug 1493057).
devtools.panels API
- Die Methode
devtools.panels.elements
Sidebar.setPage()
wird jetzt unterstützt (Firefox-Bug 1398734).
Manifeständerungen
- Die neue
pinned
-Eigenschaft despage_action
-Manifests schlüsselt, ob ihre Seitenelemente bei der Installation an die Adressleiste angeheftet werden sollen oder nicht (Firefox-Bug 1494135). - In nativen Manifests unter Windows wird die 32-Bit-Registry-Ansicht (Wow6432Node) zuerst nach Registry-Schlüsseln durchsucht, gefolgt von der "nativen" Registry-Ansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung geeignet ist (Firefox-Bug 1494709).
- Das Feld
chrome_settings_overrides
search_provider
kann jetzt neue Eigenschaften enthalten —suggest_url
undsuggest_url_post_params
(Firefox-Bug 1486819), undsearch_url_post_params
.
Siehe auch
- Hacks-Veröffentlichungsbeitrag: Firefox 64 Released