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
Entwicklertools
-
Die Accessibility-Infoleiste wurde erweitert, um Informationen über das Farbkontrastverhältnis von Texten 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 Protection betroffen sind, werden jetzt im Network Monitor angezeigt (Firefox Bug 1333994).
-
Die Web-Konsole hat Verbesserungen beim Eingeben und Auswerten von Code erhalten:
- Autocomplete für Konsolenausdrücke ist jetzt nicht mehr case-sensitiv (Firefox Bug 672733).
- Sie können jetzt mit einer bash-ähnlichen Rückwärtssuche durch den Verlauf der Konsolenausdrücke navigieren (Firefox Bug 1024913).
- Ausgewerteter Code in der Konsole wird jetzt sowohl in der Eingabe als auch in der Ausgabe syntaxhervorgehoben (Firefox Bug 1463669).
-
Schritte im JavaScript-Debugger haben ebenfalls einige Verbesserungen erhalten:
- Beim Aussteigen aus einer Funktion im Debugger wird jetzt der Rückgabewert übersprungen (Firefox Bug 923975).
Entfernungen
- Die GCLI Entwickler-Tools wurden entfernt (Firefox Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Funktionalität der CSS Scrollbars Spezifikation ist nun standardmäßig aktiviert (Firefox Bug 1492012).
- Umgesetzte Interaktions-Media-Features, 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 jetzt die Syntax für Multipositions-Farbstopps, z.B.yellow 25%, yellow 50%
kann jetzt alsyellow 25% 50%
geschrieben werden (Firefox Bug 1352643). - Die Eigenschaft
text-transform
akzeptiert jetzt den Wertfull-size-kana
(Firefox Bug 1498148). - Unterstützung für
-webkit-appearance
wurde hinzugefügt, um damit verbundene Web-Kompatibilitätsprobleme zu lindern (Firefox Bug 1368555). - In enger Verbindung mit dem obigen Update haben wir auch die meisten Firefox-spezifischen
-moz-appearance
-Werte entfernt (Firefox Bug 1496720). display
:list-item
wird jetzt für<legend>
-Elemente 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 länger ungültig machen (siehe Firefox Bug 1424106 für 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 Web-Inhalten ausgeblendet (Firefox Bug 1496961). - Das nicht standardmäßige
::-moz-tree
Pseudo-Element wurde aus Web-Inhalten ausgeblendet (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-Wert
overflow
-Syntax zu vertauschen, sodass Block zuerst und Inline zweiter angegeben wird (Firefox Bug 1481866) — wurde zurückgesetzt (Firefox Bug 1492567). Siehe Bug 1481866 Kommentar 14, um zu verstehen, warum.
SVG
Keine Änderungen.
JavaScript
- Der TC39-Vorschlag Well-formed JSON.stringify wurde umgesetzt, um zu verhindern, dass
JSON.stringify
fehlerhaft formatierte Unicode-Strings zurückgibt (Firefox Bug 1469021). - Proxiet-Funktionen können jetzt an
Function.prototype.toString
.call()
übergeben werden (Firefox Bug 1440468). - Im
WebAssembly.Global()
Konstruktor wird, wenn kein Wert angegeben ist, 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 einPromise
zurück, das aufgelöst wird, wenn der Moduswechsel abgeschlossen ist (Firefox Bug 1188256 und Firefox Bug 1491212). - Zuvor wurden
fullscreenchange
undfullscreenerror
-Ereignisse zuerst an dasDocument
und anschließend an dasElement
gesendet. Dies wurde umgekehrt, sodass jetzt 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 und sind Aliase fürWindow.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 veraltete
HTMLAllCollection
-Interface wurde gemäß den letzten Spezifikationsänderungen aktualisiert (Firefox Bug 1398354). -
Navigator.buildID
gibt jetzt einen festen Zeitstempel als Datenschutzmaßnahme zurück (Firefox Bug 583181). -
Die folgenden
Document.execCommand()
UI-Feature-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 ihrer akzeptierten Bereiche gesetzt werden (Firefox Bug 1487963). RTCRtpEncodingParameters
-Einstellungen, die überRTCRtpSender.setParameters()
geändert wurden, wurden früher nicht aktualisiert, wenn die Änderungen während eines Anrufs vorgenommen wurden. Sie werden jetzt live ohne Neuverhandlungen aktualisiert (Firefox Bug 1253499).RTCIceCandidateStats.relayProtocol
wurde implementiert — dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport
, das jetzt veraltet ist (Firefox Bug 1435789).- Automatische Verstärkungsregelung (AGC) ist jetzt standardmäßig aktiviert; dies kann mithilfe der Voreinstellung
media.getusermedia.agc_enabled
geändert werden (Firefox Bug 1496714).
Entfernungen
- Die Eigenschaft
Window.event
, die in Firefox 63 zur Unterstützung von Web-Kompatibilitätsproblemen hinzugefügt wurde, wurde hinter einer Voreinstellung (dom.window.event.enabled
) abgelegt und ist jetzt in Release-Versionen standardmäßig deaktiviert wegen anderer festgestellter Probleme (Firefox Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Veröffentlichungszyklus von Firefox 63 gemacht wurde, aber wir erwähnen es hier nur zur Sicherheit. - Das
LocalMediaStream
-Interface und seinestop()
-Methode wurden entfernt (Firefox Bug 1258143). Diese Methode ist mit der Außerkraftsetzung vonLocalMediaStream
nicht mehr verfügbar. Siehe den Abschnitt Stopping a video stream, um zu erfahren, wie man einen gesamten Stream stoppt. - Die
AudioStreamTrack
- undVideoStreamTrack
-Interfaces wurden entfernt, da beide seit einiger Zeit veraltet sind (Firefox Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
integriert; Tracks werden jetzt anhand des Werts ihrerkind
-Eigenschaft identifiziert, z. B.audio
odervideo
.
Sicherheit
- Der Symantec CA Misstrauensplan wurde umgesetzt (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 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
- Veraltete Befehlsendpunkte ohne das Präfix
Marionette:
,L10n:
oderAddon:
(einschließlichsingeTap
) wurden entfernt (Firefox Bug 1504478, Firefox Bug 1504940).
Fehlerbehebungen
- Synthesizerte
Shift
-Tasteereignisse überWebDriver:PerformActions
führten nicht zu Großbuchstaben (Firefox Bug 1405370). WebDriver:Navigate
konnte zu einem unendlichen Hängen führen, wenn der zugrunde liegende Inhaltsprozess des Tabs während dieser Navigation mehrfach geändert wurde (Firefox Bug 1504807).- Zur Verbesserung der Leistung und um den Speicherbedarf von Firefox zu verringern, 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 Content-Blocking-Einführungspanel, das auf verschiedenen Webseiten angezeigt wurde und dazu führte, dass Elementinteraktionen fehlschlugen, ist jetzt standardmäßig deaktiviert (Firefox Bug 1488826).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
-
Eine neue API,
, kann vommenus.overrideContext()
contextmenu
-DOM-Ereignis aus aufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten festzulegen. Diese API ermöglicht es Erweiterungen, alle Standardmenüeinträge von Firefox auszublenden, um eine benutzerdefinierte Kontextmenü-Benutzeroberfläche bereitzustellen. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und optional Tab- oder Lesezeichenkontextmenüeinträge anderer Erweiterungen enthalten. Siehe diesen Blogpost für mehr Details.
wurde in (Firefox Bug 1280347) implementiert.menus.overrideContext()
- Die Option
showDefaults: false
, die verwendet werden kann, um die Standardkontextmenüoptionen auszublenden, wurde in (Firefox Bug 1367160) implementiert. documentURLPatterns
kann jetzt verwendet werden, um einemoz-extension://
-Dokumenten-URL zu matchen, auch wenn
verwendet wird. So kann sie zuverlässig genutzt werden, um benutzerdefinierte Menüpunkte 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 Icon eines bestehenden Menüeintrags zu aktualisieren (Firefox Bug 1414566). -
Erweiterungen können jetzt erkennen, welche Maustaste benutzt wurde, als ein Menüeintrag angeklickt wurde — dies kann über die neue
button
Eigenschaft vonmenus.OnClickData
herausgefunden werden (Firefox Bug 1469148).
Windows
- Die Methode
windows.create()
hat jetzt eine neue verfügbare Option —cookieStoreId
— die dieCookieStoreId
angibt, die für alle Tabs verwendet werden soll, die beim Öffnen des Fensters erstellt werden (Firefox Bug 1393570).
Privatsphäre
- 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
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 Manifesten unter Windows wird zuerst die 32-Bit-Registry-Ansicht (Wow6432Node) auf Registrierungsschlüssel überprüft, gefolgt von der "nativen" Registry-Ansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung angemessen ist (Firefox Bug 1494709).
- Das
chrome_settings_overrides
Feldsearch_provider
kann jetzt neue Eigenschaften enthalten —suggest_url
undsuggest_url_post_params
(Firefox Bug 1486819) sowiesearch_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