Volver al Blog
Plataforma

Origin Trials y funciones experimentales de la web

Evalúa Origin Trials con alcance explícito, detección, alternativas y rollback.

BotBrowser Team

Documentación

Quieres la documentación estructurada de Plataforma?

Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.

El registro de un origin lleva a detección y una alternativa

Un Origin Trial es una inscripción limitada, no soporte universal. Registra origen, token, canal, expiración, tarea, alternativa y rollback. No infieras identidad ni dispositivo de una API experimental.

Alcance de inscripción

Consulta la guía de Chrome y la documentación MDN. Un token de un origen no demuestra otro subdominio, iframe o navegador; una página https://app.example no inscribe automáticamente otro embed.

Detección en ejecución

Comprueba el método antes de usarlo. Separa token ausente, permiso denegado, política bloqueada, rechazo y confirmación visible. Conserva una alternativa accesible y no analices user-agent.

Tabla de decisión

ObservaciónDecisiónResultado
Token y método válidosintentar una vezanunciar progreso
Token ausente o expiradoalternativaconservar tarea
Permiso denegadoexplicar y ofrecer alternativamantener control
Llamada rechazadaclasificar y detener reintentosmostrar recuperación
Promesa resueltaverificar aplicaciónconfirmar visualmente

Fixture de fallo

async function fixture() {
  const host = document.createElement('div');
  host.innerHTML = '<p id="status"></p><button id="fallback" hidden>Usar alternativa</button>';
  document.body.append(host);
  try {
    const ok = typeof navigator.share === 'function';
    const state = ok
      ? await navigator
          .share({ title: 'Ensayo sintético', url: '/fixture' })
          .then(() => 'completed')
          .catch(() => 'failed')
      : 'missing';
    host.querySelector('#status').textContent = state === 'completed' ? 'Completado' : 'Usar alternativa';
    host.querySelector('#fallback').hidden = state === 'completed';
    return state;
  } finally {
    host.remove();
  }
}

Estados de la inscripción Mantén separados los estados sin inscripción, disponible, denegado, fallido y completado. Un token ausente o vencido debe elegir la ruta estable sin reintentos ocultos.

Contexto y gesto del usuario Si la función requiere un gesto, incluye ese gesto en el fixture. Para un iframe, registra origen principal, allowlist y política de permisos como parte de la evidencia.

Despliegue y mantenimiento

Compara ruta estable y experimental con la misma tarea sintética. Revise expiración, permisos, iframe, accesibilidad, foco y copy de alternativa. Retira el token al terminar y conserva solo un recibo breve.

BotBrowser

BotBrowser puede proporcionar contextos controlados para journeys autorizados y comprobaciones repetibles de alternativas. No emite tokens, concede permisos, certifica experimentos ni prueba finalización del servicio. Consulta su documentación de aislamiento.

BotBrowser admite una configuración de origin controlada para estas pruebas, pero no garantiza la activación del token, el permiso ni la finalización de la aplicación.

Revisión del experimento como cambio de producto

Revisión del experimento

La revisión debe identificar tarea, ruta estable, ruta experimental, responsable del token y fecha de retirada sin depender de un panel privado.

Evidencia separada

Un método disponible o una promesa resuelta solo describe al navegador. Registra por separado la confirmación visible de la aplicación o el recibo de un servicio sintético.

Permisos y accesibilidad

Prueba rechazo y cancelación como rutas normales. La alternativa debe tener nombre accesible, foco de teclado, anuncio de estado y conservar los datos introducidos.

Cambios reversibles

Conserva la ruta estable antes de cambiar token o canal. El rollback debe desactivar la inscripción sin borrar la alternativa ni los datos de la tarea.

Registro de soporte

Guarda función, categoría de origen, etiqueta del responsable, expiración, canal, estado de detección, resultado visible, resultado de la alternativa y limpieza. Nunca guardes el token.

Inscripción observable Registra una etiqueta de configuración o manifiesto que identifique el experimento sin revelar el valor del token.

La ausencia de esa etiqueta significa que la página no está inscrita; no deduzcas la inscripción porque exista un constructor.

Límites del origen Prueba por separado la página superior, el iframe y el host local que el producto admite.

Un token para app.example no demuestra que admin.example o un embed de cliente estén autorizados.

Resultado de la aplicación

El navegador puede resolver una promesa aunque el servicio receptor no esté disponible.

Espera una confirmación visible, un estado idempotente o un recibo del servicio antes de declarar completada la tarea.

Comparación de canales

Mantén constantes la compilación de la aplicación y el alcance del token al comparar canales del navegador.

Compara la misma tarea, alternativa, orden de foco y limpieza; una diferencia de versión solo es una pista.

Fixture compacto

Un caso para token ausente, uno para expiración, uno para permiso denegado y uno para rechazo cubren los límites principales.

Añade otro caso solo cuando represente un recorrido de usuario compatible y tenga un resultado observable.

Retirada

Antes de retirar el experimento, elimina el token de la configuración y confirma que la ruta estable permanece disponible.

Conserva un recibo sintético breve durante el periodo de soporte y expira los artefactos según la política normal.

Lee también la guía de fallbacks de APIs y la guía WPT.

Fuentes

#Origin Trials#Funciones Experimentales#Web#Detección#Rollback

Lleva BotBrowser de la investigación a producción

Usa estas guías para entender el modelo y después avanzar hacia validación multiplataforma, contextos aislados y despliegue de navegador preparado para escalar.