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 Zugänglichkeits-Infobar wurde erweitert und enthält nun Informationen über das Farbkontrastverhältnis von Texten oder Bildern auf der Seite (Firefox Bug 1473037).
-
Die Geräteliste vom Responsive Design Mode wird jetzt zwischen Sitzungen gespeichert (Firefox Bug 1248619).
-
Im Netzwerk-Monitor werden nun Ressourcen angezeigt, die potenziell von der Tracking-Schutz betroffen sind (Firefox Bug 1333994).
-
Die Webkonsole erhielt Verbesserungen beim Eingeben und Auswerten von Code:
- Die Autovervollständigung für Konsolenausdrücke ist nun nicht mehr auf Groß- und Kleinschreibung angewiesen (Firefox Bug 672733).
- Sie können nun mit einer bash-ähnlichen Rückwärtssuche durch den Konsolenausdrucksverlauf navigieren (Firefox Bug 1024913).
- Ausgewerteter Code in der Konsole wird nun sowohl im Eingabe- als auch im Ausgabeabschnitt farblich hervorgehoben (Firefox Bug 1463669).
-
Auch beim JavaScript Debugger gab es einige Verbesserungen beim Step-Durchlauf:
- Das Schrittweise Verlassen einer Funktion im Debugger überspringt nun 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).
- Implementierung von Interaktions-Medien-Features, einschließlich
pointer:coarse
(Firefox Bug 1035774). Für die Implementierung vonany-pointer
undany-hover
, siehe Firefox Bug 1483111. - Das
prefers-reduced-motion
Medien-Feature wird nun in Firefox für Android unterstützt (Firefox Bug 1478505). - CSS
<gradient>
Werte unterstützen jetzt die Syntax für Farbstopps mit mehreren Positionen, 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 für
-webkit-appearance
wurde hinzugefügt, um webkompatibilitätsbezogene Probleme zu lindern (Firefox Bug 1368555). - In enger Beziehung zu der obigen Aktualisierung haben wir auch die meisten Firefox-spezifischen
-moz-appearance
Werte entfernt (Firefox Bug 1496720). display
:list-item
wird nun auf<legend>
Elementen unterstützt (Firefox Bug 1486602).- SVG
path()
s, die inoffset-path
verwendbar sind, können nun animiert werden (Firefox Bug 1486094). - Wenn eine Selektorkette oder -gruppe ein
-webkit-
-präfix für Pseudo-Elemente enthält, macht dieses die Selektorkette nicht mehr ungültig (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 verborgen (Firefox Bug 1496961). - Das nicht standardmäßige
::-moz-tree
Pseudo-Element wurde aus Webinhalten verborgen (Firefox Bug 1496961). - Die
layout.css.filters.enabled
Präferenz wurde entfernt; CSS Filter können nicht mehr deaktiviert werden (Firefox Bug 1408841). - Eine vorherige Änderung, um die Werte der zweistufigen
overflow
Syntax zu tauschen, sodass zuerst 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
fehlerhafte Unicode-Strings zurückgibt (Firefox Bug 1469021). - Proxy-Funktionen können nun mit
Function.prototype.toString
verwendet werden (Firefox Bug 1440468). - Im
WebAssembly.Global()
Konstruktor wird, wenn kein Wert angegeben ist, ein typisierter Nullwert 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 jetzt unpräfixiert (Firefox Bug 1269276).
- Die Methoden
Element.requestFullscreen()
undDocument.exitFullscreen()
geben jetzt beide einPromise
zurück, das aufgelöst wird, wenn die Modusänderung abgeschlossen ist (Firefox Bug 1188256 und Firefox Bug 1491212). - Früher wurden
fullscreenchange
undfullscreenerror
Veranstaltungen 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 unter macOS wieder 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). -
Die alte Schnittstelle
HTMLAllCollection
wurde gemäß den aktuellen Spezifikationsaktualisierungen aktualisiert (Firefox Bug 1398354). -
Navigator.buildID
gibt jetzt aus Datenschutzgründen einen festen Zeitstempel zurück (Firefox Bug 583181). -
Die folgenden
Document.execCommand()
UI-Funktion-Befehle sind standardmäßig deaktiviert (Firefox Bug 1490641:enableObjectResizing
enableInlineTableEditing
enableAbsolutePositionEditor
Service-Arbeiter
- 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 bisher nicht, wenn die Änderungen während eines Gesprächs 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).- 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 beheben, wurde hinter eine Präferenz (dom.window.event.enabled
) gestellt und ist in Veröffentlichungsversionen derzeit standardmäßig deaktiviert, da andere Probleme aufgetreten sind (Firefox Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Veröffentlichungszyklus von Firefox 63 erfolgte, aber wir erwähnen es hier zur Sicherheit. - Die
LocalMediaStream
Schnittstelle und ihrestop()
Methode wurden entfernt (Firefox Bug 1258143). Diese Methode ist mit der Abschaffung vonLocalMediaStream
nicht mehr verfügbar. Siehe den Abschnitt Stoppen eines Videostreams, um zu erfahren, wie ein ganzer Stream gestoppt werden kann. - Die
AudioStreamTrack
undVideoStreamTrack
Schnittstellen wurden entfernt, da beide seit einiger Zeit veraltet sind (Firefox Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
integriert; Spuren werden nun durch den Wert ihrerkind
Eigenschaft identifiziert, wieaudio
odervideo
.
Sicherheit
- Der Symantec CA Misstrauensplan wurde umgesetzt (siehe Firefox Bug 1409257; siehe auch die Mozilla's Plan for Symantec Roots Diskussion für weitere Details).
Referrer-Policy
kann nun verwendet werden, um Ressourcen, die über Stylesheets abgerufen werden, zu steuern (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).
Fehlerkorrekturen
- Erzeugte
Shift
-Tastereignisse durch Verwendung vonWebDriver:PerformActions
führten nicht zu großen Buchstaben (Firefox Bug 1405370). WebDriver:Navigate
konnte ein endloses Einfrieren verursachen, wenn der zugrundeliegende Inhaltprozess des Tabs während dieser Navigation mehrfach geändert wird (Firefox Bug 1504807).- Zur Verbesserung der Leistung und zur Verringerung des Speicherbedarfs von Firefox wird die standardmäßig zu ladende Seite für einen neuen Tab oder ein neues Fenster jetzt
about:blank
stattabout:newtab
sein (Firefox Bug 1506643). - Das Einleitungsfeld zur Inhaltsblockierung, das auf verschiedenen Webseiten angezeigt wurde und zu fehlerhaften Elementinteraktionen führte, 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 standardmäßigen Firefox-Menüelemente zu verbergen, um eine benutzerdefinierte Kontextmenü-Oberfläche bereitzustellen. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und optional Tabulator- oder Lesezeichen-Kontextmenüeinträge anderer Erweiterungen enthalten. Für weitere Details siehe diesen Blogbeitrag.menus.overrideContext()
wurde in (Firefox Bug 1280347) implementiert.- Die Option
showDefaults: false
, die verwendet werden kann, um die Standardkontextmenüoptionen zu verbergen, wurde in (Firefox Bug 1367160) implementiert. documentURLPatterns
kann nun verwendet werden, um einemoz-extension://
Dokument-URL zu filtern, selbst 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 nun verwendet werden, um das Symbol eines vorhandenen Menüelements zu aktualisieren (Firefox Bug 1414566). -
Erweiterungen können nun erkennen, welche Maustaste verwendet wurde, als ein Menüelement angeklickt wurde — dies kann durch die neue
button
Eigenschaft vonmenus.OnClickData
herausgefunden werden (Firefox Bug 1469148).
Fenster
- Die
windows.create()
Methode hat nun eine neue verfügbare Option —cookieStoreId
— die dieCookieStoreId
angibt, die für alle Tabs verwendet wird, 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 annehmen,reject_trackers
, der die Erweiterung anweist, Tracking-Cookies abzulehnen (Firefox Bug 1493057).
devtools.panels API
- Die
devtools.panels.elements
Sidebar.setPage()
Methode wird nun 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-Registrierungsansicht (Wow6432Node) nach Registrierungsschlüsseln durchsucht, gefolgt von der "nativen" Registrierungsansicht; Sie sollten die für Ihre Anwendung geeignete verwenden (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 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