Chrome 125 bèta

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 125 is vanaf 17 april 2024 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android. Eenmaal vrijgegeven naar stable, zijn alle inbegrepen functies te vinden in de release-opmerkingen .

CSS

Deze release voegt twee nieuwe CSS-functies toe en brengt twee CSS-gerelateerde wijzigingen aan.

CSS-ankerpositionering

Met CSS-ankerpositionering kunnen ontwikkelaars een absoluut gepositioneerd element op een declaratieve manier aan een of meer andere elementen op de pagina (de ankers ) vastmaken , zonder het gebruik van JavaScript. Ankerpositionering werkt goed wanneer de ankers scrollbaar zijn. Een veelvoorkomend gebruiksscenario is het plaatsen van een popover, zoals een tooltip, naast het element dat deze heeft aangeroepen, of een selectiemenu en de lijst met popover-opties. Vóór de ankerpositioneringsfunctie hadden deze gebruiksscenario's JavaScript nodig om de popover dynamisch te positioneren en verankerd te houden terwijl het aanroepende element werd gescrolld, wat een prestatie-footgun is en moeilijk om goed te krijgen. Met ankerpositionering kunnen deze gebruiksscenario's performant en declaratief worden geïmplementeerd.

De ankerpositioneringsfunctie bestaat uit een groot aantal CSS-eigenschappen. Een aantal van de belangrijkste eigenschappen zijn als volgt:

  • anchor-name : stelt een element in als anker voor andere elementen.
  • position-anchor : beschrijft het "standaard" anker dat een verankerd element moet gebruiken voor ankerpositionering.
  • De functie anchor() : wordt gebruikt om te verwijzen naar de positie van het ankerelement, bij het positioneren van het verankerde element.
  • inset-area : een afkorting voor positionering, voor gemeenschappelijke relatieve posities.

CSS-functies voor getrapte waarden round() , mod() en rem()

De functies met getrapte waarden, round() , mod() en rem() , transformeren allemaal een gegeven waarde volgens een andere "stapwaarde".

De CSS-functie round() retourneert een afgerond getal op basis van een geselecteerde afrondingsstrategie.

De CSS-functie mod() retourneert een modulus die overblijft wanneer de eerste parameter wordt gedeeld door de tweede parameter, vergelijkbaar met de JavaScript-restoperator (%). De modulus is de waarde die overblijft als een operand, het deeltal, wordt gedeeld door een tweede operand, de deler. Er is altijd het teken van de deler nodig.

De rem() CSS-functie retourneert een rest die overblijft wanneer de eerste parameter wordt gedeeld door de tweede parameter, vergelijkbaar met de JavaScript-restoperator (%). De rest is de waarde die overblijft als een operand, het deeltal, wordt gedeeld door een tweede operand, de deler. Er is altijd het teken van het dividend nodig.

Verwijder discontinuïteit voor Oklab- en Oklch-kleuren met een lichtheid van bijna 100% of 0

Vóór deze wijziging werden alle Lab-, LCH-, Oklab- en Oklch-kleuren met een helderheidswaarde van 100% weergegeven als wit, ongeacht de andere twee parameters. Alle kleuren in deze ruimtes met een lichtheidswaarde van 0 werden als zwart weergegeven. Deze twee mappings veroorzaakten discontinuïteiten in gradiënten en waren onverwacht voor webontwikkelaars.

Met deze terugdraaiing worden deze kleuren niet langer kunstmatig in kaart gebracht en zal de resulterende weergegeven kleur continu zijn met nabijgelegen kleuren en afhankelijk zijn van de gamut-toewijzing van het scherm.

Gebruikte root-schuifbalken in het kleurenschema

Zorgt ervoor dat de browser het voorkeurskleurenschema van de gebruiker gebruikt om de schuifbalken van de viewport weer te geven als de waarde van "ondersteunde kleurenschema's van de pagina" 'normaal' is of niet is opgegeven, en de berekende waarde van color-scheme voor het hoofdelement normal is. Viewport-schuifbalken kunnen worden beschouwd als buiten de webinhoud. Daarom moeten de user agents het voorkeurskleurenschema van de gebruiker respecteren bij het weergeven van schuifbalken in de viewport als de ontwikkelaar niet expliciet ondersteuning voor kleurenschema's heeft gespecificeerd.

Deze wijziging weerhoudt ontwikkelaars er niet van om het kleurenschema voor schuifbalken te beheren. Het nieuwe gedrag zorgt ervoor dat de browser het voorkeurskleurenschema van de gebruiker gebruikt om niet-overlay-schuifbalken in de viewport weer te geven, alleen als de ontwikkelaar het kleurenschema voor het hoofdelement niet heeft gespecificeerd.

HTML

Met toetsenbord focusbare scrollcontainers

Verbetert de toegankelijkheid door scrollcontainers focusseerbaar te maken met behulp van sequentiële focusnavigatie. Vóór deze wijziging focust de tab-toets niet op scrollers, tenzij tabIndex expliciet is ingesteld op 0 of hoger.

Door scrollers standaard focusseerbaar te maken, kunnen gebruikers die geen muis kunnen (of willen) gebruiken, de geknipte inhoud scherpstellen met behulp van de tab- en pijltoetsen van een toetsenbord. Dit gedrag is alleen ingeschakeld als de scroller geen kinderen bevat die op het toetsenbord kunnen worden gefocust.

Dit is een voortdurende implementatie die begon in Chrome 124 en die vanaf Chrome 125 beschikbaar zou moeten zijn voor alle gebruikers. Meer informatie over scrollers die op het toetsenbord kunnen worden gefocust .

Declaratieve schaduw-DOM-serialisatie

Een functie waarmee ontwikkelaars DOM-bomen met schaduwwortels kunnen serialiseren, onlangs gestandaardiseerd in de HTML-standaard.

Web-API's

Toevoegingen aan de Attributierapportage-API

Er zijn functies toegevoegd aan de Attribution Reporting API om extra foutopsporingsmogelijkheden te creëren door het parseren van foutopsporingsrapporten te ondersteunen, de API-ergonomie te verbeteren door een veld te ondersteunen om het gewenste registratieplatform te specificeren en de privacy te verbeteren.

De Compute Pressure-API

De Compute Pressure API biedt statussen op hoog niveau die de CPU-belasting op het systeem vertegenwoordigen. Het maakt het voor de implementatie mogelijk om de juiste onderliggende hardware-metrieken te gebruiken om ervoor te zorgen dat gebruikers kunnen profiteren van alle beschikbare verwerkingskracht, zolang het systeem niet onder onbeheersbare stress staat. Intel leidde het ontwerp- en implementatiewerk voor deze API, waarmee apps voor videoconferenties functies en prestaties dynamisch in evenwicht kunnen brengen.

Accepteer HTTP(S)-URL's bij het bouwen van WebSocket

Deze update maakt HTTP(s)-schema's mogelijk in de WebSocket-constructor, waardoor ontwikkelaars ook relatieve URL's kunnen gebruiken. Deze zijn genormaliseerd naar de ws: en wss: interne schema's.

Hiermee wordt de voorgestelde uitbreiding van de Storage Access API (achterwaarts compatibel en in de oorspronkelijke proeffase) gelanceerd om toegang tot niet-gepartitioneerde cookie- en niet-cookie-opslag in een context van derden mogelijk te maken. De huidige API biedt alleen toegang tot cookies, die andere gebruiksscenario's hebben dan niet-cookie-opslag.

FedCM CORS-vereiste op het eindpunt voor ID-bevestiging

De ophaalacties in de FedCM API zijn moeilijk te redeneren vanwege de vereiste eigenschappen. Hoewel er voortdurende discussie is over het eindpunt van de accounts, bestaat er ook grotendeels consensus dat het eindpunt voor de ID-bewering CORS moet gebruiken. Deze update lijnt de beveiligingseigenschappen van deze ophaalactie beter uit met andere ophaalacties op het webplatform. Lees meer over hoe de CORS-vereiste werkt in FedCM-updates: Button Mode API-oorsprongproef, CORS en SameSite .

Interoperabele standaardactie voor muisbewegingen

Chrome stond het annuleren van muisbewegingsgebeurtenissen toe om andere API's zoals tekstselectie (en in het verleden zelfs slepen en neerzetten) te voorkomen. Dit komt niet overeen met andere grote browsers; het voldoet ook niet aan de UI Event-specificatie. Nu is tekstselectie niet langer de standaardactie bij muisbeweging. Tekstselectie en slepen en neerzetten kunnen nog steeds worden voorkomen door respectievelijk selectstart en dragstart gebeurtenissen te annuleren.

Updates voor de Shared Storage-API

Deze update voegt ondersteuning toe voor het uitvoeren van cross-origin worklets zonder dat u een iframe hoeft te maken.

Chrome-apps

Direct Sockets API in Chrome-apps

Deze update helpt de overgang van gespecialiseerde apps van Chrome-apps naar geïsoleerde web-apps te vergemakkelijken door Direct Sockets in Chrome-apps in te schakelen, waardoor web-apps directe transmissiecontroleprotocol (TCP) en user datagram protocol (UDP)-communicatie tot stand kunnen brengen met netwerkapparaten en -systemen.

Nieuwe oorsprongsproeven

Vanaf Chrome 125 kunt u zich aanmelden voor de volgende nieuwe Origin-proefversies .

FedCM-knopmodus-API en gebruik andere account-API

Deze origin-proefversie bevat de volgende twee FedCM API's.

Met de Button Mode API kunnen websites FedCM aanroepen met een klik op een knop, bijvoorbeeld door op de knop Aanmelden bij IdP te klikken. Dit vereist dat FedCM garandeert dat het altijd reageert met een zichtbare gebruikersinterface, in tegenstelling tot de widgetmodus, die geen gebruikersinterface toont wanneer gebruikers uitloggen. Door de FedCM API in de knopmodus aan te roepen, moeten gebruikers inloggen op de IdP (in een dialoogvenster) wanneer gebruikers zijn uitgelogd.

Omdat de knopmodus wordt aangeroepen binnen een expliciet gebruikersgebaar, kan de gebruikersinterface ook prominenter zijn (bijvoorbeeld gecentreerd en modaal) vergeleken met de gebruikersinterface van de widgetmodus (die niet zo'n expliciete bedoeling heeft). Leer meer over hoe de Button Mode API werkt in FedCM-updates: Button Mode API origin-proefversie, CORS en SameSite

Met de Use Other Account API kan een identiteitsprovider gebruikers toestaan ​​zich aan te melden bij andere accounts.

Schrijf u in voor de FedCM origin proefperiode .

Opvouwbare API's

Deze origin-proefversie omvat de Device Posture API en Viewport Segments Enumeration API. Deze API's zijn ontworpen om ontwikkelaars te helpen zich te richten op opvouwbare apparaten. Lees meer in de Origin-proefversie voor opvouwbare API's .

Registreer u voor de Origin-proefversie van Foldable API's .

Afmelden voor mediavoorbeelden

Deze proefversie met omgekeerde oorsprong sluit sites uit van de lancering van Media Previews.

Chrome is van plan realtime voorbeelden van camera- en microfooninvoer te bieden op het moment dat websites om camera- en microfoonrechten vragen. Deze zullen ook beschikbaar zijn via de pageinfo van de site.

Bovendien kunnen gebruikers met meerdere apparaten een camera en microfoon selecteren op het moment dat toestemming wordt gevraagd, tenzij de site een specifiek apparaat heeft aangevraagd via getUserMedia() .

Deze functie wordt gelijktijdig ontwikkeld met een ander machtigingsproject, Page-Embedded Permissions Controls (PEPC). Gebruikers zullen worden blootgesteld aan PEPC via een onafhankelijk lanceringsproces met een afzonderlijke origin-proef of locatiespecifieke experimenten.

Beëindigingsproef voor HTMLVideoElement-eigenschappen en -methoden met voorvoegsel

Met deze beëindigingsproef kunt u zich weer aanmelden voor ondersteuning voor de vooraf ingestelde HTMLVideoElement-eigenschappen en -methoden als u meer tijd nodig heeft om uw code aan te passen. Bekijk de volledige details van de verwijderde eigenschappen en methoden onder Beëindigingen en verwijderingen .

Registreer u voor de beëindigingsproefperiode van de Prefixed Video-API op volledig scherm .

Scannen vóór laden overslaan

Slaat de vooraf geladen scanner over om prestatieafwegingen te onderzoeken voor pagina's zonder ophaalacties van subbronnen.

De stap van het vooraf laden van de scanner verbetert de prestaties van pagina's met het ophalen van subbronnen, door de implementatie van de speculatieve prefetch. Voor pagina's die geen profijt hebben van deze stap, dat wil zeggen voor pagina's zonder subbronnen, is dit echter extra verwerkingsoverhead met weinig voordeel.

Voor geavanceerde webgebruikers die willen profiteren van het verminderen van deze overhead, biedt dit experiment een besturingselement op paginaniveau om de vooraf geladen scanner uit te schakelen. Gegevens verzameld uit dit experiment kunnen evalueren of een aangepaste API of een andere implementatie van de vooraf geladen HTML-scanner nuttig zou zijn.

Registreer u voor de proefversie van het vooraf laden van scannen van oorsprong .

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 worden de volgende drie functies verwijderd.

Verwijder de alias "window-placement" voor toestemming en toestemmingsbeleid "window-management"

Verwijdert de alias "window-placement" voor toestemming en het toestemmingsbeleid "window-management". Dit maakt deel uit van een grotere poging om de tekenreeksen te hernoemen door uiteindelijk "window-placement" af te schaffen en te verwijderen . De terminologiewijziging verbetert de levensduur van de descriptor naarmate de Window Management API in de loop van de tijd evolueert.

Verwijdering van Enterprise-beleid: NewBaseUrlInheritanceBehaviorAllowed

De onderliggende codewijziging (nieuw overervingsgedrag van basis-URL's inschakelen) die door dit ondernemingsbeleid wordt overschreven, is sinds augustus 2023 in stabiele releases ingeschakeld (118.0.5966.0). Omdat bekende problemen zijn opgelost, wordt dit bedrijfsbeleid verwijderd in Chrome 125.

Verwijdering van vooraf ingestelde HTMLVideoElement-eigenschappen en -methoden op volledig scherm

De vooraf ingestelde HTMLVideoElement API's op volledig scherm zijn verouderd sinds Chrome 38. Ze zijn vervangen door Element.requestFullscreen() , die in 2018 voor het eerst zonder prefix werd geleverd in Chrome 71.

De volgende eigenschappen en methoden worden verwijderd uit HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (let op de verschillende hoofdletters van de "S" in FullScreen)
  • webkitExitFullScreen()

Registreer u voor de beëindigingsproef die in dit bericht wordt vermeld, als uw site hier nog steeds van afhankelijk is en u meer tijd nodig heeft voor het updaten van de code.