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-Info-Leiste wurde verbessert und enthält nun Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite (Firefox-Bug 1473037).
-
Im Responsive Design Mode wird die Gerätauswahl jetzt zwischen Sitzungen gespeichert (Firefox-Bug 1248619).
-
Ressourcen, die möglicherweise von Tracking-Schutz betroffen sind, werden jetzt im Network Monitor angezeigt (Firefox-Bug 1333994).
-
Die Web-Konsole wurde beim Eingeben und Auswerten von Code verbessert:
- Die Autovervollständigung für Konsolenausdrücke unterscheidet jetzt nicht mehr zwischen Groß- und Kleinschreibung (Firefox-Bug 672733).
- Sie können nun mit einer Bash-ähnlichen Rückwärtssuche durch den Verlaufsverlauf der Konsolenausdrücke navigieren (Firefox-Bug 1024913).
- Ausgewerteter Code in der Konsole wird jetzt sowohl im Eingabe- als auch im Ausgabebereich syntaxhervorgehoben (Firefox-Bug 1463669).
-
Beim Durchschreiten des Codes im JavaScript-Debugger wurden ebenfalls Verbesserungen vorgenommen:
- Beim Stepping out aus einer Funktion im Debugger wird jetzt der Rückgabewert übersprungen (Firefox-Bug 923975).
Entfernungen
- Die GCLI der Entwicklertools wurde entfernt (Firefox-Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Spezifikationsfunktionalität CSS Scrollbars wurde standardmäßig aktiviert (Firefox-Bug 1492012).
- Medienmerkmale der Interaktion 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 die Syntax für Mehrfachpositionsfarbstopps, z. B. kannyellow 25%, yellow 50%
jetzt alsyellow 25% 50%
geschrieben werden (Firefox-Bug 1352643). - Die Eigenschaft
text-transform
akzeptiert jetzt den Wertfull-size-kana
(Firefox-Bug 1498148). - Unterstützung hinzugefügt für
-webkit-appearance
, um damit verbundene Webkompatibilitätsprobleme zu lindern (Firefox-Bug 1368555). - Eng verbunden mit der obigen Aktualisierung, haben wir die meisten der Firefox-spezifischen
-moz-appearance
Werte entfernt (Firefox-Bug 1496720). display
:list-item
wird jetzt bei<legend>
-Elementen unterstützt (Firefox-Bug 1486602).- SVG
path()
s, die beioffset-path
verwendbar sind, sind jetzt animierbar (Firefox-Bug 1486094). - Wenn eine Selektorkette oder -gruppe ein
-webkit-
-präfixiertes Pseudo-Element enthält, macht dieses Pseudo-Element dies nicht mehr ungültig (siehe Firefox-Bug 1424106 für Details, und Firefox-Bug 1486325 für die Aktivierung dieser Funktion).
Entfernungen
- Die nicht standardisierten
-moz-box
und-moz-inline-box
display
Werte wurden aus Webinhalten entfernt (Firefox-Bug 1496961). - Das nicht standardisierte
::-moz-tree
Pseudo-Element wurde aus Webinhalten entfernt (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 2-Wert
overflow
-Syntax so zu tauschen, dass Block zuerst und Inline als zweites angegeben ist (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-Zeichenfolgen zurückgibt (Firefox-Bug 1469021). - Proxyfunktionen können jetzt mit
Function.prototype.toString
verwendet 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 implementiert:
- 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 die Modusänderung abgeschlossen ist (Firefox-Bug 1188256 und Firefox-Bug 1491212). - Früher wurden die Ereignisse
fullscreenchange
undfullscreenerror
zuerst an dasDocument
und dann an dasElement
gesendet. Dies wurde umgekehrt, so dass 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 jetzt, gemäß Spezifikation, alle Header-Namen in Kleinbuchstaben zurück (Firefox-Bug 1398718). -
Das veraltete
HTMLAllCollection
-Interface wurde entsprechend den aktuellen Spezifikations-Updates aktualisiert (Firefox-Bug 1398354). -
Navigator.buildID
gibt jetzt, als Maßnahme zur Wahrung der Privatsphäre, einen festen Zeitstempel zurück (Firefox-Bug 583181). -
Die folgenden
Document.execCommand()
UI-Feature-Befehle wurden standardmäßig deaktiviert (Firefox-Bug 1490641:enableObjectResizing
enableInlineTableEditing
enableAbsolutePositionEditor
Service-Worker
- 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 gemacht wurden. Sie werden jetzt live aktualisiert, ohne Neuverhandlungen (Firefox-Bug 1253499).RTCIceCandidateStats.relayProtocol
wurde implementiert — dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport
, das jetzt veraltet ist (Firefox-Bug 1435789).- Automatic Gain Control (AGC) ist jetzt standardmäßig aktiviert; dies kann mithilfe der Präferenz
media.getusermedia.agc_enabled
geändert werden (Firefox-Bug 1496714).
Entfernungen
- Die
Window.event
Eigenschaft, die in Firefox 63 zur Unterstützung von Webkompatibilitätsproblemen hinzugefügt wurde, wurde hinter eine Präferenz (dom.window.event.enabled
) gestellt und in den Release-Versionen vorerst standardmäßig deaktiviert, aufgrund anderer aufgetretener Probleme (Firefox-Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Firefox 63-Veröffentlichungszyklus gemacht wurde, aber wir erwähnen es hier, nur um sicherzugehen. - Das
LocalMediaStream
Interface und seinestop()
Methode wurden entfernt (Firefox-Bug 1258143). Diese Methode ist mit der Abschaffung vonLocalMediaStream
nicht mehr verfügbar. Siehe den Abschnitt Anhalten eines Videostreams, um zu erfahren, wie Sie einen kompletten Stream stoppen können. - Die
AudioStreamTrack
undVideoStreamTrack
Interfaces wurden entfernt, da beide schon seit einiger Zeit veraltet sind (Firefox-Bug 1377146). Ihre Funktionalität wurde inMediaStreamTrack
zusammengeführt; Tracks werden jetzt durch den Wert ihrerkind
Eigenschaft identifiziert, wieaudio
odervideo
.
Sicherheit
- Der Symantec-CA-Misstrauensplan wurde implementiert (siehe Firefox-Bug 1409257; siehe auch die Mozillas Plan für Symantec-Wurzeln Diskussion für mehr Details).
Referrer-Policy
kann jetzt verwendet werden, um regulierende Ressourcen abzurufen, die über Stylesheets abgerufen wurden (Firefox-Bug 1330487) — siehe Integration mit CSS für mehr 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
- Durch
WebDriver:PerformActions
synthetisierteShift
-Key-Ereignisse resultierten nicht in Großbuchstaben (Firefox-Bug 1405370). WebDriver:Navigate
könnte zu einem unendlichen Blockieren führen, wenn der zugrundeliegende Inhaltsprozess des Tabs während der Navigation mehrmals geändert wird (Firefox-Bug 1504807).- Zur Verbesserung der Leistung und zur Verringerung des Speicherbedarfs von Firefox wird die Standardeite, die für einen neuen Tab oder ein neues Fenster geladen wird, nun nicht mehr
about:newtab
sein, sondernabout:blank
(Firefox-Bug 1506643). - Das Einführungsfenster zur Inhaltsblockierung, das auf verschiedenen Webseiten angezeigt wurde und dazu führte, dass Elementinteraktionen fehlschlagen, ist jetzt standardmäßig deaktiviert (Firefox-Bug 1488826).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
-
Eine neue API,
menus.overrideContext()
, kann aus demcontextmenu
DOM-Ereignis heraus aufgerufen werden, um ein benutzerdefiniertes Kontextmenü in Erweiterungsseiten zu setzen. Diese API erlaubt es Erweiterungen, alle standardmäßigen Firefox-Menüeinträge auszublenden, zugunsten einer benutzerdefinierten Kontextmenü-Benutzeroberfläche. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und möglicherweise Registerkarten- oder Lesezeichen-Kontextmenüeinträge von anderen Erweiterungen enthalten. Weitere Details siehe diesen Blogbeitrag.menus.overrideContext()
wurde in (Firefox-Bug 1280347) implementiert.- Die
showDefaults: false
Option, die verwendet werden kann, um die Standardkontextmenüoptionen zu verbergen, wurde in (Firefox-Bug 1367160) implementiert. documentURLPatterns
kann jetzt verwendet werden, um einemoz-extension://
Dokument-URL zu matchen, 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 jetzt einschränken, wo Kontextmenüs in einem Add-on erscheinen können, mittels des neuen
viewTypes
Attributs inmenus.create()
undmenus.update()
(Firefox-Bug 1416839). -
menus.update()
kann jetzt verwendet werden, um das Symbol eines bestehenden Menüeintrags zu aktualisieren (Firefox-Bug 1414566). -
Erweiterungen können jetzt erkennen, welche Maustaste verwendet wurde, als ein Menüeintrag angeklickt wurde – dies kann mithilfe der neuen
button
Eigenschaft vonmenus.OnClickData
ermittelt werden (Firefox-Bug 1469148).
Fenster
- Die Methode
windows.create()
hat nun eine neue verfügbare Option —cookieStoreId
— die denCookieStoreId
angibt, der für alle Registerkarten verwendet wird, die beim Öffnen des Fensters erstellt wurden (Firefox-Bug 1393570).
Privatsphäre
- Das
privacy.websites
cookieConfig
Attribut ist ein Objekt, das einbehavior
Attribut akzeptieren kann – dieses Attribut kann jetzt einen neuen Wert annehmen,reject_trackers
, was die Erweiterung dazu 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
- Das neue
pinned
Attribut despage_action
Manifestschlü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) für die Registrierungsschlüssel überprüft, gefolgt von der "nativen" Registry-Ansicht; Sie sollten die für Ihre Anwendung geeignete verwenden (Firefox-Bug 1494709).
- Das
chrome_settings_overrides
Feldssearch_provider
Objekt kann jetzt neue Attribute 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