Firefox 64 Versionshinweise 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
-
Der Zugänglichkeits-Infobar wurde erweitert, um Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite bereitzustellen (Firefox-Bug 1473037).
-
Die Geräteauswahl im Responsive Design Mode wird jetzt zwischen den Sitzungen gespeichert (Firefox-Bug 1248619).
-
Ressourcen, die möglicherweise durch den Tracking-Schutz betroffen sind, werden jetzt im Netzwerk-Überwachungswerkzeug angezeigt (Firefox-Bug 1333994).
-
Die Webkonsole wurde in Bezug auf die Eingabe und Bewertung von Code verbessert:
- Die Autovervollständigung für Konsolenausdrücke unterscheidet jetzt nicht mehr zwischen Groß- und Kleinschreibung (Firefox-Bug 672733).
- Sie können jetzt durch den Verlauf der Konsolenausdrücke mit einer bash-ähnlichen Rückwärtssuche blättern (Firefox-Bug 1024913).
- Bewerteter Code in der Konsole wird jetzt sowohl in der Eingabe als auch in der Ausgabe farbig hervorgehoben (Firefox-Bug 1463669).
-
Das Durchlaufen im JavaScript-Debugger wurde ebenfalls verbessert:
- Beim Verlassen einer Funktion im Debugger wird der Rückgabewert jetzt übersprungen (Firefox-Bug 923975).
Entfernungen
- Die Entwicklerwerkzeuge GCLI wurde entfernt (Firefox-Bug 1429421).
HTML
Keine Änderungen.
CSS
- Die Funktionsspezifikation von CSS-Scrollleisten wurde standardmäßig aktiviert (Firefox-Bug 1492012).
- Implementierung von Interaktions-Media-Features, einschließlich
pointer:coarse(Firefox-Bug 1035774). Für die Implementierung vonany-pointerundany-hoversiehe Firefox-Bug 1483111. - Das
prefers-reduced-motionMedia-Feature wird jetzt in Firefox für Android unterstützt (Firefox-Bug 1478505). - CSS
<gradient>-Werte unterstützen jetzt die Syntax für mehrfarbige Farbverläufe. Zum Beispiel kannyellow 25%, yellow 50%jetzt alsyellow 25% 50%geschrieben werden (Firefox-Bug 1352643). - Die
text-transform-Eigenschaft akzeptiert jetzt den Wertfull-size-kana(Firefox-Bug 1498148). - Unterstützung für
-webkit-appearancehinzugefügt, um damit verbundene Web-Kompatibilitätsprobleme zu lindern (Firefox-Bug 1368555). - Eng damit verbunden haben wir auch die meisten Firefox-spezifischen
-moz-appearance-Werte entfernt (Firefox-Bug 1496720). display:list-itemwird jetzt auf<legend>-Elementen unterstützt (Firefox-Bug 1486602).- SVG-
path()s, wie sie inoffset-pathverwendet werden können, sind jetzt animierbar (Firefox-Bug 1486094). - Wenn eine Selektorkette oder -gruppe ein
-webkit--präfixiertes Pseudoelement enthält, macht dieses Pseudoelement diese 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-boxund-moz-inline-boxdisplay-Werte wurden vor Webinhalten verborgen (Firefox-Bug 1496961). - Das nicht-standardisierte
::-moz-treePseudo-Element wurde vor Webinhalten verborgen (Firefox-Bug 1496961). - Die
layout.css.filters.enabled-Einstellung wurde entfernt; CSS-Filter können nicht mehr deaktiviert werden (Firefox-Bug 1408841). - Eine frühere Änderung — um die Werte der 2-Werte-
overflow-Syntax zu tauschen, sodass zunächst der Block und dann der Inline-Wert angegeben wird (Firefox-Bug 1481866) — wurde zurückgenommen (Firefox-Bug 1492567). Siehe Bug 1481866 Kommentar 14, um mehr über die Gründe zu erfahren.
SVG
Keine Änderungen.
JavaScript
- Der TC39-Well-formed JSON.stringify-Vorschlag wurde implementiert, um zu verhindern, dass
JSON.stringifyungültig formatierte Unicode-Zeichenfolgen zurückgibt (Firefox-Bug 1469021). - Proxy-Funktionen können jetzt mit
Function.prototype.toStringverwendet 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 wurde implementiert:
- Die API wurde ohne Präfix implementiert (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
fullscreenchangeundfullscreenerror-Ereignisse zuerst an dasDocumentgesendet und dann an dasElement. 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 in macOS wieder aktiviert (Firefox-Bug 1476091).
-
Window.screenLeftundWindow.screenTopwurden als Aliase fürWindow.screenXundWindow.screenYimplementiert (Firefox-Bug 1498860). -
Die Methode
XMLHttpRequest.getAllResponseHeaders()gibt jetzt, gemäß Spezifikation, alle Header-Namen in Kleinbuchstaben zurück (Firefox-Bug 1398718). -
Die veraltete
HTMLAllCollection-Schnittstelle wurde gemäß den jüngsten Spezifikationsaktualisierungen aktualisiert (Firefox-Bug 1398354). -
Navigator.buildIDgibt jetzt einen festen Zeitstempel zurück, um die Privatsphäre zu schützen (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).
Medien, Web Audio und WebRTC
- Die Eigenschaften
PannerNode.refDistance,PannerNode.maxDistance,PannerNode.rolloffFactorundPannerNode.coneOuterGainwerfen jetzt korrekt Ausnahmen, wenn sie auf Werte außerhalb ihrer akzeptierten Bereiche gesetzt werden (Firefox-Bug 1487963). - Änderungen an
RTCRtpEncodingParameters, die überRTCRtpSender.setParameters()vorgenommen wurden, wurden früher nicht aktualisiert, wenn die Änderungen während eines Anrufs vorgenommen wurden. Jetzt aktualisieren sie sich live, ohne Neuverhandlung (Firefox-Bug 1253499). RTCIceCandidateStats.relayProtocolwurde implementiert — dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport, die jetzt veraltet ist (Firefox-Bug 1435789).- Die automatische Lautstärkeregelung (AGC) ist jetzt standardmäßig aktiviert; dies kann über die Einstellung
media.getusermedia.agc_enabledgeändert werden (Firefox-Bug 1496714).
Entfernungen
- Die
Window.event-Eigenschaft, die in Firefox 63 hinzugefügt wurde, um Web-Kompatibilitätsprobleme zu beheben, wurde hinter einer Voreinstellung (dom.window.event.enabled) versteckt und in den Release-Versionen standardmäßig deaktiviert, da andere Probleme aufgetreten sind (Firefox-Bug 1493869). Beachten Sie, dass dies tatsächlich spät im Release-Zyklus von Firefox 63 durchgeführt wurde, aber wir erwähnen es hier der Vollständigkeit halber. - Die
LocalMediaStream-Schnittstelle und ihrestop()-Methode wurden entfernt (Firefox-Bug 1258143). Diese Methode ist nicht mehr verfügbar, daLocalMediaStreamveraltet ist. Lesen Sie den Abschnitt Stoppen eines Videostreams, um zu erfahren, wie Sie einen gesamten Stream stoppen können. - Die Schnittstellen
AudioStreamTrackundVideoStreamTrackwurden entfernt, da beide seit einiger Zeit veraltet sind (Firefox-Bug 1377146). Ihre Funktionalität wurde in dieMediaStreamTrackintegriert; Tracks werden jetzt anhand des Wertes ihrerkind-Eigenschaft identifiziert, wieaudioodervideo.
Sicherheit
- Der Plan zum Misstrauen von Symantec-Zertifizierungsstellen wurde umgesetzt (siehe Firefox-Bug 1409257; siehe auch die Diskussion Mozilla's Plan für Symantec-Wurzeln für weitere Details).
Referrer-Policykann 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
- Synthesierte
Shift-Tastenereignisse durch die Verwendung vonWebDriver:PerformActionsführten nicht zu Großbuchstaben (Firefox-Bug 1405370). WebDriver:Navigatekonnte zu einer unbegrenzten Aufhängung führen, wenn der zugrunde liegende Inhaltsprozess der Registerkarte während dieser Navigation mehrfach geändert wurde (Firefox-Bug 1504807).- Um die Leistung zu verbessern und den Speicherbedarf von Firefox zu reduzieren, 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 Einführungs-Panel zur Inhaltsblockierung, 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,
menus.overrideContext(), kann aus dem DOM-Ereigniscontextmenuaufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten festzulegen. Diese API ermöglicht es Erweiterungen, alle standardmäßigen Firefox-Menüelemente zugunsten einer benutzerdefinierten Kontextmenü-Benutzeroberfläche auszublenden. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und optional Tab- oder Lesezeichen-Kontextmenüeinträge aus anderen Erweiterungen enthalten. Lesen Sie diesen Blogbeitrag für mehr Details.menus.overrideContext()wurde implementiert in (Firefox-Bug 1280347).- Die Option
showDefaults: false, die verwendet werden kann, um die Standard-Kontextmenüoptionen auszublenden, wurde implementiert in (Firefox-Bug 1367160). documentURLPatternskann jetzt verwendet werden, um einemoz-extension://-Dokument-URL zuzuordnen, auch 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, indem Sie die neue Eigenschaft
viewTypesinmenus.create()undmenus.update()verwenden (Firefox-Bug 1416839). -
menus.update()kann jetzt verwendet werden, um das Symbol eines vorhandenen Menüeintrags zu aktualisieren (Firefox-Bug 1414566). -
Erweiterungen können jetzt erkennen, welche Maustaste verwendet wurde, als ein Menüeintrag angeklickt wurde — dies kann über die neue Eigenschaft
buttonvonmenus.OnClickDataermittelt werden (Firefox-Bug 1469148).
Fenster
- Die Methode
windows.create()hat jetzt eine neue verfügbare Option —cookieStoreId, die dasCookieStoreIdangibt, das für alle Tabs verwendet werden soll, die beim Öffnen des Fensters erstellt wurden (Firefox-Bug 1393570).
Privatsphäre
- Die
privacy.websitescookieConfig-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 Methode
devtools.panels.elementsSidebar.setPage()wird jetzt unterstützt (Firefox-Bug 1398734).
Manifest-Änderungen
- Die neue
pinned-Eigenschaft des Manifestspage_actionermöglicht es Erweiterungen zu steuern, ob ihre Page-Actions beim Installieren an die Adressleiste angeheftet werden sollen oder nicht (Firefox-Bug 1494135). - In nativen Manifesten unter Windows wird die 32-Bit-Registrierungsansicht (Wow6432Node) zuerst nach Registrierungsschlüsseln durchsucht, gefolgt von der "nativen" Registrierungsansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung geeignet ist (Firefox-Bug 1494709).
- Das
chrome_settings_overrides-Feldessearch_providerObjekt kann jetzt neue Eigenschaften enthalten —suggest_urlundsuggest_url_post_params(Firefox-Bug 1486819), sowiesearch_url_post_params.
Siehe auch
- Hacks Release Post: Firefox 64 Released