Firefox 64 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 64, die Entwickler betreffen. Firefox 64 wurde am 11. Dezember 2018 veröffentlicht.
Änderungen für Webentwickler
Entwicklerwerkzeuge
-
Die Accessibility Info-Bar wurde verbessert und enthält nun Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite (Firefox Bug 1473037).
-
Die Geräteauswahl im Responsive Design Mode wird nun zwischen Sitzungen gespeichert (Firefox Bug 1248619).
-
Ressourcen, die potenziell von der Tracking Protection betroffen sind, werden jetzt im Netzwerkmonitor angezeigt (Firefox Bug 1333994).
-
Die Webkonsole hat Verbesserungen beim Eingeben und Auswerten von Code erhalten:
- Die Autovervollständigung für Konsolenausdrücke ist nun nicht mehr auf Groß-/Kleinschreibung angewiesen (Firefox Bug 672733).
- Sie können jetzt durch den Konsolenausdrucksverlauf mit bash-ähnlicher Rückwärtssuche durchgehen (Firefox Bug 1024913).
- Ausgewerteter Code in der Konsole wird jetzt sowohl im Eingabe- als auch im Ausgabebereich syntaxhervorgehoben (Firefox Bug 1463669).
-
Das Schrittverhalten im JavaScript Debugger wurde ebenfalls verbessert:
- Aus einer Funktion heraustreten im Debugger überspringt nun den Rückgabewert (Firefox Bug 923975).
Entfernungen
- Die GCLI der Entwicklerwerkzeuge wurde entfernt (Firefox Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Spezifikationsfunktionalität von CSS Scrollbars wurde standardmäßig aktiviert (Firefox Bug 1492012).
- Interaktions-Medienfunktionen wie
pointer:coarse
wurden implementiert (Firefox Bug 1035774). Für die Implementierungen vonany-pointer
undany-hover
siehe Firefox Bug 1483111. - Die Medienfunktion
prefers-reduced-motion
wird jetzt in Firefox für Android unterstützt (Firefox Bug 1478505). - CSS
<gradient>
Werte unterstützen jetzt Multi-Positions-Farbstoppsyntax, z. B. kannyellow 25%, yellow 50%
nun alsyellow 25% 50%
geschrieben werden (Firefox Bug 1352643). - Die Eigenschaft
text-transform
akzeptiert nun 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). - Im Zusammenhang mit dem obigen Update haben wir auch 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 sie inoffset-path
verwendet werden können, sind jetzt animierbar (Firefox Bug 1486094). - Wenn eine Selektorkette oder Gruppe ein
-webkit-
präfixiertes Pseudo-Element enthält, wird dieses Pseudo-Element die Kette nicht mehr ungültig machen. (Siehe Firefox Bug 1424106 für die Details und Firefox Bug 1486325 für die Aktivierung dieser Funktion).
Entfernungen
- Die nicht standardmäßigen
-moz-box
und-moz-inline-box
display
Werte wurden aus Webinhalten entfernt (Firefox Bug 1496961). - Das nicht standardmäßige
::-moz-tree
Pseudo-Element wurde aus Webinhalten entfernt (Firefox Bug 1496961). - Die
layout.css.filters.enabled
Voreinstellung wurde entfernt; CSS Filter können nicht mehr deaktiviert werden (Firefox Bug 1408841). - Eine frühere Änderung - das Vertauschen der Werte der 2-Werte-
overflow
-Syntax, sodass Block zuerst und Inline an zweiter Stelle angegeben wird (Firefox Bug 1481866) - wurde zurückgesetzt (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 formatierte Unicode-Strings zurückgibt (Firefox Bug 1469021). - Proxied-Funktionen können jetzt an
Function.prototype.toString
.call()
übergeben werden (Firefox Bug 1440468). - Im Konstruktor
WebAssembly.Global()
wird, wenn kein Wert angegeben wird, ein typisierte 0-Wert verwendet. 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 ohne Präfix (Firefox Bug 1269276).
- Die Methoden
Element.requestFullscreen()
undDocument.exitFullscreen()
geben jetzt beide einPromise
zurück, das aufgelöst wird, wenn der Moduswechsel abgeschlossen ist (Firefox Bug 1188256 und Firefox Bug 1491212). - Zuvor wurden
fullscreenchange
undfullscreenerror
Events zuerst an dasDocument
und dann an dasElement
gesendet. Dies wurde umgekehrt, sodass das Element das Event zuerst erhält. Dies entspricht der neuesten Spezifikation sowie dem Verhalten von Google Chrome (Firefox Bug 1375319).
-
Die WebVR API (1.1) ist nun auf macOS reaktiviert (Firefox Bug 1476091).
-
Window.screenLeft
undWindow.screenTop
wurden als Aliase vonWindow.screenX
undWindow.screenY
implementiert (Firefox Bug 1498860). -
Die Methode
XMLHttpRequest.getAllResponseHeaders()
gibt jetzt alle Headernamen in Kleinbuchstaben zurück, entsprechend der Spezifikation (Firefox Bug 1398718). -
Die Legacy-
HTMLAllCollection
Schnittstelle wurde gemäß den jüngsten Spezifikationsaktualisierungen aktualisiert (Firefox Bug 1398354). -
Navigator.buildID
gibt jetzt einen festen Zeitstempel als Datenschutzmaßnahme zurück (Firefox Bug 583181). -
Die folgenden
Document.execCommand()
UI-Funktionen 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
werfen jetzt korrekt Ausnahmen, wenn sie auf Werte außerhalb ihrer akzeptierten Bereiche gesetzt werden (Firefox Bug 1487963). RTCRtpEncodingParameters
Einstellungen, die überRTCRtpSender.setParameters()
geändert wurden, aktualisierten sich früher nicht, wenn die Änderungen während eines Anrufs vorgenommen wurden. Sie werden jetzt live aktualisiert, ohne Neuverhandlung (Firefox Bug 1253499).RTCIceCandidateStats.relayProtocol
wurde implementiert — dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport
, die nun veraltet ist (Firefox Bug 1435789).- Die automatische Verstärkungsregelung (AGC) ist nun standardmäßig aktiviert; dies kann mit der Einstellung
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 beheben, wurde hinter einer Voreinstellung (dom.window.event.enabled
) versteckt und in Freigabeverionen vorerst deaktiviert, da andere Probleme aufgetaucht sind (Firefox Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Firefox 63-Freigabezyklus geschah, aber wir erwähnen es hier nur zur Sicherheit. - Die
LocalMediaStream
Schnittstelle und ihrestop()
Methode wurden entfernt (Firefox Bug 1258143). Diese Methode ist mit der Abwertung vonLocalMediaStream
nicht mehr verfügbar. Siehe den Abschnitt Ein Video-Stream stoppen, um zu erfahren, wie Sie einen gesamten Stream stoppen können. - Die
AudioStreamTrack
undVideoStreamTrack
Schnittstellen wurden entfernt, da beide seit einiger Zeit veraltet sind (Firefox Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
integriert; Spuren werden jetzt anhand des Wertes ihrerkind
Eigenschaft identifiziert, z. B.audio
odervideo
.
Sicherheit
- Der Symantec CA Distrust-Plan wurde implementiert (siehe Firefox Bug 1409257; siehe auch die Mozilla's Plan for Symantec Roots Diskussion für weitere Details).
Referrer-Policy
kann jetzt verwendet werden, um Ressourcen zu regulieren, die über Stylesheets abgerufen werden (Firefox Bug 1330487) — für weitere Informationen siehe Integration mit CSS.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
- Veraltete Befehlsendpunkte ohne das Präfix
Marionette:
,L10n:
oderAddon:
(einschließlichsingeTap
) wurden entfernt (Firefox Bug 1504478, Firefox Bug 1504940).
Fehlerbehebungen
- Durch synthetisierte
Shift
Tastenevents mitWebDriver:PerformActions
wurden keine Großbuchstaben erzeugt (Firefox Bug 1405370). WebDriver:Navigate
konnte zu einem unendlichen Hängen führen, wenn der zugrunde liegende Inhaltprozess des Tabs während dieser Navigation mehrmals geändert wird (Firefox Bug 1504807).- Um die Leistung zu verbessern und den Speicherbedarf von Firefox zu reduzieren, ist die Standardseite, die für einen neuen Tab oder ein neues Fenster geladen wird, nicht mehr
about:newtab
, sondernabout:blank
(Firefox Bug 1506643). - Das Einführungsfeld für Inhaltsblockierung, das auf verschiedenen Webseiten angezeigt wurde und zu fehlerhaften Elementeinteraktionen führte, ist jetzt standardmäßig deaktiviert (Firefox Bug 1488826).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
-
Eine neue API,
, kann aus dem DOM-Ereignismenus.overrideContext()
contextmenu
aufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten festzulegen. Diese API ermöglicht es Erweiterungen, alle standardmäßigen Firefox-Menüelemente zu verbergen, um eine benutzerdefinierte Kontextmenü-Benutzeroberfläche bereitzustellen. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und kann optional Registerkarten- oder Lesezeichen-Kontextmenüeinträge von anderen Erweiterungen enthalten. Siehe diesen Blogeintrag für weitere Details.
wurde in (Firefox Bug 1280347) implementiert.menus.overrideContext()
- Die Option
showDefaults: false
, die verwendet werden kann, um die standardmäßigen Kontextmenüoptionen zu verbergen, wurde in (Firefox Bug 1367160) implementiert. documentURLPatterns
kann jetzt verwendet werden, um einemoz-extension://
Dokument-URL zu entsprechen, selbst wenn
verwendet wird. Auf diese Weise kann es zuverlässig verwendet werden, um benutzerdefinierte Menüeinträge auf bestimmte Dokumente zu beschränken (Firefox Bug 1498896).menus.overrideContext()
-
Sie können jetzt 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 vorhandenen Menüelements zu aktualisieren (Firefox Bug 1414566). -
Erweiterungen können jetzt erkennen, welche Maustaste verwendet wurde, als ein Menüelement angeklickt wurde — dies kann mit der neuen
button
-Eigenschaft vonmenus.OnClickData
ermittelt werden (Firefox Bug 1469148).
Windows
- Die Methode
windows.create()
hat jetzt eine neue verfügbare Option —cookieStoreId
—, die angibt, welcheCookieStoreId
für alle Tabs verwendet werden soll, die beim Öffnen des Fensters erstellt wurden (Firefox Bug 1393570).
Datenschutz
- Die Eigenschaft
cookieConfig
vonprivacy.websites
ist ein Objekt, das einebehavior
-Eigenschaft akzeptieren kann — diese Eigenschaft kann nun 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
Manifest-Schlüssels ermöglicht es Erweiterungen zu steuern, ob ihre Seitenaktionen beim Installieren an die Adressleiste angeheftet werden sollen oder nicht (Firefox Bug 1494135). - In nativen Manifests auf Windows wird zuerst die 32-Bit-Registrierungsansicht (Wow6432Node) für Registrierungsschlüssel geprüft, gefolgt von der "nativen" Registrierungsansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung geeignet ist (Firefox Bug 1494709).
- Das
chrome_settings_overrides
Feld deschrome_settings_overrides
Feld kann jetzt neue Eigenschaften enthalten —suggest_url
undsuggest_url_post_params
(Firefox Bug 1486819), undsearch_url_post_params
.
Siehe auch
- Hacks-Veröffentlichungspost: Firefox 64 Released
Ältere Versionen
- Firefox 63 für Entwickler
- Firefox 62 für Entwickler
- Firefox 61 für Entwickler
- Firefox 60 für Entwickler
- Firefox 59 für Entwickler
- Firefox 58 für Entwickler
- Firefox 57 für Entwickler
- Firefox 56 für Entwickler
- Firefox 55 für Entwickler
- Firefox 54 für Entwickler
- Firefox 53 für Entwickler
- Firefox 52 für Entwickler
- Firefox 51 für Entwickler
- Firefox 50 für Entwickler
- Firefox 49 für Entwickler
- Firefox 48 für Entwickler
- Firefox 47 für Entwickler
- Firefox 46 für Entwickler
- Firefox 45 für Entwickler
- Firefox 44 für Entwickler
- Firefox 43 für Entwickler
- Firefox 42 für Entwickler
- Firefox 41 für Entwickler
- Firefox 40 für Entwickler
- Firefox 39 für Entwickler
- Firefox 38 für Entwickler
- Firefox 37 für Entwickler
- Firefox 36 für Entwickler
- Firefox 35 für Entwickler
- Firefox 34 für Entwickler
- Firefox 33 für Entwickler