Gepubliceerd: 18 september 2024
Tenzij anders aangegeven, zijn de volgende wijzigingen van toepassing op de nieuwste release van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier genoemde functies via de aangeboden links of via de lijst op ChromeStatus.com. Chrome 130 is vanaf 18 september 2024 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android.
CSS
Deze release voegt vier nieuwe CSS-functies toe.
CSS-containerquery's zoeken in platte boomstructuur
De specificatie voor containerquery's is gewijzigd om voorouders van platte bomen op te zoeken. Deze wijziging is alleen relevant voor schaduw-DOM, waar een element nu niet-benoemde containers kan zien in schaduwbomen waarin het element of een van zijn voorouders is geplaatst, zelfs als de CSS-regel geen gebruik maakt van ::part()
of ::slotted()
.
CSS-nesten: de geneste declaratieregel
Houdt kale declaraties die een geneste regel volgen op hun plaats, door deze declaraties tijdens het parseren in CSSNestedDeclarations
-regels te plaatsen.
Volledige en niet-voorgefixeerde ondersteuning voor doosdecoratie en pauze
Voegt ondersteuning toe voor box-decoration-break: clone
zowel voor inline fragmentatie (lijnindeling) als blokfragmentatie (paginering voor afdrukken en multicol).
Voorheen werd in Chrome alleen box-decoration-break:slice
(de initiële waarde) ondersteund voor blokfragmentatie, terwijl voor inline fragmentatie box-decoration-break:clone
ook werd ondersteund, maar alleen bij gebruik van het voorvoegsel -webkit-box-decoration-break
eigendom.
Sta meer pseudo-elementen en pseudo-klassen toe na ::part()
CSS-selectors die het ::part()
pseudo-element gebruiken, mogen andere CSS-pseudo-elementen hebben (behalve ::part()
) en vele soorten andere CSS-pseudo-klassen erna. Combinatoren zijn nog steeds niet toegestaan na ::part()
, en pseudo-klassen die afhankelijk zijn van de boomstructuur zijn niet toegestaan.
Voorheen stond Chrome slechts een beperkte set pseudo-klassen en pseudo-elementen toe na ::part()
. Deze wijziging maakt alle pseudo-klassen en pseudo-elementen mogelijk die zouden moeten worden toegestaan. Het betekent dat selectors zoals ::part(part-name):enabled
en ::part(part-name)::marker
nu zijn toegestaan.
Web-API's
Attribution Reporting API-functie (attributiebereiken)
Deze wijziging is gebaseerd op feedback uit de advertentietechnologie en de behoefte aan fijnmaziger filtercontroles voordat het attributieproces plaatsvindt. Hiermee kunnen API-aanroepen een veld opgeven met de naam 'attributiebereiken' dat wordt gebruikt voor filteren voordat de reguliere attributiestroom wordt gestart. Hierdoor hebben API-aanroepen een nauwkeuriger controle over de granulariteit van de attributie en kunnen ze de juiste attributierapporten ontvangen wanneer er meerdere verschillende adverteerders of campagnes zijn die allemaal op dezelfde bestemmingssite converteren.
Attribution Reporting API-functie (verbetering van de privacy van de bug)
Deze wijziging helpt een potentiële privacykloof met foutopsporingssleutels te verkleinen.
Momenteel staat de API toe dat een bronfoutopsporingssleutel of een triggerfoutopsporingssleutel wordt opgegeven als cookies van derden beschikbaar zijn en kunnen worden ingesteld door API-aanroepers. Als er een bron- of triggerfoutopsporingssleutel is opgegeven, wordt deze opgenomen in het attributierapport. Dit kan leiden tot een privacylek als cookies van derden alleen zijn toegestaan op de site van de uitgever of de adverteerder, maar niet op beide.
Deze wijziging verhelpt dit probleem door af te dwingen dat bronfoutopsporingssleutels en triggerfoutopsporingssleutels alleen worden opgenomen in het attributierapport als ze aanwezig zijn op zowel de bron als de trigger, wat zou betekenen dat cookies van derden beschikbaar waren op zowel de uitgever als de adverteerder. plaats. Deze wijziging is van toepassing op zowel rapporten op gebeurtenisniveau als op aggregeerbare rapporten.
Compressiewoordenboektransport met gedeelde Brotli en gedeelde Zstandaard
Deze functie voegt ondersteuning toe voor het gebruik van aangewezen eerdere reacties, als een extern woordenboek voor het coderen van inhoud en het comprimeren van reacties met Brotli of Zstandard.
Bedrijven kunnen potentiële compatibiliteitsproblemen ondervinden met de bedrijfsnetwerkinfrastructuur die HTTPS-verkeer onderschept en gevoelig is voor onbekende inhoudscoderingen. Het ondernemingsbeleid CompressionDictionaryTransportEnabled
is beschikbaar om de transportfunctie voor compressiewoordenboeken uit te schakelen.
Gelijktijdig soepel scrollIntoView()
Met de methode scrollIntoView()
met behavior: "smooth"
kunnen ontwikkelaars scrollcontainers maken die naar hun nakomelingen scrollen met een zachte scrollanimatie. Deze functie corrigeert de implementatie van de API door Chrome, zodat doorlopende scrollIntoView
animaties niet worden geannuleerd door niet-gerelateerde scrolls op andere scrollcontainers.
De functie verhelpt ook gevallen waarin Chrome er niet in slaagt naar het fragmentanker van een pagina te scrollen vanwege een concurrerende scrollIntoView
die wordt aangeroepen wanneer de pagina wordt geladen.
Document picture-in-picture: optie toegevoegd om de cache van venstergrenzen te negeren
Dit voegt een nieuwe parameter ( preferInitialWindowPlacement
) toe aan de document picture-in-picture API die, wanneer ingesteld op true, de user-agent laat weten dat deze niet moet proberen de positie of grootte van het vorige document picture-in-picture opnieuw te gebruiken van deze site bij het openen van deze.
Vaak wordt een beeld-in-beeldvenster van een document meerdere keren gesloten en opnieuw geopend voor dezelfde site, bijvoorbeeld bij het verplaatsen van een videoconferentie van en naar PiP. De user-agent is vrij om het PiP-venster opnieuw te openen op de meest recente grootte en locatie, zodat het blijft waar de gebruiker het het laatst heeft verplaatst en continuïteit tussen de PiP-vensters biedt. Als het nieuwe venster echter semantisch geen verband houdt met het vorige venster, bijvoorbeeld als het een nieuw videogesprek betreft, kan de ontwikkelaar deze parameter gebruiken om een hint aan de user-agent te geven dat dit venster wellicht beter in de standaardpositie kan worden geopend. en maat in plaats daarvan.
Leer hoe u het venster in de standaardpositie en -grootte opent .
Verbeterde foutrapportage in IndexedDB voor leesfouten van grote waarden
Wijziging in rapportage voor bepaalde foutgevallen die eerder zijn gerapporteerd met een DOMException
en het bericht 'Kan grote IndexedDB-waarde niet lezen'.
Chrome genereert nu een DOMException
met de naam "NotFoundError"
wanneer het bestand met de gegevens die worden gelezen door een IDBRequest ontbreekt op de schijf, zodat sites de juiste corrigerende actie kunnen ondernemen wanneer er een onherstelbare fout optreedt. Corrigerende acties kunnen het verwijderen van de invoer uit de database omvatten, het op de hoogte stellen van de gebruiker of het opnieuw ophalen van de gegevens van servers.
Met toetsenbord focusseerbare scrollcontainers
Deze functie maakt scrollers zonder focusbare kinderen standaard toetsenbordfocusbaar.
Dit is een belangrijke verbetering om scrollers en de inhoud binnen scrollers toegankelijker te maken voor alle gebruikers. U kunt meer lezen over de voordelen ervan in Focusbare scrollers op het toetsenbord . Scrollers die op het toetsenbord kunnen worden gefocust, worden standaard ingeschakeld vanaf Chrome 130. Als websites tijd nodig hebben om zich aan deze nieuwe functie aan te passen, zijn er een paar opties:
- De opt-out-proefperiode waarbij de toetsenbordfocusseerbare scrollers zich afmelden, kan worden gebruikt om zich voor een beperkte tijd af te melden voor de functie op een bepaalde site. Dit kan worden gebruikt via Chrome 132, dat eindigt op 18 maart 2025.
- Het
KeyboardFocusableScrollersEnabled enterprise policy
dat beschikbaar is in Chrome 127 kan voor hetzelfde doel worden gebruikt.
Bied- en veilingdiensten voor beschermd publiek
De Protected Audience API (voorheen bekend als FLEDGE) is een Privacy Sandbox-voorstel voor remarketing en aangepaste doelgroepgebruiksscenario's, ontworpen zodat derden het surfgedrag van gebruikers op verschillende sites niet kunnen volgen.
Deze functie, Protected Audience Bidding and Auction Services, schetst een manier om Protected Audience-berekeningen te laten plaatsvinden op cloudservers in een vertrouwde uitvoeringsomgeving, in plaats van lokaal op het apparaat van een gebruiker te draaien. Het verplaatsen van berekeningen naar cloudservers kan helpen bij het optimaliseren van de Protected Audience-veiling, om rekencycli en netwerkbandbreedte voor een apparaat vrij te maken.
Ondersteuning van niet-speciale schema-URL's
Voorheen ondersteunde de URL-parser van Chrome geen niet-speciale URL's. De parser parseert niet-speciale URL's alsof ze een "ondoorzichtig pad" hebben, wat niet in overeenstemming is met de URL-standaard. Nu parseert de URL-parser van Chromium niet-speciale URL's correct, volgens de URL-standaard.
Zie bit.ly/url-non-special voor meer details.
WebAssembly JavaScript String Builtins
Deze functie maakt algemene JavaScript-tekenreeksbewerkingen beschikbaar voor import in WebAssembly. Hierdoor kunt u JavaScript-strings vanuit WebAssembly maken en manipuleren zonder ondersteuning binnen WebAssembly. Dit zorgt nog steeds voor vergelijkbare prestaties als ondersteunde tekenreeksreferenties.
WebGPU: Blending van dubbele bronnen
Voegt de optionele GPU-functie "dual-source-blending" toe, waarmee twee fragment-shader-uitvoer in één enkele framebuffer kan worden gecombineerd. Deze techniek is vooral handig voor toepassingen die complexe mengbewerkingen vereisen, zoals toepassingen die zijn gebaseerd op de Porter-Duff-mengmodi. Door de noodzaak voor frequente wijziging van pijplijnstatusobjecten te verminderen, kan dual source blending de prestaties en flexibiliteit verbeteren.
Web Serial: connected
attribuut en RFCOMM-verbindingsgebeurtenissen
Deze functie voegt een booleaans attribuut SerialPort.connected
toe. Het kenmerk retourneert true
als de seriële poort logisch is aangesloten. Voor bekabelde seriële poorten is een poort logisch verbonden als de poort fysiek op het systeem is aangesloten. Voor draadloze seriële poorten is een poort logisch verbonden als het apparaat dat de poort host open verbindingen met de host heeft.
Voorheen werden alleen bekabelde seriële poorten verbindings- en verbindingsgebeurtenissen verzonden. Met deze functie verzenden Bluetooth RFCOMM seriële poorten deze gebeurtenissen wanneer de poort logisch wordt aangesloten of losgekoppeld.
Deze functie is bedoeld om toepassingen in staat te stellen te detecteren wanneer een Bluetooth RFCOMM seriële poort beschikbaar is zonder de poort te openen.
Meer informatie vindt u in Bluetooth RFCOMM-updates in Web Serial .
Oorsprongsproeven zijn aan de gang
In Chrome 130 kunt u zich aanmelden voor de volgende nieuwe origin-proefversies .
Taaldetector-API
Een JavaScript-API voor het detecteren van de taal van tekst , met betrouwbaarheidsniveaus.
WebAuthn-attestformaten
Ondersteun het veld attestationFormats
vanaf WebAuthn-niveau 3.
WebAuthn Level 3 ondersteunt een site die een geordende voorkeur voor credential attestation formaten uitdrukt in het nieuwe attestationFormats
veld. Deze functie maakt ondersteuning hiervoor mogelijk op Android, waar meerdere formaten kunnen worden ondersteund door toegangscodeproviders.
Registreer u voor de proefversie van WebAuthn attestationFormats.
Beëindigingen en verwijderingen
Deze versie van Chrome introduceert de volgende beëindigingen en verwijderingen. Ga naar ChromeStatus.com voor een lijst met geplande beëindigingen, huidige beëindigingen en eerdere verwijderingen.
In deze versie van Chrome wordt één functie verwijderd.
Verwijder expectedImprovement
in DelegatedInkTrailPresenter
Het expectedImprovement
verbeteringskenmerk vertelt webontwikkelaars hoeveel verbetering de DelegatedInkTrails API zal bieden voor hun huidige inktlatentie. Dit attribuut is echter de toename van de entropie van vingerafdrukken niet waard.
In deze versie van Chrome wordt één functie beëindigd.
Beëindig de niet-standaard GPUAdapter requestAdapterInfo()
-methode
De asynchrone methode requestAdapterInfo()
in WebGPU is overbodig omdat ontwikkelaars GPUAdapterInfo
al synchroon kunnen verkrijgen met behulp van het GPUAdapter
info
-attribuut.