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
Entwickler-Tools
-
Die Accessibility-Info-Leiste wurde erweitert, um Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite einzuschließen (Firefox Bug 1473037).
-
Die Auswahl von Geräten im Responsive Design Mode wird jetzt zwischen den Sitzungen gespeichert (Firefox Bug 1248619).
-
Ressourcen, die potenziell von der Tracking-Protection betroffen sind, werden nun im Netzwerk-Monitor angezeigt (Firefox Bug 1333994).
-
Die Web-Konsole erhielt Verbesserungen beim Eingeben und Bewerten von Code:
- Die Autocomplete-Funktion für Konsolenausdrücke ist jetzt nicht mehr case-sensitiv (Firefox Bug 672733).
- Sie können nun durch den Verlauf der Konsolenausdrücke mit einer bash-ähnlichen Rückwärtssuche blättern (Firefox Bug 1024913).
- Bewerteter Code in der Konsole wird nun sowohl im Eingabe- als auch im Ausgabe-Bereich syntax-hervorgehoben (Firefox Bug 1463669).
-
Das Durchlaufen im JavaScript-Debugger wurde ebenfalls verbessert:
- Das Verlassen einer Funktion im Debugger überspringt jetzt den Rückgabewert (Firefox Bug 923975).
Entfernungen
- Die Developer Tools GCLI wurde entfernt (Firefox Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Spezifikationsfunktionalität von CSS Scrollbars wurde standardmäßig aktiviert (Firefox Bug 1492012).
- Medien-Interaktionsmerkmale implementiert, einschließlich
pointer:coarse
(Firefox Bug 1035774). Für die Implementierung vonany-pointer
undany-hover
siehe Firefox Bug 1483111. - Das Medienmerkmal
prefers-reduced-motion
wird jetzt in Firefox für Android unterstützt (Firefox Bug 1478505). - CSS
<gradient>
-Werte unterstützen jetzt Syntax für Farbunterbrechungen an mehreren Positionen, z. B.gelb 25%, gelb 50%
kann jetzt alsgelb 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
hinzugefügt, um damit verbundene Webkompatibilitätsprobleme zu entschärfen (Firefox Bug 1368555). - Im Zusammenhang mit dem vorherigen 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, sind jetzt animierbar (Firefox Bug 1486094). - Wenn eine Selektorkette oder -gruppe ein mit
-webkit-
-gekennzeichnetes Pseudoelement enthält, macht dieses Pseudoelement sie nicht mehr ungültig (siehe Firefox Bug 1424106 für weitere 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 ausgeblendet (Firefox Bug 1496961). - Das nicht standardmäßige
::-moz-tree
Pseudoelement wurde aus Webinhalten ausgeblendet (Firefox Bug 1496961). - Die
layout.css.filters.enabled
-Voreinstellung wurde entfernt; CSS-Filter können nicht mehr deaktiviert werden (Firefox Bug 1408841). - Eine vorherige Änderung – zum Austauschen der Werte der 2-Werte
overflow
-Syntax, damit der Block zuerst und inline als zweites 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
ungültige Unicode-Zeichenfolgen zurückgibt (Firefox Bug 1469021). - Proxied Funktionen können jetzt mit
Function.prototype.toString
verwendet werden (Firefox Bug 1440468). - Im
WebAssembly.Global()
Konstruktor wird ein getipptes 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 jetzt ohne Präfix (Firefox Bug 1269276).
- Die Methoden
Element.requestFullscreen()
undDocument.exitFullscreen()
geben beide jetzt einPromise
zurück, das aufgelöst wird, wenn die Modusänderung abgeschlossen ist (Firefox Bug 1188256 und Firefox Bug 1491212). - Bisher wurden
fullscreenchange
undfullscreenerror
Ereignisse zuerst an dasDocument
und dann an dasElement
gesendet. 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 auf 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 gemäß Spezifikation alle Header-Namen in Kleinbuchstaben zurück (Firefox Bug 1398718). -
Die veraltete
HTMLAllCollection
-Schnittstelle wurde gemäß der aktuellen Spezifikationsaktualisierungen aktualisiert (Firefox Bug 1398354). -
Navigator.buildID
gibt jetzt einen festen Zeitstempel aus Datenschutzgründen zurück (Firefox Bug 583181). -
Die folgenden
Document.execCommand()
UI-Funktion-Befehle 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 ihres zulässigen Bereichs gesetzt werden (Firefox Bug 1487963). RTCRtpEncodingParameters
Einstellungen, die überRTCRtpSender.setParameters()
geändert wurden, aktualisierten sich vorher nicht, wenn die Änderungen während eines Anrufs vorgenommen wurden. Sie werden jetzt live aktualisiert, ohne dass eine Neuverhandlung erforderlich ist (Firefox Bug 1253499).RTCIceCandidateStats.relayProtocol
wurde implementiert – dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport
, das jetzt als veraltet gilt (Firefox Bug 1435789).- Die automatische Lautstärkeregelung (AGC) ist jetzt standardmäßig aktiviert; dies kann mit der Voreinstellung
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
) platziert und ist in Freigabeversionen derzeit standardmäßig deaktiviert, aufgrund anderer entdeckter Probleme (Firefox Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Firefox 63 Release-Zyklus gemacht wurde, aber wir erwähnen es hier aus Sicherheitsgründen. - Die
LocalMediaStream
-Schnittstelle und ihrestop()
-Methode wurden entfernt (Firefox Bug 1258143). Diese Methode ist mit der Abschaffung vonLocalMediaStream
nicht mehr verfügbar. Lesen Sie im Abschnitt Ein Videostream stoppen nach, wie ein kompletter Stream gestoppt werden kann. - Die
AudioStreamTrack
- undVideoStreamTrack
-Schnittstellen wurden entfernt, da beide seit einiger Zeit als veraltet gelten (Firefox Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
integriert; Spuren werden jetzt durch den Wert ihrerkind
-Eigenschaft identifiziert, z. B.audio
odervideo
.
Sicherheit
- Der Symantec CA-Distrust-Plan wurde implementiert (siehe Firefox Bug 1409257; siehe auch die Diskussion über Mozilla's Plan für Symantec Roots für weitere Details).
Referrer-Policy
kann jetzt verwendet werden, um Ressourcen zu regeln, die über Stylesheets abgerufen werden (Firefox Bug 1330487) — siehe Integration mit CSS für weitere Informationen.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
- Die veralteten Befehl-Endpunkte ohne das Präfix
Marionette:
,L10n:
oderAddon:
(einschließlichsingeTap
) wurden entfernt (Firefox Bug 1504478, Firefox Bug 1504940).
Fehlerbehebungen
- Vom
WebDriver:PerformActions
synthetisierteShift
-Tastenereignisse resultierten nicht in großgeschriebenen Buchstaben (Firefox Bug 1405370). WebDriver:Navigate
konnte zu einem unendlichen Hängen führen, wenn der zugrunde liegende Inhaltsprozess der Registerkarte während der Navigation mehrmals geändert wurde (Firefox Bug 1504807).- Zur Verbesserung der Leistung und Reduzierung des Speicherverbrauchs von Firefox 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ührungsfenster für Inhaltsblocker, das auf verschiedenen Webseiten angezeigt wurde und das Interaktionen mit Elementen scheitern ließ, ist jetzt standardmäßig deaktiviert (Firefox Bug 1488826).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
-
Eine neue API,
menus.overrideContext()
, kann vomcontextmenu
-DOM-Ereignis aus aufgerufen werden, um ein benutzerdefiniertes Kontextmenü in Erweiterungsseiten festzulegen. Diese API ermöglicht es Erweiterungen, alle Standard-Menüpunkte von Firefox auszublenden, um eine benutzerdefinierte Kontextmenüoberfläche bereitzustellen. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und optional Registerkarten- oder Lesezeichen-Kontextmenüeinträge von anderen Erweiterungen enthalten. Weitere Details finden Sie in diesem Blogbeitrag.menus.overrideContext()
wurde implementiert in (Firefox Bug 1280347).- Die
showDefaults: false
-Option, die verwendet werden kann, um die Standardkontextmenüoptionen auszublenden, wurde implementiert in (Firefox Bug 1367160). documentURLPatterns
können jetzt verwendet werden, um einemoz-extension://
-Dokument-URL zu übereinstimmen, selbst wennmenus.overrideContext()
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).
-
Sie können nun einschränken, wo Kontextmenüs in einem Add-on erscheinen können, indem Sie die neue
viewTypes
-Eigenschaft inmenus.create()
undmenus.update()
verwenden (Firefox Bug 1416839). -
menus.update()
kann jetzt verwendet werden, um das Symbol eines vorhandenen Menüeintrags zu aktualisieren (Firefox Bug 1414566). -
Erweiterungen können jetzt erkennen, welche Maustaste verwendet wurde, wenn auf einen Menüpunkt geklickt wurde — dies kann über die neue
button
-Eigenschaft vonmenus.OnClickData
herausgefunden werden (Firefox Bug 1469148).
Fenster
- Die Methode
windows.create()
hat jetzt eine neue verfügbare Option —cookieStoreId
, die dieCookieStoreId
angibt, die für alle Tabs verwendet werden soll, die geöffnet werden, 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 ermöglicht es Erweiterungen zu steuern, ob ihre Page-Aktionen beim Installieren an die Adressleiste angeheftet werden sollen oder nicht (Firefox Bug 1494135). - In nativen Manifests unter Windows wird zuerst der 32-bit Registrierungsansichts (Wow6432Node) nach Registrierungsschlüsseln überprüft, gefolgt von der "nativen" Registrierungsansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung geeignet ist (Firefox Bug 1494709).
- Das
chrome_settings_overrides
-Feldsearch_provider
objekt kann jetzt neue Eigenschaften beinhalten —suggest_url
undsuggest_url_post_params
(Firefox Bug 1486819), undsearch_url_post_params
.
Siehe auch
- Hacks Release-Beitrag: 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