Résolvez les problèmes courants liés aux jetons d'essai dans les balises Meta, les en-têtes et les scripts.
Checklist
Pour résoudre les problèmes liés à une phase d'évaluation, examinez chacun des problèmes ci-dessous à l'aide des liens fournis.
Essayez !
Les démonstrations ci-dessous présentent chacune des façons de fournir un jeton d'évaluation d'origine et d'accéder à une fonctionnalité en phase d'évaluation:
- ot-meta.glitch.me: jeton dans une balise Meta
origin-trial
- ot-header.glitch.me: jeton dans un en-tête de réponse
Origin-Trial
- ot-3p.glitch.me: jeton injecté par un script tiers.
- ot-iframe.glitch.me: fonctionnalité d'évaluation de l'origine accessible dans un iFrame
- ot-iframe-3p.glitch.me: exemples d'iFrames multi-origines
Vérifier les jetons à l'aide des outils pour les développeurs Chrome
Depuis les outils de développement Chrome 93 fournissent des informations sur la phase d'évaluation dans le Panneau d'application pour le frame sélectionné.
Développez le cadre supérieur pour examiner les jetons d'évaluation de l'origine disponibles pour un sous-frame. Par exemple, pour le champ de démonstration à l'adresse ot-iframe.glitch.me, vous pouvez constater que la page iFrame fournit un jeton.
- État du jeton: indique si la page dispose d'un jeton valide. Notez que pour certaines phases d'évaluation, d'autres facteurs, comme des restrictions géographiques, signifient que la phase d'évaluation n'est pas disponible, malgré la présence d'un jeton valide. Codes d'état des outils pour les développeurs Chrome explique la signification de chacun des codes pour les phases d'évaluation.
- Origine: l'origine Web enregistrée pour la à partir d'un jeton d'accès.
- Expiry Time (Délai d'expiration) : la date/heure d'expiration la plus (la plus récente) possible pour le jeton, qui sera normalement correspondent à la fin de l'essai. Il ne s'agit pas de la même date que la date d'expiration de validité du jeton affiché dans Mes enregistrements, , qui indique la durée de validité actuelle du jeton, et peut être prolongé.
- Restriction d'utilisation: les limites d'utilisation, qui peuvent être définies pour certains essais.
- Tiers: correspondance tierce est activé pour le jeton. Cette fonctionnalité est disponible pour certaines phases d'évaluation, où une fonctionnalité d'essai doit sont accessibles sur plusieurs sites à partir de scripts tiers.
- Match Sub-Domains (Correspondance avec les sous-domaines) : indique si la correspondance de sous-domaine est activé pour le jeton. Cela permet de tester une fonctionnalité d'évaluation sous-domaines d'une origine, sans avoir besoin d'un jeton différent pour chaque sous-domaine.
Les outils pour les développeurs Chrome afficheront un avertissement à côté du nom de l'essai si celui-ci n'est pas disponible pour l'utilisateur actuel, le jeton a expiré ou s'il existe d'autres restrictions.
Codes d'état des outils pour les développeurs Chrome
Arrivé à expiration: le jeton a dépassé sa date d'expiration. Le jeton doit être renouvelé pour générer un nouveau jeton avec une nouvelle date d'expiration.
Code sourceFeatureDisabled: l'essai est actuellement désactivé.
Code sourceFeatureDisabledForUser: ce jeton a été désigné comme désactivé pour l'utilisateur actuel via un une restriction d'utilisation alternative. Voir les "Exclusions de sous-ensembles d'utilisateurs" du document de conception.
Code source 1
Code source 2Non sécurisé: l'origine de la requête n'est pas sécurisée, et l'essai n'est pas activé pour les origines non sécurisées. Comme expliqué dans le code du validateur de jeton de la phase d'évaluation: Pour les jetons tiers, l'origine actuelle et l'origine du script doivent être sécurisées. Motif : correspondance de sous-domaine, il est possible que l'origine du jeton ne corresponde pas exactement à l'un des scripts fournis et le résultat n'indique pas quelle origine spécifique a été mise en correspondance. Cela signifie qu'il ne s'agit pas une recherche directe pour trouver l'origine de script appropriée. Pour éviter d'effectuer à nouveau toutes les comparaisons d'origines, il existe des raccourcis qui dépendent du nombre d'origines de script fournies. Il doit y avoir au moins ou le jeton tiers ne serait pas validé correctement."
Code sourceInvalidSignature: la signature du jeton n'est pas valide ou son format n'est pas correct.
Code sourceFormat incorrect: le jeton est mal formé et n'a pas pu être analysé.
Code source
NotSupported: la phase d'évaluation définie par le jeton n'est pas compatible avec Chromium "embedder" : un navigateur tel que Chrome ou Edge, WebView ou un autre user-agent.
Code sourceOpération réussie: le jeton est correctement formé, n'a pas expiré, correspond à une fonctionnalité d'évaluation d'origine et a demandée à partir d'une origine attendue.
Code sourceTokenDisabled: le jeton a été marqué comme désactivé et ne peut pas être utilisé.
Code sourceTrialNotAllowed: la phase d'évaluation n'est pas disponible pour l'utilisateur actuel.
Code sourceUnknownTrial: ce jeton spécifie un nom de fonctionnalité qui ne correspond à aucun essai connu.
Code sourceWrongOrigin: l'origine de la requête ne correspond pas à celle spécifiée dans le jeton. Cela peut inclure le schéma, le nom d'hôte ou le port. Cet état est également affiché si un jeton tiers sont fournies dans un en-tête HTTP, une balise Meta ou un script intégré, et non à partir d'un fichier JavaScript externe.
Code sourceWrongVersion: version de jeton incorrecte: seules les versions 2 et 3 de jeton sont actuellement compatibles.
Code source
Cela ne fonctionne pas. 🤔
Si votre phase d'évaluation ne fonctionne pas comme prévu, assurez-vous de remplir les conditions suivantes.
Vous effectuez le test dans Chrome, et non dans Chromium ou dans un autre navigateur
Les phases d'évaluation de Chrome sont conçues pour les utilisateurs de Chrome. Ne pas utiliser les jetons d'évaluation Origin Trial Chrome pour activer des fonctionnalités d'essai dans d'autres navigateurs, y compris Chromium et d'autres navigateurs basés sur Chromium. En effet, les phases d'évaluation de Chrome sont spécifiques aux fonctionnalités disponibles dans Chrome pour et l'expérimentation.
Des phases d'évaluation sont également disponibles pour Firefox et Microsoft Edge. L'inscription à une phase d'évaluation de Firefox ou d'Edge n'active pas la fonctionnalité dans Chrome.
La phase d'évaluation est activée pour les versions de Chrome accédant à votre site
L'accès aux versions d'essai est limité à certaines versions de Chrome. Dans certains cas, il peut s'agir d'un essai Cette fonctionnalité n'est disponible que pour les versions pré-stable de Chrome: Canary, en développement et bêta.
Vous pouvez vérifier la disponibilité des versions sur la page d'inscription. pour l'essai:
Vous pouvez vérifier la version de Chrome que vous utilisez à l'adresse chrome://version.
La phase d'évaluation n'est pas désactivée par les paramètres Chrome
Si un utilisateur signale qu'une fonctionnalité ne fonctionne pas pour lui, vérifiez qu'elle ne fonctionne pas
désactivées dans leurs paramètres Chrome. Par exemple, Privacy Sandbox
fonctionnalités peuvent être désactivées depuis la page chrome://settings/privacySandbox
.
Les mots clés et la syntaxe sont corrects.
Assurez-vous d'utiliser des mots clés et une syntaxe appropriés pour les jetons d'évaluation.
Pour une utilisation propriétaire, vous pouvez fournir un jeton dans une balise Meta origin-trial
:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Un jeton peut également être fourni dans un en-tête de réponse Origin-Trial
. Voici un exemple utilisant
Express dans Node.js:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
Les jetons peuvent également être fournis à l'aide de JavaScript:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
L'origine du jeton propriétaire correspond à l'origine de la page
Assurez-vous que la valeur Origine Web sélectionnée lorsque vous vous inscrivez à un essai correspond à l'origine de page contenant la balise Meta ou l'en-tête qui fournit le jeton.
Par exemple, si vous avez sélectionné https://example.com
comme origine Web:
Vous pouvez obtenir une valeur de jeton semblable à celle-ci:
Vérifiez que cette valeur correspond au jeton utilisé sur la page concernée par le dépannage.
Pour un jeton fourni dans une balise Meta, consultez le code HTML:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Pour un jeton fourni dans un en-tête, vous pouvez vérifier la valeur du jeton à partir de la Panneau Chrome DevTools Network sous En-têtes de réponse:
Le jeton propriétaire est diffusé depuis l'origine qui l'utilise
Pour activer l'accès à une fonctionnalité d'évaluation pour le code inclus dans une page diffusée depuis votre origine, procédez comme suit : fournir un jeton d'essai dans une balise Meta, un en-tête ou via JavaScript de la même origine.
L'origine enregistrée pour un jeton doit correspondre à l'origine qui le diffuse.
L'origine du jeton tiers correspond à l'origine du script
Vous pouvez vous inscrire pour participer à une phase d'évaluation pour les scripts injectés sur d'autres origines.
Par exemple, si vous souhaitez que les scripts diffusés depuis javascript-library.example
participent aux
une phase d'évaluation, vous devez enregistrer un jeton avec une mise en correspondance tierce pour javascript-library.example
.
La valeur d'origine d'un jeton tiers doit correspondre à l'origine du script qui l'injecte.
Le script tiers utilise un jeton tiers
Vous ne pouvez pas autoriser un script tiers à participer à une phase d'évaluation sur votre site simplement en l'enregistrement d'un jeton pour votre origine, et non pour le script.
Les scripts tiers doivent utiliser des jetons sur lesquels la mise en correspondance tierce est activée, injectés via le script (non incluse dans une balise Meta ni dans un en-tête de votre site) à l'aide d'un code semblable à celui-ci:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
Le jeton tiers est fourni par le biais d'un script externe, et non d'une balise Meta, d'un en-tête HTTP ou d'un script intégré.
Les jetons tiers sont validés par rapport à l'origine du script qui les a injectés, mais de façon intégrée.
Les scripts et les balises <meta>
du balisage statique n'ont pas d'origine (c'est-à-dire une URL source).
Cela signifie qu'un jeton tiers doit être fourni via un script externe, et non dans une balise <meta>
.
ou un script intégré. Peu importe que le script externe qui injecte le jeton provient du
Même origine que la page hôte ou d'une origine différente, tant que l'origine du script correspond
une origine enregistrée pour l'essai.
Vous pouvez regarder une démonstration à l'adresse ot-iframe-3p.glitch.me.
L'accès à la fonctionnalité d'essai Origin Trial est compatible avec la méthode utilisée pour fournir un jeton d'essai
Pour certains types d'accès aux fonctionnalités d'évaluation, vous devez fournir un jeton d'essai selon une méthode spécifique.
Par exemple, le seul moyen d'activer l'accès à la phase d'évaluation pour les service workers et les workers partagés consiste à
fournir un jeton dans un en-tête Origin-Trial
.
La correspondance de sous-domaines est activée pour un jeton utilisé sur un sous-domaine
Si une fonctionnalité d'évaluation ne semble pas fonctionner pour certaines pages de votre site, vérifiez que les jetons sont correctement configurés pour les sous-domaines qui les utilisent.
Lorsque vous vous inscrivez à une phase d'évaluation, vous pouvez choisir de faire correspondre tous les sous-domaines de origine:
Vous pouvez également associer des sous-domaines pour les jetons tiers:
Les jetons de sous-domaine ne seront pas émis. pour les origines figurant dans la liste des suffixes publics. Par exemple, vous ne pouvez pas enregistrer une origine telle que https://appspot.com ou https://github.io, bien que vous puissiez vous enregistrer pour des domaines au sein de cette origine, par exemple https://example.appspot.com ou https://example.github.io.
Le jeton est toujours valide
Les jetons sont valides pendant six semaines à compter de leur création. En outre, vous devez envoyer vos commentaires dans l'ordre pour repousser la date limite de validité. Le guide des phases d'évaluation pour les développeurs Web explique comment s'assurer votre jeton est valide pour toute la phase d'évaluation.
Vous pouvez vérifier si des jetons sont actifs sur la page Mes inscriptions de vos phases d'évaluation Chrome:
Les outils pour les développeurs Chrome affichent l'état Success
si le jeton est toujours valide:
Si votre jeton a expiré, les outils de développement affichent l'état Expired
et votre
La page Mes enregistrements contient la section Jetons expirés.
La phase d'évaluation n'est pas terminée
Vous pouvez vérifier la date de fin d'une phase d'évaluation sur sa page d'inscription:
Pour les essais terminés, les outils de développement affichent ce qui suit:
Vous recevrez des e-mails automatiques lorsqu'un commentaire sera nécessaire ou qu'un jeton est sur le point d'expirer. et non à la fin de l'essai.
La phase d'évaluation est disponible pour l'utilisateur actuel
Certaines phases d'évaluation ne sont pas disponibles pour certains utilisateurs, même si un jeton valide est fourni.
Si aucun essai n'est disponible pour l'utilisateur actuel, les outils pour les développeurs Chrome afficheront un avertissement TrialNotAllowed
:
Des informations sur les restrictions d'utilisation et la disponibilité seront fournies pour chaque phase d'évaluation.
Comme pour toute fonctionnalité de la plate-forme Web, vous devez utiliser la détection de fonctionnalités. pour vérifier qu'une fonctionnalité d'évaluation est prise en charge avant de l'utiliser.
Les restrictions d'utilisation de la phase d'évaluation n'ont pas été dépassées
Par défaut, une fonctionnalité d'évaluation est activée sur toute page disposant d'un jeton valide pour la phase d'évaluation.
Toutefois, sauf dans de rares cas, l'utilisation de la phase d'évaluation est limitée à 0,5% de tous les chargements de pages Chrome. La phase d'évaluation sera désactivée si l'utilisation totale par tous les utilisateurs de Chrome dépasse cette limite. Les outils de développement indiquent que le jeton est désactivé.
Aucune limite d'utilisation n'est imposée pour les essais avant arrêt, car ils n'introduisent pas de nouvelles fonctionnalités et ne présentent donc pas de risque de générer du Web à condition qu'une fonctionnalité d'essai soit disponible.
Certaines versions d'essai permettent également de limiter l'utilisation, ce qui signifie que les fonctionnalités désactivé pour certains utilisateurs. Cette option est disponible sur la page d'enregistrement d'une origine d'essai qui le propose:
Si vous remarquez que l'accès de vos utilisateurs à une fonctionnalité d'évaluation est moins élevé que prévu, vérifiez que la valeur "Limite standard" est sélectionnée.
Les tags iFrame fournissent leurs propres jetons
Pour autoriser l'accès à une fonctionnalité d'évaluation, un iFrame doit fournir un jeton dans une balise Meta, une balise ou par programmation. Les tags iFrame n'héritent pas de l'accès aux fonctionnalités activées pour pages qui les contiennent.
ot-iframe.glitch.me montre l'accès à une fonctionnalité d'évaluation de l'origine à partir d'un iFrame. ot-iframe-3p.glitch.me fournit plusieurs d'iFrame d'origine différente.
Les règles d'autorisation sont correctement configurées
Certaines fonctionnalités de la phase d'évaluation peuvent être affectées par une Permissions-Policy
(auparavant appelé en-tête Feature-Policy
). Vous pouvez vérifier cela dans la
Intention de test
pour la fonctionnalité d'essai, ou dans la documentation destinée aux développeurs concernant la fonctionnalité sur web.dev
ou developer.chrome.com/blog.
Assurez-vous que la fonctionnalité à laquelle vous tentez d'accéder n'est pas bloquée par un Permissions-Policy
directive. Vous pouvez rechercher les en-têtes de réponse dans le panneau Chrome DevTools Network
liste complète des fonctionnalités autorisées dans le panneau "Application".
Qu'en est-il des nœuds de calcul ?
Les fonctionnalités des phases d'évaluation peuvent être mises à la disposition des service workers, des workers partagés et des
les nœuds de calcul. Toutefois, le seul moyen d'autoriser l'accès aux service workers et aux workers partagés est de leur fournir
un jeton dans un en-tête Origin-Trial
.
Les nœuds de calcul dédiés héritent de l'accès aux fonctionnalités activées par leur document parent.
Le jeton est fourni avant l'accès à la fonctionnalité
Assurez-vous qu'un jeton d'évaluation d'origine est fourni avant l'accès à une fonctionnalité d'essai. Par exemple, si une page fournit un jeton via JavaScript, assurez-vous que le code est exécutée avant le code qui tente d'accéder à la fonctionnalité d'essai.
Démonstrations de la phase d'évaluation
- Jeton dans une balise Meta
- Jeton dans un en-tête
- Fonctionnalité accessible dans un iFrame
- Jeton injecté par un script tiers
- ot-iframe-3p.glitch.me: exemples d'iFrames multi-origines
En savoir plus
- Premiers pas avec les phases d'évaluation de Chrome
- Phases d'évaluation tierces
- Guide sur les phases d'évaluation pour les développeurs Web
- Explication de la phase d'évaluation
- Exécuter une phase d'évaluation
- Procédure de lancement de nouvelles fonctionnalités dans Chromium
- Intention d'explication: démystifier le processus d'expédition Blink
- Utiliser les phases d'évaluation dans Microsoft Edge
- Phases d'évaluation pour Firefox