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 Barrierefreiheits-Infobar wurde erweitert, um Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite anzuzeigen (Firefox Bug 1473037).
-
Die Geräteauswahl im Responsive Design Mode wird nun zwischen Sitzungen gespeichert (Firefox Bug 1248619).
-
Ressourcen, die potenziell von Tracking-Schutz betroffen sind, werden jetzt im Netzwerkmonitor angezeigt (Firefox Bug 1333994).
-
Die Web-Konsole hat Verbesserungen beim Eingeben und Auswerten von Code erhalten:
- Die Autovervollständigung für Konsole-Ausdrücke ist jetzt nicht mehr groß-/kleinschreibungsabhängig (Firefox Bug 672733).
- Sie können jetzt durch die Konsole-Ausdruckshistorie mit einer bash-artigen Rückwärtssuche navigieren (Firefox Bug 1024913).
- Ausgewerteter Code in der Konsole wird nun sowohl im Eingabefeld als auch im Ausgabefeld syntaxgehöht (Firefox Bug 1463669).
-
Das Debuggen im JavaScript-Debugger wurde ebenfalls verbessert:
- Das Verlassen einer Funktion im Debugger überspringt jetzt den Rückgabewert (Firefox Bug 923975).
Entfernte Funktionen
- Die Entwicklerwerkzeuge GCLI wurden entfernt (Firefox Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die CSS Scrollbars Spezifikation ist jetzt standardmäßig aktiviert (Firefox Bug 1492012).
- Die Interaktions-Media-Features, einschließlich
pointer:coarse
, wurden implementiert (Firefox Bug 1035774). Für die Implementierung vonany-pointer
undany-hover
siehe Firefox Bug 1483111. - Das
prefers-reduced-motion
Media-Feature wird nun in Firefox für Android unterstützt (Firefox Bug 1478505). - CSS
<gradient>
Werte unterstützen jetzt die Syntax für Mehrfach-Positionierungsfarbstopps, z.B. kannyellow 25%, yellow 50%
jetzt alsyellow 25% 50%
geschrieben werden (Firefox Bug 1352643). - Die
text-transform
Eigenschaft akzeptiert nun den Wertfull-size-kana
(Firefox Bug 1498148). - Unterstützung hinzugefügt für
-webkit-appearance
, um damit verbundene Webkompatibilitätsprobleme zu mildern (Firefox Bug 1368555). - Eng verbunden 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, sind jetzt animierbar (Firefox Bug 1486094). - Wenn eine Selektorkette oder Gruppe ein
-webkit-
-präfixiertes Pseudo-Element einschließt, entwertet dieses Pseudo-Element die Kette oder Gruppe nicht mehr (siehe Firefox Bug 1424106 für Details, und Firefox Bug 1486325 für die Aktivierung dieser Funktion).
Entfernte Funktionen
- Die nicht-standardisierten
-moz-box
und-moz-inline-box
display
Werte wurden aus Webinhalten ausgeblendet (Firefox Bug 1496961). - Das nicht-standardisierte
::-moz-tree
Pseudo-Element wurde aus Webinhalten ausgeblendet (Firefox Bug 1496961). - Die
layout.css.filters.enabled
Einstellung wurde entfernt; CSS-Filter können nicht mehr deaktiviert werden (Firefox Bug 1408841). - Eine vorherige Änderung — die Werte der 2-Werte
overflow
Syntax zu tauschen, so dass der Block zuerst und der Inline-Zweite angegeben wird (Firefox Bug 1481866) — wurde rückgängig gemacht (Firefox Bug 1492567). Siehe Bug 1481866 Kommentar 14 für die Begründung.
SVG
Keine Änderungen.
JavaScript
- Der TC39 Gut-geformte JSON.stringify Vorschlag wurde umgesetzt, um zu verhindern, dass
JSON.stringify
falsch-geformte Unicode-Zeichenketten zurückgibt (Firefox Bug 1469021). - Proxied-Funktionen können jetzt an
Function.prototype.toString
.call()
übergeben werden (Firefox Bug 1440468). - In dem
WebAssembly.Global()
Konstruktor wird bei keiner angegebenen Wert ein typisierter 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 umgesetzt:
- 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 Modiwechsel abgeschlossen ist (Firefox Bug 1188256 und Firefox Bug 1491212). - Zuvor wurden
fullscreenchange
undfullscreenerror
Ereignisse zuerst an dasDocument
und dann an dasElement
gesendet. Dies wurde umgedreht, damit das Element zuerst das Ereignis erhält. Dies entspricht der neuesten Spezifikation sowie dem Verhalten von Google Chrome (Firefox Bug 1375319).
-
Die WebVR API (1.1) ist jetzt wieder in macOS aktiviert (Firefox Bug 1476091).
-
Window.screenLeft
undWindow.screenTop
wurden implementiert, als Aliase fürWindow.screenX
undWindow.screenY
(Firefox Bug 1498860). -
Die Methode
XMLHttpRequest.getAllResponseHeaders()
gibt nun Header-Namen alle in Kleinbuchstaben zurück, gemäß Spezifikation (Firefox Bug 1398718). -
Das veraltete
HTMLAllCollection
Interface wurde gemäß den letzten Spezifikations-Updates aktualisiert (Firefox Bug 1398354). -
Navigator.buildID
gibt jetzt einen festen Zeitstempel als Maßnahme zum Schutz der Privatsphäre zurück (Firefox Bug 583181). -
Die folgenden
Document.execCommand()
UI-Funktionsbefehle 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 akzeptierten Bereichs gesetzt werden (Firefox Bug 1487963). - Einstellungen des
RTCRtpEncodingParameters
, die überRTCRtpSender.setParameters()
geändert wurden, aktualisierten sich bisher nicht, wenn Ä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
, welche nun veraltet ist (Firefox Bug 1435789).- Automatische Lautstärkeanpassung (AGC) ist jetzt standardmäßig aktiviert; dies kann über die Einstellung
media.getusermedia.agc_enabled
geändert werden (Firefox Bug 1496714).
Entfernte Funktionen
- Die
Window.event
Eigenschaft, die in Firefox 63 hinzugefügt wurde, um Webkompatibilitätsprobleme zu lösen, wurde hinter einer Einstellungsoption (dom.window.event.enabled
) versteckt und in Release-Versionen vorerst standardmäßig deaktiviert, aufgrund anderer aufgedeckter Probleme (Firefox Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Firefox 63 Release-Zyklus geschehen ist, aber wir erwähnen es hier aus Sicherheitsgründen. - Das
LocalMediaStream
Interface und seinestop()
Methode wurden entfernt (Firefox Bug 1258143). Diese Methode ist mit der Veraltung vonLocalMediaStream
nicht mehr verfügbar. Sehen Sie sich den Abschnitt Beenden eines Videostreams an, um zu erfahren, wie man einen gesamten Stream stoppt. - Die Interfaces
AudioStreamTrack
undVideoStreamTrack
wurden entfernt, da beide seit einiger Zeit veraltet sind (Firefox Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
integriert; Tracks werden jetzt durch den Wert ihrerkind
Eigenschaft, wieaudio
odervideo
, identifiziert.
Sicherheit
- Der Symantec CA Distrust Plan wurde umgesetzt (siehe Firefox Bug 1409257; siehe auch die Mozilla's Plan for Symantec Roots Diskussion für mehr Details).
Referrer-Policy
kann jetzt verwendet werden, um über Stylesheets abgerufene Ressourcen zu steuern (Firefox Bug 1330487) — siehe Integration mit CSS für weitere Informationen.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
- Abgeleitete Befehls-Endpunkte ohne das Präfix
Marionette:
,L10n:
, oderAddon:
(einschließlichsingeTap
) wurden entfernt (Firefox Bug 1504478, Firefox Bug 1504940).
Fehlerbehebungen
- Synthesizierte
Shift
-Tastendrücke mittelsWebDriver:PerformActions
ergaben keine großgeschriebenen Buchstaben (Firefox Bug 1405370). WebDriver:Navigate
könnte einen unendlichen Stillstand verursachen, wenn sich der zugrundeliegende Inhalt des Tabs während der Navigation mehrfach änderte (Firefox Bug 1504807).- Zur Verbesserung der Leistung und zur Reduzierung des Speicherbedarfs 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 Inhaltsblockierungs-Einführungsfeld, das auf verschiedenen Webseiten angezeigt wurde und Elementinteraktionen zum Scheitern brachte, 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 aufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten einzustellen. Diese API ermöglicht es Erweiterungen, alle Standard-Firefox-Menüelemente auszublenden, um eine benutzerdefinierte Kontextmenü-Benutzeroberfläche bereitzustellen. Dieses Kontextmenü kann aus mehreren übergeordneten Menüelementen der Erweiterung bestehen und kann optional auch Tab- oder Lesezeichen-Kontextmenüelemente aus anderen Erweiterungen einschließen. 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 Standard-Kontextmenüoptionen auszublenden, wurde implementiert in (Firefox Bug 1367160). documentURLPatterns
kann jetzt verwendet werden, um einmoz-extension://
Dokument-URL zu matchen, auch wennmenus.overrideContext()
verwendet wird. Auf diese Weise kann es zuverlässig verwendet werden, um benutzerdefinierte Menüelemente auf bestimmte Dokumente zu beschränken (Firefox Bug 1498896).
-
Sie können jetzt 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 Icon eines bestehenden Menüelements zu aktualisieren (Firefox Bug 1414566). -
Erweiterungen können jetzt erkennen, welcher Mausbutton verwendet wurde, als ein Menüelement geklickt wurde — dies kann über die neue
button
Eigenschaft vonmenus.OnClickData
abgerufen werden (Firefox Bug 1469148).
Fenster
- Die Methode
windows.create()
hat jetzt eine neue verfügbare Option —cookieStoreId
— die denCookieStoreId
angibt, der für alle Tabs verwendet werden soll, die beim Öffnen des Fensters erstellt wurden (Firefox Bug 1393570).
Datenschutz
- Die
privacy.websites
cookieConfig
Eigenschaft ist ein Objekt, das einebehavior
Eigenschaft akzeptieren kann — diese Eigenschaft kann jetzt einen neuen Wert übernehmen,reject_trackers
, der die Erweiterung anweist, Tracking-Cookies abzulehnen (Firefox Bug 1493057).
devtools.panels API
- Die
devtools.panels.elements
MethodeSidebar.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 bei der Installation an die Adressleiste angeheftet werden sollen oder nicht (Firefox Bug 1494135). - In nativen Manifests auf Windows wird zuerst die 32-Bit-Registry-Ansicht (Wow6432Node) für Registry-Schlüssel überprüft, gefolgt von der "nativen" Registry-Ansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung angemessen ist (Firefox Bug 1494709).
- Das Feld
chrome_settings_overrides
search_provider
Objekt kann jetzt neue Eigenschaften enthalten —suggest_url
undsuggest_url_post_params
(Firefox Bug 1486819), undsearch_url_post_params
.
Siehe auch
- Hacks-Release-Post: 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