Dazu sollten Sie Folgendes wissen:
- Verbessern Sie die Speicherverwaltung mit der Storage Buckets API.
- Es gibt Verbesserungen für die Entwicklertools im Bereich „Leistung“.
- Mit der neuen Async Clipboard API-Option
unsanitized
kannst du auswählen, ob beim Kopieren und Einfügen von HTML die Genauigkeit beibehalten werden soll. - Und es gibt viele weitere.
Mein Name ist Adriana Jara. Jetzt sehen wir uns an, was es für Entwickler Neues in Chrome 122 gibt.
Storage Buckets API
Die Storage Buckets API bietet einen höheren Detaillierungsgrad für eine bessere Verwaltung des nichtflüchtigen Speichers.
Wenn dem Nutzer normalerweise der Speicherplatz auf seinem Gerät ausgeht, gehen die mit APIs wie IndexedDB oder localStorage
gespeicherten Daten verloren, ohne dass der Nutzer eingreifen kann. Eine Möglichkeit, Speicher dauerhaft zu machen, ist die Verwendung der Methode persist()
der StorageManager-Schnittstelle. Diese Methode zur Anforderung des nichtflüchtigen Speichers ist jedoch alles oder nichts.
Die Storage Buckets API bietet Websites die Möglichkeit, mehrere Storage-Buckets zu erstellen, wobei der Browser jeden Bucket unabhängig von anderen Buckets löschen kann. Sie können also eine Priorisierung der Bereinigung festlegen, damit die wertvollsten Daten nicht gelöscht werden.Jeder Storage-Bucket kann Daten enthalten, die mit vorhandenen Speicher-APIs wie IndexedDB und CacheStorage verknüpft sind.
Weitere Informationen und Codebeispiele für die Verwendung von Storage-Buckets finden Sie unter not all storage is built equal: Introducing Storage Buckets (in englischer Sprache). Dort finden Sie weitere Details und Codebeispiele.
Verbesserungen der Entwicklertools im Bereich „Leistung“
In den Entwicklertools von Chrome 122 werden im Bereich Leistung die folgenden Verbesserungen vorgenommen.
Erstens können Sie jetzt auf der Zeitachse oben im Steuerfeld Leistung Klickpfade festlegen und zwischen ihnen wechseln. Wenn Sie einen Navigationspfad festlegen möchten, wählen Sie auf der Zeitachse einen Bereich aus, bewegen Sie den Mauszeiger darauf und klicken Sie auf die entsprechende Schaltfläche N ms zoom_in. Sie können mehrere verschachtelte Navigationspfade hintereinander erstellen. Wenn Sie zwischen den Zoomstufen wechseln möchten, klicken Sie auf den entsprechenden Navigationspfad in der Kette oberhalb der Zeitachse. Im nächsten Video sehen Sie, wie Navigationspfade dargestellt werden.
Außerdem gibt es jetzt im Haupt-Track Ereignisinitiatoren. Im Track Leistung > Haupt werden standardmäßig Pfeile angezeigt, die Initiatoren und die folgenden von ihnen verursachten Ereignisse verbinden.
- Stil- oder Layoutentwertung -> Stile neu berechnen oder Layout
- Animationsframe anfordern > Ausgelöste Animationsframe
- Callback bei Inaktivität anfordern -> Callback bei Inaktivität auslösen
- Timer installieren -> Timer ausgelöst
- Create WebSocket -> Send... (WebSocket erstellen) und Receive WebSocket Handshake (WebSocket-Handshake empfangen) oder WebSocket löschen
Um die Pfeile zu sehen, suchen Sie im Trace nach einem solchen Ereignis und klicken Sie darauf.
Weitere Updates zu den Entwicklertools finden Sie hier.
unsanitized
-Option der Async Clipboard API
Beim Kopieren und Einfügen mit der Async Clipboard API kann die Option unsanitized
für die read()
-Methode dafür sorgen, dass Apps und Websites unbereinigten HTML-Code erhalten. Sofern Websites diese Eigenschaft nicht enthalten, wird das Lesen von HTML aus der Zwischenablage bereinigt.
Beim Lesen von text/html
-MIME-Typen mit der asynchronen API wird standardmäßig der Sanitizer aufgerufen, um Inhalte aus Sicherheitsgründen aus dem HTML-Markup zu entfernen. Die Stile werden dann in den resultierenden HTML-Code eingefügt.
Dies führt zu einer großen HTML-Nutzlast und einem Verlust der Genauigkeit von HTML-Inhalten, wenn diese von Webentwicklern oder mobilen Apps gelesen werden.
Im folgenden Beispiel sehen Sie den Unterschied in der Ausgabe.
Eingang:
<style>p { color: blue; }</style><p>Hello, World!</p>'
Bereinigt (Standardeinstellung):
<p style='color: blue; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;'>Hello, World!</p>
Mit der Option unsanitized
:
<html><head><style>p { color: blue; }</style></head><body><p>Hello, World!</p></body></html>
Weitere Informationen zu den Grundlagen der Clipboard API finden Sie unter Blockierung des Zugriffs auf die Zwischenablage aufheben.
…und vieles mehr
Natürlich gibt es noch viel mehr.
- In CSS stimmen Containerabfragen mit nicht unterstützten Funktionen nie überein. Die folgende Abfrage wird beispielsweise aufgrund des unbekannten Features nie zu Übereinstimmungen führen:
@container (width > 0px) or (unknown) {}
dataTransfer.clearData() hat keine Auswirkungen auf Dateiobjekte, sondern löscht nur Textobjekte.
Mit
drawingBufferStorage
von WebGL können Sie zusätzliche Kopien vermeiden, wenn Sie das Rendering in das standardmäßige Zwischenspeicherformat für Zeichnungen umwandeln und Inhalte mit einer Genauigkeit von mehr als 8 Bit zeichnen.
Weitere Informationen
Dies sind nur einige der wichtigsten Punkte. Unter den folgenden Links finden Sie weitere Änderungen in Chrome 122.
- Neu in den Chrome-Entwicklertools (122)
- Einstellung und Entfernung von Chrome 122
- ChromeStatus.com-Updates für Chrome 122
- Änderungsliste des Chromium-Quell-Repositorys
- Release-Kalender für Chrome
Abo
Wenn Sie auf dem Laufenden bleiben möchten, abonnieren Sie den YouTube-Kanal für Chrome-Entwickler. Wir benachrichtigen Sie per E-Mail, wenn wir ein neues Video veröffentlichen.
Hallo Adriana Jara, und sobald Chrome 123 veröffentlicht wird, informiere ich dich über die Neuheiten in Chrome.