Назад к блогу
Платформа

Origin Trials и экспериментальные функции Web Platform

Оценивайте Origin Trials с явной регистрацией, проверкой, резервным путём и откатом.

BotBrowser Team

Документация

Нужна структурированная документация по теме Платформа?

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

Регистрация origin ведёт к проверке и резервному пути

Origin Trial ограничивает эксперимент, а не обещает поддержку всем. Запишите origin, token, канал, срок, задачу, резервный путь и откат. Экспериментальный API не доказывает личность или устройство.

Область регистрации

Читайте руководство Chrome и MDN Web API. Token одного origin не доказывает другой поддомен, iframe или семейство браузеров; страница https://app.example не регистрирует другой embed автоматически.

Runtime-проверка

Проверяйте метод перед вызовом. Разделяйте отсутствие token, отказ разрешения, блокировку политики, rejection и видимое подтверждение. Не анализируйте user-agent.

Таблица решений

НаблюдениеРешениеРезультат
Token и метод действуютпопробовать один разпоказать прогресс
Token отсутствует или истёкрезервный путьсохранить задачу
Разрешение отклоненообъяснить и резервный путьоставить контроль
Вызов отклонёнклассифицировать и остановитьпоказать восстановление
Promise выполненпроверить приложениеподтвердить видимо

Сбойная fixture

async function fixture() {
  const host = document.createElement('div');
  host.innerHTML = '<p id="status"></p><button id="fallback" hidden>Резервный путь</button>';
  document.body.append(host);
  try {
    const ok = typeof navigator.share === 'function';
    const state = ok
      ? await navigator
          .share({ title: 'Синтетический тест', url: '/fixture' })
          .then(() => 'completed')
          .catch(() => 'failed')
      : 'missing';
    host.querySelector('#status').textContent = state === 'completed' ? 'Готово' : 'Резервный путь';
    host.querySelector('#fallback').hidden = state === 'completed';
    return state;
  } finally {
    host.remove();
  }
}

Состояния регистрации Разделяйте состояния «не зарегистрирован», «доступен», «отклонён», «ошибка» и «завершён». Отсутствующий или истёкший token должен выбрать стабильный путь без скрытого повтора.

Контекст и жест пользователя Если функции нужен жест, включите его в fixture. Для iframe запишите родительский origin, список разрешённых источников и политику разрешений.

Развёртывание и сопровождение

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

BotBrowser

BotBrowser предоставляет контролируемые contexts для разрешённых journeys и повторной проверки резервного пути. Он не выдаёт маркеры регистрации, не даёт разрешений, не сертифицирует эксперимент и не доказывает завершение сервиса. См. документацию изоляции.

BotBrowser поддерживает контролируемую конфигурацию origin для таких тестов, но не гарантирует активацию token, разрешение или завершение приложения.

Проверка эксперимента как изменения продукта

Проверка эксперимента

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

Раздельные свидетельства

Наличие метода или выполненная promise описывают только браузер. Отдельно записывайте видимое подтверждение приложения или квитанцию синтетического сервиса.

Разрешения и доступность

Проверяйте отказ и отмену как обычные ветви. Резервная кнопка должна иметь доступное имя, фокус клавиатуры, объявление состояния и сохранять введённые данные.

Обратимые изменения

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

Запись для поддержки

Храните функцию, категорию origin, метку владельца, срок, канал, состояние обнаружения, видимый результат, резервный результат и очистку. Значение token не храните.

Наблюдаемая регистрация Метка конфигурации или манифеста может показать источник эксперимента, не раскрывая token.

Если метки нет, считайте страницу незарегистрированной; наличие конструктора не доказывает регистрацию.

Границы origin Отдельно тестируйте верхнюю страницу, iframe и локальный host, которые поддерживает продукт.

Token для app.example не доказывает разрешение для admin.example или клиентского embed.

Результат приложения

Браузер может выполнить promise, даже если принимающий сервис недоступен.

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

Сравнение каналов

При сравнении каналов браузера сохраняйте неизменными сборку приложения и область token.

Сравнивайте одну задачу, резервный текст, порядок фокуса и очистку; разница версии лишь повод для проверки.

Компактная fixture

Ветки отсутствующего token, истечения, отказа разрешения и отклонённого вызова покрывают основные границы.

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

Завершение эксперимента

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

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

Смотрите также руководство резервного пути API и руководство WPT.

Источники

#Origin Trials#Экспериментальные Функции#Web#Проверка#Rollback

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

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