Firefox 64 Versionshinweise für Entwickler
Dieser Artikel enthält 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 Zugänglichkeit Info-Leiste wurde erweitert, um Informationen über das Farbkontrastverhältnis von Texten oder Bildern auf der Seite zu enthalten (Firefox-Bug 1473037).
-
Die Geräteauswahl des Modus für responsives Design wird nun zwischen den Sitzungen gespeichert (Firefox-Bug 1248619).
-
Ressourcen, die potenziell von Tracking-Schutz betroffen sind, werden nun im Netzwerk-Monitor angezeigt (Firefox-Bug 1333994).
-
Die Webkonsole erhielt Verbesserungen beim Eingeben und Auswerten von Code:
- Die Autocomplete-Funktion für Konsolenausdrücke ist jetzt nicht mehr groß- und kleinschreibungsempfindlich (Firefox-Bug 672733).
- Man kann nun den Verlauf der Konsolenausdrücke mit einer bash-ähnlichen Rückwärtssuche durchlaufen (Firefox-Bug 1024913).
- Der ausgewertete Code in der Konsole ist nun sowohl im Eingabefeld als auch in der Ausgabe farblich hervorgehoben (Firefox-Bug 1463669).
-
Das Arbeiten im JavaScript-Debugger wurde ebenfalls verbessert:
- Beim Aussteigen aus einer Funktion im Debugger wird der Rückgabewert nun übersprungen (Firefox-Bug 923975).
Entfernungen
- Das Developer Tools GCLI wurde entfernt (Firefox-Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Funktionalität der CSS Scrollbars Spezifikation wurde standardmäßig aktiviert (Firefox-Bug 1492012).
- Interaktive Media-Features implementiert, einschließlich
pointer:coarse(Firefox-Bug 1035774). Für die Implementierung vonany-pointerundany-hoversiehe Firefox-Bug 1483111. - Das
prefers-reduced-motionMedienmerkmal wird jetzt in Firefox für Android unterstützt (Firefox-Bug 1478505). - CSS
<gradient>Werte unterstützen jetzt die Syntax für Mehrere-Positions-Farbstopps, z.B. kannyellow 25%, yellow 50%jetzt alsyellow 25% 50%geschrieben werden (Firefox-Bug 1352643). - Die Eigenschaft
text-transformakzeptiert jetzt den Wertfull-size-kana(Firefox-Bug 1498148). - Unterstützung hinzugefügt für
-webkit-appearance, um damit verbundene Web-Kompatibilitätsprobleme zu lindern (Firefox-Bug 1368555). - Im Zusammenhang mit der obigen Aktualisierung wurden auch die meisten der Firefox-spezifischen
-moz-appearanceWerte entfernt (Firefox-Bug 1496720). display:list-itemwird jetzt auf<legend>Elementen unterstützt (Firefox-Bug 1486602).- SVG
path()s, die inoffset-pathverwendet werden, sind jetzt animierbar (Firefox-Bug 1486094). - Wenn eine Selektorenkette oder Gruppe ein
-webkit--präfixiertes Pseudoelement enthält, macht dieses Pseudoelement die Gruppe oder Kette nicht mehr ungültig (siehe Firefox-Bug 1424106 für Details und Firefox-Bug 1486325 für die Aktivierung dieses Merkmals).
Entfernungen
- Die nicht-standardmäßigen
-moz-boxund-moz-inline-boxdisplayWerte wurden aus den Web-Inhalten ausgeblendet (Firefox-Bug 1496961). - Das nicht-standardmäßige
::-moz-treePseudoelement wurde aus den Web-Inhalten ausgeblendet (Firefox-Bug 1496961). - Die
layout.css.filters.enabledPräferenz wurde entfernt; CSS-Filter können nicht mehr deaktiviert werden (Firefox-Bug 1408841). - Eine frühere Änderung – das Tauschen der Werte der Zweifachwert-
overflow-Syntax, sodass der Block zuerst und Inline als zweites angegeben wird (Firefox-Bug 1481866) – wurde rückgängig gemacht (Firefox-Bug 1492567). Siehe Bug 1481866 Kommentar 14 für die Gründe.
SVG
Keine Änderungen.
JavaScript
- Der TC39 Well-formed JSON.stringify Vorschlag wurde implementiert, um zu verhindern, dass
JSON.stringifyungültige Unicode-Strings zurückgibt (Firefox-Bug 1469021). - Proxied Funktionen können jetzt mit
Function.prototype.toStringverwendet werden (Firefox-Bug 1440468). - Im Konstruktor
WebAssembly.Global(), wenn kein Wert angegeben wird, wird ein typisierter 0-Wert verwendet. Dies wird durch denDefaultValueAlgorithmus 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 beide einPromisezurück, das aufgelöst wird, wenn der Moduswechsel abgeschlossen ist (Firefox-Bug 1188256 und Firefox-Bug 1491212). - Früher wurden
fullscreenchangeundfullscreenerrorEreignisse zuerst an dasDocumentund dann an dasElementgesendet. Dies wurde umgekehrt, sodass 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 nun auf macOS wieder aktiviert (Firefox-Bug 1476091).
-
Window.screenLeftundWindow.screenTopwurden implementiert, als Aliase fürWindow.screenXundWindow.screenY(Firefox-Bug 1498860). -
Die Methode
XMLHttpRequest.getAllResponseHeaders()gibt jetzt die Header-Namen alle in Kleinbuchstaben zurück, wie es in der Spezifikation vorgesehen ist (Firefox-Bug 1398718). -
Das veraltete
HTMLAllCollectionInterface wurde gemäß den jüngsten Spezifikationsaktualisierungen aktualisiert (Firefox-Bug 1398354). -
Navigator.buildIDgibt 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):enableObjectResizingenableInlineTableEditingenableAbsolutePositionEditor
Service Worker
- Die Methode
ServiceWorkerContainer.startMessages()wurde implementiert (Firefox-Bug 1263734).
Media, Web Audio und WebRTC
- Die Eigenschaften
PannerNode.refDistance,PannerNode.maxDistance,PannerNode.rolloffFactorundPannerNode.coneOuterGainwerfen jetzt korrekt Ausnahmen, wenn sie auf Werte außerhalb der akzeptierten Bereiche gesetzt werden (Firefox-Bug 1487963). RTCRtpEncodingParametersEinstellungen, die überRTCRtpSender.setParameters()geändert werden, aktualisieren jetzt live, ohne erneute Verhandlung, wenn die Änderungen während eines Anrufs vorgenommen werden (Firefox-Bug 1253499).RTCIceCandidateStats.relayProtocolwurde implementiert – dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport, das nun als veraltet gilt (Firefox-Bug 1435789).- Automatic Gain Control (AGC) ist jetzt standardmäßig aktiviert; diese Einstellung kann über die Präferenz
media.getusermedia.agc_enabledgeändert werden (Firefox-Bug 1496714).
Entfernungen
- Die Eigenschaft
Window.event, die in Firefox 63 hinzugefügt wurde, um mit Web-Kompatibilitätsproblemen umzugehen, wurde hinter einer Präferenz (dom.window.event.enabled) platziert und ist in den Veröffentlichungs-Versionen standardmäßig deaktiviert aufgrund anderer aufgedeckter 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 vorsichtshalber. - Das
LocalMediaStreamInterface und seinestop()Methode wurden entfernt (Firefox-Bug 1258143). Diese Methode ist mit der Einstellung vonLocalMediaStreamnicht mehr verfügbar. Lesen Sie den Abschnitt Ein Video-Stream stoppen, um zu erfahren, wie man einen gesamten Stream stoppt. - Die
AudioStreamTrackundVideoStreamTrackInterfaces wurden entfernt, da beide seit einiger Zeit als veraltet gelten (Firefox-Bug 1377146). Ihre Funktionalität ist inMediaStreamTrackintegriert worden; Tracks werden jetzt durch den Wert ihrerkindEigenschaft identifiziert, wieaudioodervideo.
Sicherheit
- Der Symantec CA Distrust Plan wurde implementiert (siehe Firefox-Bug 1409257; siehe auch die Diskussion Mozilla's Plan for Symantec Roots für mehr Details).
Referrer-Policykann jetzt verwendet werden, um Ressourcen, die über Stylesheets abgerufen werden, zu regulieren (Firefox-Bug 1330487) — siehe Integration with CSS für weitere Informationen.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
- Veraltete Befehlspunkte ohne das Präfix
Marionette:,L10n:oderAddon:(einschließlichsingeTap) wurden entfernt (Firefox-Bug 1504478, Firefox-Bug 1504940).
Bug-Fixes
- Synthesizerte
Shift-Tast-Ereignisse durch die Verwendung vonWebDriver:PerformActionsführten nicht zu Großbuchstaben (Firefox-Bug 1405370). WebDriver:Navigatekonnte zu einem unendlichen Hängen führen, wenn der zugrunde liegende Inhaltsprozess der Registerkarte während dieser Navigation mehrmals geändert wurde (Firefox-Bug 1504807).- Zur Verbesserung der Leistung und zur Reduzierung des Speicherbedarfs von Firefox ist die Standard-Seite, die für einen neuen Tab oder ein neues Fenster geladen wird, nicht mehr
about:newtab, sondernabout:blank(Firefox-Bug 1506643). - Das Einführungsfenster zur Inhaltsblockierung, das auf verschiedenen Webseiten angezeigt wurde und Interaktionen mit Elementen verhinderte, ist jetzt standardmäßig deaktiviert (Firefox-Bug 1488826).
Änderungen für Add-on-Entwickler
>API-Änderungen
Menüs
-
Eine neue API,
menus.overrideContext(), kann vomcontextmenuDOM-Event aufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten festzulegen. Diese API erlaubt es Erweiterungen, alle Standardmenüeinträge von Firefox zu verstecken, zugunsten eines benutzerdefinierten Kontextmenü-UI. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und kann optional Registerkarten- oder Lesezeichen-Kontextmenüeinträge anderer Erweiterungen enthalten. Siehe diesen Blog-Post für weitere Details.menus.overrideContext()wurde implementiert in (Firefox-Bug 1280347).- Die Option
showDefaults: false, die verwendet werden kann, um die standardmäßigen Kontextmenüoptionen zu verstecken, wurde implementiert in (Firefox-Bug 1367160). documentURLPatternskann jetzt verwendet werden, um einemoz-extension://Dokument-URL zu matchen, selbst wennmenus.overrideContext()verwendet wird. Dadurch 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 angezeigt werden können, indem Sie die neue Eigenschaft
viewTypesinmenus.create()undmenus.update()verwenden (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, wenn ein Menüeintrag angeklickt wurde – dies kann mit der neuen
buttonEigenschaft vonmenus.OnClickDatafestgestellt werden (Firefox-Bug 1469148).
Fenster
- Die Methode
windows.create()hat eine neue verfügbare Option —cookieStoreId— die dasCookieStoreIdangibt, das für alle Tabs verwendet wird, die beim Öffnen des Fensters erstellt wurden (Firefox-Bug 1393570).
Datenschutz
- Die
privacy.websitescookieConfigEigenschaft ist ein Objekt, das einebehaviorEigenschaft akzeptieren kann — diese Eigenschaft kann jetzt einen neuen Wertreject_trackersannehmen, der die Erweiterung anweist, Tracking-Cookies abzulehnen (Firefox-Bug 1493057).
devtools.panels API
- Die Methode
devtools.panels.elementsSidebar.setPage()wird jetzt unterstützt (Firefox-Bug 1398734).
Manifest-Änderungen
- Die neue
pinnedEigenschaft despage_actionManifest-Schlüssels ermöglicht es Erweiterungen zu steuern, ob ihre Page-Actions bei der Installation an die Adressleiste angeheftet werden sollen oder nicht (Firefox-Bug 1494135). - In nativen Manifesten unter Windows wird zuerst der 32-Bit-Registry-Ansichtsgegenstand (Wow6432Node) für Registrierungsschlüssel geprüft, gefolgt von der "nativen" Registrierungssicht; Sie sollten den für Ihre Anwendung geeigneten verwenden (Firefox-Bug 1494709).
- Das Feld
chrome_settings_overridesdessearch_providerObjekts kann jetzt neue Eigenschaften enthalten —suggest_urlundsuggest_url_post_params(Firefox-Bug 1486819), undsearch_url_post_params.
Siehe auch
- Hacks Release Post: Firefox 64 Released