Problemen met Chrome Origin-proefversies oplossen

Los veelvoorkomende problemen op met proeftokens in metatags, headers en scripts.

Controlelijst

Om problemen met een Origin-proefversie op te lossen, kunt u elk van de onderstaande problemen oplossen met behulp van de meegeleverde links.

Probeer het eens!

De onderstaande demo's laten elk van de manieren zien waarop u een origin-proeftoken kunt verstrekken en toegang kunt krijgen tot een proeffunctie:

Gebruik Chrome DevTools om tokens te controleren

Vanaf Chrome 93 biedt DevTools informatie over de herkomst van de proefversie in het paneel Toepassingen voor het geselecteerde frame.

Informatie over de oorsprong van Chrome DevTools-proefversies in het paneel Applicaties.

Vouw het bovenste frame uit om de herkomstproeftokens te inspecteren die beschikbaar zijn voor een subframe. Voor de demopagina op ot-iframe.glitch.me kunt u bijvoorbeeld zien dat de pagina in het iframe een token levert.

Chrome DevTools-applicatiepaneel, met originele proeftokens voor pagina in iframe.

  • Tokenstatus : of de pagina een geldig token heeft. Houd er rekening mee dat er voor sommige origin-trials andere factoren kunnen zijn, zoals geografische beperkingen, die betekenen dat de origin-trial-functie niet beschikbaar is, ondanks de aanwezigheid van een geldig token. Chrome DevTools-statuscodes leggen de betekenis uit van elk van de codes voor origin-proefversies.
  • Oorsprong : de weboorsprong die voor het token is geregistreerd.
  • Vervaltijd : de maximaal (laatst) mogelijke vervaldatum/-tijd voor het token, die normaal gesproken overeenkomt met het einde van de proefperiode. Dit is niet hetzelfde als de Geldig tot datum voor het token dat wordt weergegeven in Mijn Registraties , , die aangeeft hoe lang het token momenteel geldig is en kan worden verlengd .
  • Gebruiksbeperking : Gebruikslimieten, die voor sommige proefversies kunnen worden ingesteld .
  • Derde partij : of matching van derden is ingeschakeld voor het token. Dit is beschikbaar voor sommige originele proefversies, waarbij een proeffunctie op meerdere sites toegankelijk moet zijn via scripts van derden.
  • Match subdomeinen : of subdomeinmatching is ingeschakeld voor het token. Hierdoor kan een origin-proeffunctie worden getest op meerdere subdomeinen van een origin, zonder dat voor elk subdomein een ander token nodig is.

Chrome DevTools geeft een waarschuwing weer naast de naam van de proefversie als de proefversie niet beschikbaar is voor de huidige gebruiker, de token is verlopen of als er andere beperkingen zijn.

Informatie over de herkomst van Chrome DevTools in het applicatiepaneel met de verlopen token

Chrome DevTools-statuscodes

  • Verlopen : Token heeft de vervaldatum overschreden. Het token moet worden vernieuwd om een ​​nieuw token met een nieuwe vervaldatum te genereren.
    Broncode

  • FeatureDisabled : Proefversie is momenteel uitgeschakeld voor gebruik.
    Broncode

  • FeatureDisabledForUser : Dit token is aangewezen als uitgeschakeld voor de huidige gebruiker via een alternatieve gebruiksbeperking. Zie de sectie 'Uitsluitingen van gebruikerssubsets' in het ontwerpdocument .
    Broncode 1
    Broncode 2

  • Onveilig : de oorsprong van het verzoek is onveilig en de proefversie is niet ingeschakeld voor onveilige oorsprong. Zoals uitgelegd in de origin trial token validator code : 'Voor tokens van derden moeten zowel de huidige oorsprong als de scriptoorsprong veilig zijn. Als gevolg van subdomeinovereenkomsten komt de tokenoorsprong mogelijk niet exact overeen met een van de opgegeven scriptoorsprongen en geeft het resultaat niet aan welke specifieke oorsprong overeenkomt. Dit betekent dat het geen directe zoekopdracht is om de juiste scriptoorsprong te vinden. Om te voorkomen dat alle oorsprongsvergelijkingen opnieuw moeten worden uitgevoerd, zijn er snelkoppelingen die afhankelijk zijn van het aantal opgegeven scriptoorsprongen. Er moet er minstens één zijn, anders wordt het token van de derde partij niet succesvol gevalideerd.'
    Broncode

  • InvalidSignature : het token heeft een ongeldige of onjuist opgemaakte handtekening.
    Broncode

  • Misvormd : het token is verkeerd ingedeeld en kan niet worden geparseerd.
    Broncode

  • NotSupported : De originele proefversie die door het token wordt gedefinieerd, wordt niet ondersteund in de Chromium 'embedder': een browser zoals Chrome of Edge, een WebView of een andere user-agent.
    Broncode

  • Succes : het token is goed gevormd, is niet verlopen, komt overeen met een origin-proeffunctie en wordt aangevraagd vanaf een verwachte oorsprong.
    Broncode

  • TokenDisabled : Token is gemarkeerd als uitgeschakeld en kan niet worden gebruikt.
    Broncode

  • TrialNotAllowed : De oorspronkelijke proefversie is niet beschikbaar voor de huidige gebruiker .
    Broncode

  • UnknownTrial : het token specificeert een functienaam die niet overeenkomt met een bekende proefversie.
    Broncode

  • WrongOrigin : de oorsprong van de aanvraag komt niet overeen met de oorsprong die is opgegeven in het token. Dit kan het schema, de hostnaam of de poort omvatten. Deze status wordt ook weergegeven als een token van derden wordt verstrekt in een HTTP-header, metatag of inline-script, in plaats van vanuit een extern JavaScript-bestand.
    Broncode

  • WrongVersion : Verkeerde tokenversie: momenteel worden alleen tokenversie 2 en 3 ondersteund.
    Broncode


Het werkt niet! 🤔

Als uw Origin-proefperiode niet werkt zoals verwacht, controleer dan of u aan de volgende voorwaarden voldoet.

Je test in Chrome, niet in Chromium of een andere browser

Testversies van Chrome Origin zijn bedoeld voor Chrome-gebruikers. Vertrouw niet op de proefversietokens van Chrome om proeffuncties in andere browsers in te schakelen, waaronder Chromium en andere op Chromium gebaseerde browsers. Dit komt omdat proefversies van Chrome-oorsprong specifiek zijn voor functies die in Chrome beschikbaar zijn gesteld voor experimenten.

Origin-proefversies zijn ook beschikbaar voor Firefox en Microsoft Edge . Bij inschrijving voor een originele proefversie van Firefox of Edge wordt een functie in Chrome niet ingeschakeld.

De Origin-proefperiode is ingeschakeld voor de Chrome-versies die toegang krijgen tot uw site

Toegang tot proefversies is beperkt tot specifieke versies van Chrome. In sommige gevallen kan dit betekenen dat een proeffunctie alleen beschikbaar is voor pre-stabiele Chrome-kanalen: Canary, Dev en Beta.

U kunt de beschikbaarheid van versies controleren op de registratiepagina voor de proefversie:

Chrome Origin-proefpagina voor First Party Sets en SameParty, waarbij de beschikbaarheid van Chrome is gemarkeerd

U kunt de Chrome-versie die u gebruikt controleren via chrome://version.

De Origin-proefperiode wordt niet uitgeschakeld door de Chrome-instellingen

Als een individuele gebruiker meldt dat een functie niet werkt, controleer dan of de functie niet is uitgeschakeld in de Chrome-instellingen. Privacy Sandbox- functies kunnen bijvoorbeeld worden uitgeschakeld via de chrome://settings/privacySandbox pagina.

Trefwoorden en syntaxis zijn correct

Zorg ervoor dat u de juiste trefwoorden en syntaxis gebruikt voor origin-proeftokens.

Voor gebruik door de eerste partij kan een token worden verstrekt in een origin-trial metatag:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Als alternatief kan een token worden verstrekt in een Origin-Trial antwoordheader. Hier is een voorbeeld van het gebruik van Express in Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Tokens kunnen ook worden verstrekt met behulp van JavaScript :

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

De oorsprong van de token van de eerste partij komt overeen met de oorsprong van de pagina

Zorg ervoor dat de Web Origin- waarde die u selecteert wanneer u zich registreert voor een proefperiode, overeenkomt met de oorsprong van de pagina met de metatag of header die het token levert.

Als u bijvoorbeeld https://example.com als weboorsprong hebt geselecteerd:

Pagina voor Chrome Origin-proefversies waarop https://example.com is geselecteerd als Web Origin.

Mogelijk krijgt u een tokenwaarde als deze:

Pagina Chrome Origin-proefversies met de tokenwaarde.

Controleer of deze waarde overeenkomt met het token dat wordt gebruikt op de pagina waarvoor u problemen oplost.

Controleer de HTML voor een token in een metatag:

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Voor een token in een header kunt u de tokenwaarde controleren in het Chrome DevTools Network-paneel onder Response Headers :

Chrome DevTools Network-paneel met de responskop van de origin-proefversie.

Het token van de eerste partij wordt aangeboden vanaf de oorsprong die het gebruikt

Om toegang te krijgen tot een origin-proeffunctie voor code die is opgenomen in een pagina die vanuit uw origin wordt weergegeven, geeft u een proeftoken op in een metatag, header of via JavaScript van dezelfde origin.

De voor een token geregistreerde oorsprong moet overeenkomen met de oorsprong die deze token bedient.

De tokenoorsprong van derden komt overeen met de scriptoorsprong

U kunt zich registreren om deel te nemen aan een origin-proef voor scripts die op andere origins zijn geïnjecteerd.

Als u bijvoorbeeld wilt dat scripts die worden geleverd vanuit javascript-library.example deelnemen aan een origin-proefversie, moet u een token registreren met overeenkomsten van derden voor javascript-library.example .

Registratiepagina voor Chrome Origin-proefversies waarop overeenkomsten van derden zijn geselecteerd.

De oorsprongswaarde voor een token van derden moet overeenkomen met de oorsprong van het script dat het token injecteert.

Script van derden maakt gebruik van een token van derden

U kunt een script van derden niet inschakelen om deel te nemen aan een origin-proef op uw site door eenvoudigweg een token voor uw origin te registreren, en niet voor het script.

Scripts van derden moeten tokens gebruiken waarvoor matching van derden is ingeschakeld en die via het script zelf worden geïnjecteerd (niet opgenomen in een metatag of header op uw site) met behulp van code zoals de volgende:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Token van derden wordt geleverd via een extern script, niet via een metatag, HTTP-header of inline script

Tokens van derden worden gevalideerd aan de hand van de oorsprong van het script dat ze heeft geïnjecteerd, maar inline scripts en <meta> -tags in statische opmaak hebben geen oorsprong (dwz een bron-URL).

Dit betekent dat een token van derden moet worden verstrekt via een extern script, en niet in een <meta> -tag of inline-script. Het maakt niet uit of het externe script dat het token injecteert van dezelfde oorsprong komt als de bevattende pagina, of van een andere oorsprong, zolang de oorsprong van het script overeenkomt met een oorsprong die voor de proefversie is geregistreerd.

Je kunt een demo hiervan zien op ot-iframe-3p.glitch.me .

Toegang tot de Origin-proeffunctie wordt ondersteund voor de methode die wordt gebruikt om een ​​proeftoken te leveren

Voor sommige soorten toegang tot de oorspronkelijke proefversiefuncties moet u op een specifieke manier een proeftoken opgeven. De enige manier om origin-proeftoegang voor servicemedewerkers en gedeelde medewerkers in te schakelen is bijvoorbeeld door een token op te geven in een Origin-Trial header.

Subdomeinmatching is ingeschakeld voor een token dat op een subdomein wordt gebruikt

Als een origin-proeffunctie voor sommige pagina's op uw site niet lijkt te werken, controleer dan of de tokens correct zijn ingesteld voor de subdomeinen die ze bedienen.

Wanneer u zich registreert voor een origin-proefperiode, kunt u er optioneel voor kiezen om alle subdomeinen van de origin te matchen:

Registratiepagina voor proefversies van Chrome Origin waarop de geselecteerde subdomeinovereenkomst wordt weergegeven

U kunt ook subdomeinen matchen voor tokens van derden:

Registratiepagina voor proefversies van Chrome Origin waarop overeenkomsten van derden en geselecteerde subdomeinen worden weergegeven

Subdomeintokens worden niet uitgegeven voor oorsprongen in de openbare achtervoegsellijst . U kunt bijvoorbeeld geen origin zoals https://appspot.com of https://github.io registreren, maar u kunt zich wel registreren voor domeinen binnen die origin, zoals https://example.appspot.com of https: //voorbeeld.github.io.

Het token is nog steeds geldig

Tokens zijn zes weken geldig nadat ze zijn gemaakt. Daarnaast moet u feedback indienen om de Geldig tot-datum te verlengen. Origin Trials Guide for Web Developers legt uit hoe u ervoor kunt zorgen dat uw token geldig is voor een volledige origin-proefperiode.

U kunt controleren of er actieve tokens zijn op de pagina Mijn registraties van Chrome Origin Trials:

Chrome Origin-proefversies Mijn registraties-pagina met de datum Geldig tot

Chrome DevTools geeft Status Success weer als het token nog steeds geldig is:

Informatie over de herkomst van Chrome DevTools in het paneel Applicaties, met de nadruk op Status: Succes.

Als uw token is verlopen, geeft DevTools de status Expired weer en wordt op uw pagina Mijn registraties de sectie Verlopen tokens weergegeven.

Chrome-originele tests Mijn registratiepagina toont verlopen tokens.

Het oorsprongsproces is nog niet afgelopen

U kunt de einddatum voor een origin-proefperiode controleren op de registratiepagina :

Pagina Chrome Origin-proefversies voor First Party Sets en SameParty met proefversie Beschikbare details gemarkeerd.

Voor proefversies die zijn beëindigd, zal DevTools zoiets als dit weergeven:

Informatie over de herkomst van Chrome DevTools in het applicatiepaneel met ValidTokenNotProvided en Status Expired

U ontvangt geautomatiseerde e-mails wanneer feedback vereist is of een token op het punt staat te verlopen, maar niet wanneer de proefperiode eindigt.

De origin-proefversie is beschikbaar voor de huidige gebruiker

Sommige origin-proefversies zijn niet beschikbaar voor bepaalde gebruikers, zelfs als er een geldig token wordt verstrekt.

Als er geen proefversie beschikbaar is voor de huidige gebruiker, geeft Chrome DevTools een TrialNotAllowed waarschuwing weer:

Informatie over de herkomst van Chrome DevTools in het applicatiepaneel met de TrialNotAllowed-waarschuwing.

Voor elke origin-proefversie wordt informatie verstrekt over gebruiksbeperkingen en beschikbaarheid.

Zoals bij elke webplatformfunctie moet u functiedetectie gebruiken om te bevestigen dat een oorspronkelijke proeffunctie wordt ondersteund voordat u deze gebruikt.

De gebruiksbeperkingen voor de Origin-proefperiode zijn niet overschreden

Standaard wordt een origin-proeffunctie ingeschakeld op elke pagina die een geldig token voor de proefperiode heeft.

Behalve in zeldzame gevallen is het gebruik van de Origin-proefperiode echter beperkt tot maximaal 0,5% van alle geladen Chrome-pagina's . De origin-proeffunctie wordt uitgeschakeld als het totale gebruik door alle Chrome-gebruikers dat bedrag overschrijdt. DevTools geeft de tokenstatus weer als uitgeschakeld.

Er zijn geen gebruikslimieten voor beëindigingsproeven, aangezien deze geen nieuwe functies introduceren en daarom geen risico inhouden dat een aanzienlijk deel van het internet afhankelijk wordt van een proeffunctie.

Sommige proefversies bieden ook een optie om het gebruik te beperken, wat betekent dat de functies van de originele proefversie voor sommige gebruikers worden uitgeschakeld. Deze optie wordt beschikbaar gesteld op de registratiepagina voor een origin-proefversie die deze optie biedt:

Registratiepagina voor Chrome Origin-proefversies met gebruiksbeperkingen.

Als u merkt dat de toegang van uw gebruikers tot een origin-proeffunctie lager is dan verwacht, zorg er dan voor dat 'Standaardlimiet' is geselecteerd.

Iframes bieden hun eigen tokens

Om toegang tot een origin-proeffunctie mogelijk te maken, moet een iframe een token in een metatag, een HTTP-header of programmatisch bevatten. Iframes nemen geen toegang over tot functies die zijn ingeschakeld voor pagina's die deze bevatten.

ot-iframe.glitch.me demonstreert toegang tot een origin-proeffunctie vanuit een iframe. ot-iframe-3p.glitch.me biedt meerdere cross-origin iframe-voorbeelden.

Het machtigingsbeleid is correct geconfigureerd

Sommige oorspronkelijke proeffuncties kunnen worden beïnvloed door een Permissions-Policy header (voorheen bekend als een Feature-Policy header). U kunt dit controleren in de Intent to Experiment voor de proeffunctie, of in de ontwikkelaarsdocumentatie voor de functie op web.dev of developer.chrome.com/blog .

Zorg ervoor dat de functie die u probeert te openen niet wordt geblokkeerd door een Permissions-Policy richtlijn. U kunt controleren op antwoordheaders in het Chrome DevTools Network-paneel en de volledige lijst met toegestane functies bekijken in het Applicatie-paneel.

Chrome DevTools Applicatiepaneel, met de functie Toestemmingsbeleid toegestaan.

Hoe zit het met de arbeiders?

Functies voor Origin-proefversies kunnen beschikbaar worden gemaakt voor servicemedewerkers, gedeelde medewerkers en toegewijde medewerkers. De enige manier om toegang voor servicemedewerkers en gedeelde medewerkers mogelijk te maken, is echter door een token op te geven in een Origin-Trial header.

Toegewijde werknemers nemen de toegang over tot functies die door hun bovenliggende document worden ingeschakeld.

Token wordt verstrekt voordat toegang wordt verkregen tot de functie

Zorg ervoor dat er een origin-proeftoken wordt verstrekt voordat u toegang krijgt tot een proeffunctie. Als een pagina bijvoorbeeld een token levert via JavaScript, zorg er dan voor dat de code die het token levert, wordt uitgevoerd vóór de code die probeert toegang te krijgen tot de proeffunctie.

Origin-proefdemo's

Meer informatie