Solución de problemas
Evita las trampas que fallan en silencio
La mayoría de estas falla sin ningún error. El reproductor carga, la página se ve bien, y una cosa simplemente no ocurre — que es justo por lo que están reunidas aquí, en vez de repartidas como notas en las páginas donde aplican.
play() no hace nada
Los navegadores rechazan la reproducción automática de vídeo con audio hasta que el visitante ha interactuado con la página. Cuando eso ocurre, play() no inicia la reproducción, y parece que no pasó nada.
Llámalo desde un clic o un toque real, confírmalo con video:play, o activa SmartAutoPlay en el panel, que inicia el vídeo silenciado y le quita el silencio en la primera interacción.
Esperar un evento que nunca se dispara
player:ready se dispara solo en el elemento personalizado. iframe:connected solo en el iframe. El código que espera el equivocado espera para siempre, sin ningún error al que apuntar.
Si atiendes ambas incrustaciones en la misma página, escucha las dos.
Las variables CSS no hacen nada en el iframe
Las variables CSS se detienen en la frontera de origen, y los atributos fluid y pauseonetouch también. El navegador está aplicando aislamiento cross-origin, así que no hay rodeo — reestilizar exige la incrustación por elemento personalizado. Mira Elemento vs iframe.
fluid recorta el vídeo u oculta los CTA
fluid hace que el reproductor llene su contenedor. Si ese contenedor tiene una altura fija y el reproductor además tiene titulares o llamadas a la acción, compiten por el mismo espacio: o se recorta el vídeo, o los CTA quedan fuera de la vista.
Limita el ancho y deja que aspect-ratio fije la altura.
Un <script> en el titular nunca se ejecuta
Una etiqueta <script> escrita dentro del HTML del titular es inerte. El campo de JS personalizado es la única vía de ejecución para el código del titular.
El código del titular no corre bajo una CSP
Si tu sitio envía una Content Security Policy, la etiqueta del reproductor necesita el mismo nonce que llevan tus otros scripts de confianza. Permitir scripts.converteai.net no basta por sí solo.
Sin el nonce, el reproductor carga y el titular muestra su texto y su estilo — solo tu código se salta, con un mensaje de Content Security Policy en la consola. Y en la incrustación en iframe el nonce deliberadamente no se reenvía, así que el código del titular nunca corre allí bajo una política. Configuración completa en JS del titular.
conversionKey está vacío
Devuelve una cadena vacía hasta que el reproductor está listo. Léelo después de player:ready o iframe:connected, no al cargar. Mira Parámetros de conversión en URLs.
duration es 0
La duración del vídeo se desconoce hasta que carga, y 0 es lo que obtienes mientras tanto. No es un vídeo de duración cero.