Toevoegingen aan de Screen Capture API, interpolatie van eigenschappen van CSS-rastersjablonen en meer.
Tenzij anders aangegeven, zijn de hieronder beschreven 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 107 is vanaf 29 september 2022 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android.
Interpolatie van CSS grid-template
In CSS Grid kunnen ontwikkelaars met de eigenschappen grid-template-columns
en grid-template-rows
respectievelijk lijnnamen definiëren en de grootte van gridkolommen en -rijen volgen. Dankzij onze bijdragers bij Microsoft ondersteunen we nu interpolatie voor deze eigenschappen. Rasterlay-outs kunnen nu soepel tussen statussen overgaan, in plaats van halverwege een animatie of overgang te snappen.
Besturingselementen voor het delen van schermen die de privacy behouden
De Screen Capture API introduceert toevoegingen aan de bestaande Media Capture en Streams API waarmee de gebruiker een scherm of gedeelte van een scherm (zoals een venster) kan selecteren om vast te leggen als mediastream. Deze stream kan vervolgens via het netwerk worden opgenomen of met anderen worden gedeeld. In deze bèta zijn enkele nieuwe functies aan deze API toegevoegd.
DisplayMediaStreamConstraints.selfBrowserSurface
Tip waarmee webapplicaties de browser kunnen instrueren of, bij het aanroepen van getDisplayMedia()
, het huidige tabblad moet worden uitgesloten van de lijst met tabbladen die aan de gebruiker wordt aangeboden.
Dit helpt onbedoelde zelfopname te voorkomen. Wanneer gebruikers per ongeluk het tabblad kiezen waarop de app wordt uitgevoerd, ontstaat er een Hall-of-Mirrors-effect, wat gebruikers in verwarring brengt en discussies met externe gebruikers ontspoort.
DisplayMediaStreamConstraints.surfaceSwitching
Voegt een optie toe om programmatisch te bepalen of Chrome een knop toont om tussen tabbladen te schakelen terwijl het scherm wordt gedeeld. Deze optie wordt doorgegeven aan navigator.mediaDevices.getDisplayMedia()
.
Met de knop 'Deel dit tabblad in plaats daarvan' kunnen gebruikers naadloos wisselen welk tabblad ze delen, zonder dat ze het tabblad voor videoconferenties opnieuw hoeven te selecteren, op een knop moeten klikken om getDisplayMedia()
opnieuw te starten of een nieuw tabblad moeten selecteren uit een lange lijst met tabbladen. Dit gedrag wordt voorwaardelijk zichtbaar omdat niet alle webtoepassingen dit gedrag aankunnen.
MediaTrackConstraintSet.displaySurface
Wanneer getDisplayMedia()
wordt aangeroepen, biedt de browser de gebruiker een keuze uit weergaveoppervlakken: tabbladen, vensters of monitoren. Met behulp van de displaySurface-beperking kan de webtoepassing nu een hint geven aan de browser als deze er de voorkeur aan geeft dat een bepaald oppervlaktetype prominenter aan de gebruiker wordt aangeboden.
Lees meer over hoe deze functies kunnen helpen onbedoeld te veel delen te voorkomen.
Geef de blokkeringsstatus weer in Resource Timing
Voegt een veld toe aan PerfomanceResourceTiming
om de weergaveblokkeringsstatus van een resource aan te geven. Momenteel is vanuit het perspectief van ontwikkelaars de enige manier om te bepalen welke bronnen daadwerkelijk weergaveblokkering veroorzaken, het vertrouwen op complexe heuristieken. Het nieuwe veld zou in plaats daarvan een direct signaal hierover geven.
Jokertekens in de oorsprong van het machtigingsbeleid
Deze functie voegt ondersteuning toe voor jokertekens in het machtigingsbeleid dat is gestructureerd als SCHEME://*.HOST:PORT
(bijvoorbeeld https://*.foo.com/), waarbij een geldige oorsprong kan worden opgebouwd uit SCHEME://HOST:PORT
(bijvoorbeeld https://foo.com/). Dit vereist dat HOST minimaal eTLD+1 is (een registreerbaar domein). Dit betekent dat https://*.bar.foo.com/
werkt, maar https://*.com/
niet. Jokertekens in de schema- en poortsectie worden niet ondersteund en https://*.foo.com/
delegeert niet naar https://foo.com/
. Voorheen moest een machtigingsbeleid er mogelijk als volgt uitzien:
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")
Met deze functie kunt u het volgende gebruiken:
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")
Ondersteun het rel
attribuut op <form>
-elementen
Deze functie voegt het rel
attribuut toe aan formulierelementen, wat het mogelijk maakt om te voorkomen dat window.opener
aanwezig is op websites waarnaar wordt genavigeerd door formulierelementen die rel=noopener
hebben en voorkomt dat de referer-header wordt verzonden met rel=noreferrer
.
Oorsprongsproeven
Deze versie van Chrome bevatte twee nieuwe origin-proefversies .
Declaratieve PendingBeacon-API
Een stateful beacon-API waarmee de browser kan bepalen wanneer beacons worden verzonden. Een beacon is een bundel gegevens die naar een backend-server wordt verzonden, zonder een bepaald antwoord te verwachten. Het is vaak wenselijk om deze aan het einde van het bezoek van een gebruiker aan een pagina te verzenden, maar er is geen goed moment om dat 'verzenden'-oproep te doen. Deze API delegeert het verzenden naar de browser zelf, zodat deze bakens kan ondersteunen bij het verwijderen van pagina's of bij het verbergen van pagina's, zonder dat de ontwikkelaar verzendoproepen op precies de juiste momenten hoeft te implementeren.
Deze proefperiode loopt naar verwachting tot Chrome 109. Registreer u hier voor de proefperiode .
Machtigingen-beleid: lossen
Met deze functie kunnen pagina's de uitvoering van unload-gebeurtenishandlers uitschakelen. Het doel is om sites die alle losbehandelaars hebben verwijderd, toe te staan om ervoor te zorgen dat ze niet per ongeluk nieuwe toevoegen. Dit zal sites helpen bij het migreren van unload-gebeurtenishandlers en daardoor het aantal BFCache-hits verbeteren .
Deze proefperiode loopt naar verwachting tot Chrome 109. Registreer u hier voor de proefperiode .
Beëindigingen en verwijderingen
Deze versie van Chrome introduceert de hieronder vermelde 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 beëindigd.
Verwacht-CT
Expect-CT
is een HTTP-header waarmee websites zich konden aanmelden voor het afdwingen van Certificate Transparency voordat dit standaard werd afgedwongen. Het heeft ook rapportagefunctionaliteit om ontwikkelaars te helpen CT-misconfiguraties te ontdekken.
De Expect-CT
HTTP-header is ontworpen om de overgang naar universele Certificate Transparency (CT)-handhaving te helpen, door hoogwaardige websites toe te staan zich aan te melden voor CT-handhaving of rapportage voor betere beveiliging voordat CT-handhaving vereist was (door Chrome) op alle openbare websites . Expect-CT
heeft nu echter zijn nut overleefd. Chrome vereist nu CT op alle openbare websites, dus er is geen beveiligingswaarde meer voor Expect-CT
. Geen enkele andere browser heeft Expect-CT
geïmplementeerd, dus het verwijderen ervan is geen probleem met de interoperabiliteit.