Устранение неполадок с пробными версиями Chrome Origin

Устраните распространенные проблемы с пробными токенами в метатегах, заголовках и скриптах.

В этом руководстве предполагается практическое знание пробных версий Origin в Chrome . Подробные часто задаваемые вопросы можно найти в руководстве по пробным версиям Origin для веб-разработчиков .

Если вы столкнулись с ошибкой в ​​исходных пробных версиях в Chrome, отправьте новую проблему в репозиторий исходных пробных версий Chrome на GitHub.

Контрольный список

Чтобы устранить неполадки в исходной пробной версии, устраните каждую из проблем, используя предоставленные ссылки.




















Используйте Chrome DevTools для проверки токенов

DevTools предоставляет информацию об исходной пробной версии на панели «Приложение» для выбранного кадра.

Инструменты разработчика Chrome информация об исходных пробных версиях на панели приложения.

Разверните верхний фрейм, чтобы проверить исходные пробные жетоны, доступные для подкадра. Например, для демонстрационной страницы ot-iframe.glitch.me вы можете видеть, что страница в iframe предоставляет токен.

Инструменты разработчика Chrome    Панель приложения, показывающая токены пробной версии источника для страницы в iframe.

  • Статус токена : имеет ли страница действительный токен. Обратите внимание, что для некоторых пробных версий происхождения могут существовать и другие факторы, например географические ограничения, из-за которых функция пробной версии происхождения недоступна, несмотря на наличие действующего токена. Коды статуса Chrome DevTools объясняют значение каждого из кодов для исходных пробных версий.
  • Origin : веб-источник, зарегистрированный для токена.
  • Expiry Time : максимально (самая поздняя) возможная дата и время истечения срока действия токена, которое (по большей части) совпадает с окончанием пробной версии. Это не то же самое, что дата действия токена, отображаемая в разделе «Мои регистрации» , которая показывает, как долго токен действителен и может быть продлен .
  • Ограничение использования : ограничения на использование, которые могут быть установлены для некоторых пробных версий.
  • Третья сторона : включено ли для токена стороннее сопоставление . Это доступно для некоторых исходных пробных версий, когда к функции пробной версии необходимо получить доступ на нескольких сайтах из сторонних скриптов.
  • Сопоставить поддомены : включено ли для токена сопоставление поддоменов . Это позволяет протестировать пробную функцию источника на нескольких субдоменах источника без необходимости использования отдельного токена для каждого субдомена.

Chrome DevTools отображает предупреждение рядом с названием пробной версии, если пробная версия недоступна для текущего пользователя, срок действия токена истек или существуют другие ограничения.

Информация об исходных пробных версиях Chrome DevTools на панели приложений с указанием токена с истекшим сроком действия.

Коды состояния

В Chrome DevTools вы можете встретить следующие коды состояния.

  • Срок действия истек : срок действия токена истек. Чтобы повторно включить пробную версию источника, необходимо обновить токен. Создайте новый токен с новым сроком действия. Исходный код

  • FeatureDisabled : пробная версия отключена для использования. Исходный код

  • FeatureDisabledForUser : этот токен был обозначен как отключенный для текущего пользователя с альтернативным ограничением использования. См. раздел «Исключения подмножества пользователей» проектной документации . Исходный код 1 и Исходный код 2

  • Небезопасно : источник запроса небезопасен, и пробная версия не включена для небезопасного источника. Как поясняется в коде валидатора пробного токена источника : «Для сторонних токенов как текущий источник, так и источник сценария должны быть безопасными. Из-за сопоставления поддоменов происхождение токена может не совпадать в точности с одним из предоставленных источников сценария, и результат не указывает, какое конкретное происхождение было сопоставлено. Это означает, что это не прямой поиск соответствующего источника сценария. Чтобы избежать повторного выполнения всех сравнений источников, существуют ярлыки, которые зависят от того, сколько источников сценариев было предоставлено. Должен быть хотя бы один, иначе сторонний токен не будет успешно проверен». Исходный код

  • InvalidSignature : токен имеет недействительную или неверную подпись. Исходный код

  • Неверный : токен имеет неверный формат и не может быть проанализирован. Исходный код

  • NotSupported : пробная версия источника, определенная токеном, не поддерживается в средстве внедрения Chromium. Средством внедрения может быть браузер (например, Chrome или Edge), WebView или какой-либо другой пользовательский агент. Исходный код

  • Успех : токен правильно сформирован, срок его действия не истек, соответствует пробной функции источника и запрошен из ожидаемого источника. Исходный код

  • TokenDisabled : токен помечен как отключенный и не может быть использован. Исходный код

  • TrialNotAllowed : Исходная пробная версия недоступна для текущего пользователя . Исходный код

  • UnknownTrial : токен указывает имя функции, которое не соответствует ни одной известной пробной версии. Исходный код

  • WrongOrigin : источник запроса не соответствует источнику, указанному в токене. Это может включать схему, имя хоста или порт. Этот статус также отображается, если сторонний токен указан в HTTP-заголовке, метатеге или встроенном скрипте, а не во внешнем файле JavaScript. Исходный код

  • WrongVersion : вы используете неправильную версию токена. Поддерживаются только токены версии 2 и 3. Исходный код


Необходимые условия для испытаний происхождения

Если пробная версия Origin не работает должным образом, убедитесь, что вы выполнили следующие условия.

Вы тестируете в Chrome, а не в Chromium или другом браузере.

Пробные версии Chrome Origin предназначены для пользователей Chrome. Пробные токены происхождения Chrome не поддерживают функции других браузеров, включая Chromium и браузеры на его основе. Это связано с тем, что исходные пробные версии Chrome предназначены только для функций, доступных в Chrome для экспериментов.

Пробные версии Origin также доступны для Firefox и Microsoft Edge . Регистрация в пробной версии Firefox или Edge Origin не активирует эту функцию в Chrome.

Пробная версия Origin включена для версий Chrome, имеющих доступ к вашему сайту.

Доступ к пробным версиям Origin ограничен определенными версиями Chrome. Это может означать, что пробная функция доступна только для каналов Chrome до стабильной версии: Canary, Dev и Beta.

Вы можете проверить доступность версии на странице регистрации пробной версии:

Пробные версии Chrome Origin для собственных наборов и SameParty с выделенной доступностью Chrome

Вы можете проверить используемую версию Chrome на странице chrome://version .

Пробная версия Origin не отключена в настройках Chrome.

Если отдельный пользователь сообщает, что какая-то функция у него не работает, убедитесь, что эта функция не отключена в настройках Chrome. Например, некоторые функции Privacy Sandbox можно отключить на странице chrome://settings/adPrivacy .

Ключевые слова и синтаксис верны

Обязательно используйте соответствующие ключевые слова и синтаксис для токенов пробной версии источника.

Для собственного использования токен может быть предоставлен в метатеге origin-trial :

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

В качестве альтернативы токен может быть предоставлен в заголовке ответа Origin-Trial . Вот пример использования Express в Node.js:

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

Токены также могут быть предоставлены с помощью JavaScript :

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

Происхождение основного токена соответствует происхождению страницы.

Убедитесь, что значение веб-источника, выбранное при регистрации для пробной версии, соответствует источнику страницы, имеющей метатег или заголовок, предоставляющий токен.

Например, если вы выбрали https://example.com в качестве веб-источника :

Страница пробных версий Chrome Origin, на которой https://example.com выбран в качестве Web Origin.

Вы можете получить значение токена следующим образом:

Страница пробных версий Chrome Origin, показывающая стоимость токена.

Убедитесь, что это значение соответствует токену, используемому на странице, на которой вы устраняете неполадки.

Чтобы получить токен, указанный в метатеге, проверьте HTML:

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

Для токена, указанного в заголовке, вы можете проверить значение токена на панели «Сеть Chrome DevTools» в разделе «Заголовки ответов» :

Инструменты разработчика Chrome  Панель сети, показывающая заголовок ответа на исходные испытания.

Собственный токен предоставляется источником, который его использует.

Чтобы обеспечить доступ к пробной функции источника для кода, включенного в страницу, обслуживаемую из вашего источника, предоставьте пробный токен в метатеге, заголовке или с помощью JavaScript из того же источника.

Источник, зарегистрированный для токена, должен совпадать с источником, который его обслуживает.

Происхождение стороннего токена соответствует происхождению скрипта

Вы можете зарегистрироваться для участия в пробной версии сценариев, внедряемых в другие источники.

Например, если вы хотите, чтобы сценарии, обслуживаемые из javascript-library.example , участвовали в пробной версии источника, вам необходимо зарегистрировать токен со сторонним соответствием для javascript-library.example .

Испытания происхождения Chrome  страница регистрации, показывающая выбранное стороннее сопоставление.

Значение источника стороннего токена должно совпадать с источником сценария, который его внедряет.

Сторонний скрипт использует сторонний токен

Вы не можете разрешить стороннему скрипту участвовать в пробной версии Origin на вашем сайте, просто зарегистрировав токен для вашего Origin и забыв о скрипте.

Сторонние сценарии должны использовать токены с включенным сторонним сопоставлением, внедренные в сам сценарий. Эти токены нельзя включать в метатег или заголовок вашего сайта. JavaScript может выглядеть следующим образом:

// Add a third-party OT token
function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Сторонний токен предоставляется с внешним скриптом, а не с метатегом, HTTP-заголовком или встроенным скриптом.

Сторонние токены проверяются на соответствие источнику сценария, который их внедрил. Однако встроенные скрипты и теги <meta> в статической разметке не имеют источника.

Это означает, что сторонний токен должен быть предоставлен во внешнем скрипте, а не в теге <meta> или встроенном скрипте. Не имеет значения, происходит ли внешний скрипт, внедряющий токен, из того же источника, что и содержащая страница, или из другого источника, если источник сценария соответствует источнику, зарегистрированному для пробной версии.

См. демонстрационную версию на сайте ot-iframe-3p.glitch.me .

Доступ к пробной версии Origin поддерживается для метода, используемого для предоставления пробного токена.

Некоторые типы доступа к функциям пробной версии Origin требуют, чтобы вы предоставили пробный токен определенным образом. Например, единственный способ включить пробный доступ Origin для сервисных работников и общих рабочих — предоставить токен в заголовке Origin-Trial .

Сопоставление субдоменов включено для токена, используемого в субдомене.

Если функция пробной версии Origin не работает на некоторых страницах вашего сайта, проверьте, правильно ли настроены токены для обслуживающих их поддоменов.

Когда вы регистрируетесь для пробной версии источника, вы можете при желании выбрать соответствие всем субдоменам источника:

Испытания происхождения Chrome  страница регистрации, показывающая выбранное соответствие поддомену

Вы также можете сопоставить субдомены для сторонних токенов:

Испытания происхождения Chrome  страница регистрации, показывающая соответствие сторонних источников и выбранное сопоставление поддоменов

Токены поддоменов не выдаются для источников в списке общедоступных суффиксов . Например, вы не можете зарегистрировать такой источник, как https://appspot.com или https://github.io , но вы можете зарегистрировать домены внутри этого источника, например https://example.appspot.com или https://example.github.io .

Токен все еще действителен

Токены действительны в течение шести недель после создания. Помимо этого, вы должны отправить отзыв, чтобы продлить срок действия . Руководство по пробным версиям Origin для веб-разработчиков объясняет, как убедиться, что ваш токен действителен для всей пробной версии Origin.

Вы можете проверить наличие активных токенов на странице «Мои регистрации» в пробных версиях Chrome Origin:

Испытания происхождения Chrome  Страница «Мои регистрации» с указанием даты «Действительно до»

Chrome DevTools отображает статус Success если токен все еще действителен:

Инструменты разработчика Chrome  информацию об исходных испытаниях на панели «Приложение», выделив Статус: Успех.

Если срок действия вашего токена истек, DevTools отображает статус Expired , а на странице «Мои регистрации» отображается раздел «Токены с истекшим сроком действия» .

Испытания происхождения Chrome  Страница «Моя регистрация», показывающая токены с истекшим сроком действия.

Испытание происхождения продолжается

Вы можете проверить дату окончания пробной версии Origin на странице регистрации :

Пробные версии Chrome Origin Страница с подробностями о собственных наборах и SameParty с доступной пробной версией выделена.

Для завершенных пробных версий DevTools отображает что-то вроде этого:

Инструменты разработчика Chrome  информация о пробных версиях источника на панели приложения, показывающая ValidTokenNotProvided и Status Expired.

Вам отправляются автоматические электронные письма, когда требуется отзыв или срок действия токена истекает, но не после окончания пробного периода.

Пробная версия Origin доступна для текущего пользователя.

Некоторые пробные версии Origin недоступны определенным пользователям, даже если предоставлен действительный токен.

Если пробная версия недоступна для текущего пользователя, Chrome DevTools отображает предупреждение TrialNotAllowed :

Информация об исходных пробных версиях Chrome DevTools на панели приложений показывает предупреждение TrialNotAllowed.

Информация об ограничениях на использование и доступности предоставляется для каждой исходной пробной версии.

Как и в случае с любой функцией веб-платформы, вам следует использовать функцию обнаружения , чтобы убедиться, что пробная версия Origin поддерживается, прежде чем использовать ее.

Ограничения на использование пробной версии Origin не превышены.

По умолчанию функция пробной версии Origin включена на любой странице, на которой есть действительный токен для пробной версии.

За исключением редких случаев, использование пробной версии Origin ограничено максимум 0,5 % всех загрузок страниц Chrome . Функция пробной версии Origin отключается, если общее использование всеми пользователями Chrome превышает это количество. DevTools отображает статус токена как отключенный.

Для устаревших пробных версий ограничений на использование нет, поскольку они не вводят новых функций и, следовательно, не создают риска сделать значительную часть Интернета зависимой от пробной функции.

Некоторые пробные версии предоставляют возможность ограничить использование, что означает, что функции исходной пробной версии отключены для некоторых пользователей. Эта опция доступна на странице регистрации пробной версии Origin, которая предлагает ее:

Испытания происхождения Chrome  страница регистрации, показывающая ограничения на использование.

Если вы заметили, что доступ ваших пользователей к функции пробной версии Origin ниже ожидаемого, убедитесь, что выбран стандартный лимит .

Iframes предоставляют свои собственные токены

Чтобы разрешить доступ к функции пробной версии источника, iframe должен предоставить токен в метатеге, HTTP-заголовке или программно . Iframe не наследуют доступ к функциям, включенным для страниц, которые их содержат.

ot-iframe.glitch.me демонстрирует доступ к пробной функции Origin из iframe. ot-iframe-3p.glitch.me предоставляет несколько примеров iframe для разных источников.

Политики разрешений настроены правильно

На некоторые функции пробной версии источника может влиять Permissions-Policy . Это можно проверить в разделе «Намерение экспериментировать» для пробной функции или в документации для разработчиков этой функции на сайте Developer.chrome.com/docs .

Убедитесь, что функция, к которой вы пытаетесь получить доступ, не заблокирована директивой Permissions-Policy . Вы можете проверить заголовки ответов на панели «Сеть» Chrome DevTools и просмотреть полный список разрешенных функций на панели «Приложение» .

Панель приложений Chrome DevTools, показывающая функцию, разрешенную политикой разрешений.

А как насчет рабочих?

Функции пробных версий Origin могут быть доступны сервисным работникам, общим и выделенным работникам. Чтобы разрешить доступ для сервисных работников и общих работников, вы должны предоставить токен в заголовке Origin-Trial .

Выделенные работники наследуют доступ к функциям, включенным в их родительском документе.

Токен предоставляется до доступа к функции

Прежде чем получить доступ к пробной функции, убедитесь, что исходный пробный токен предоставлен. Например, если страница предоставляет токен с помощью JavaScript, убедитесь, что код предоставления токена запускается перед кодом, который пытается получить доступ к пробной функции.

Пробные версии Origin

На следующих сайтах показаны примеры развертывания токенов.

Как предоставить пробный токен происхождения

Инструменты пробной версии Origin

Особенности пробной версии Origin

Ниже приведены демонстрации API, находящихся в текущих испытаниях происхождения.

Узнать больше