YouTube iframe: errore X-Frame-Options e live chat non visibile

Se provi a incorporare un video YouTube usando direttamente l’URL della pagina youtube.com/watch?v=..., il browser può rifiutare il caricamento nell’iframe e mostrare errori legati a X-Frame-Options o alle policy di sicurezza.

La soluzione è usare gli URL pensati appositamente per l’embed.

Video YouTube: usa l’URL /embed/

Per un video normale, l’URL corretto ha questa forma:

https://www.youtube.com/embed/VIDEO_ID

Dove VIDEO_ID è l’identificativo del video presente nell’URL originale.

Live chat YouTube: serve embed_domain

Per incorporare la chat di un live stream devi usare l’endpoint live_chat e indicare il dominio esatto sul quale verrà mostrata:

https://www.youtube.com/live_chat?v=VIDEO_ID&embed_domain=www.example.com

Il valore di embed_domain deve corrispondere al dominio della pagina che contiene l’iframe. Se non coincide, la chat non si apre.

Attenzione al mobile

YouTube specifica che la live chat incorporata non è disponibile sul web mobile. Se stai progettando una pagina per smartphone, conviene prevedere un’alternativa o un link diretto alla live.

Perché compare X-Frame-Options

Non tutti gli URL possono essere caricati dentro un iframe. Il sito che fornisce il contenuto può decidere, tramite header di sicurezza, se e dove consentirne l’incorporamento.

Per questo non conviene “forzare” il browser o tentare di aggirare l’header: bisogna usare l’URL di embed previsto dal servizio.

Se devi integrare video, chat, widget o servizi esterni in un progetto web, trovi anche i miei servizi di sviluppo e integrazione.

				
					<!-- Video YouTube -->
<iframe
  width="560"
  height="315"
  src="about:blank"
  title="YouTube video player"
  loading="lazy"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
  allowfullscreen data-rocket-lazyload="fitvidscompatible" data-lazy-src="https://www.youtube.com/embed/VIDEO_ID">
</iframe><noscript><iframe
  width="560"
  height="315"
  src="https://www.youtube.com/embed/VIDEO_ID"
  title="YouTube video player"
  loading="lazy"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
  allowfullscreen>
</iframe></noscript>

<!-- Live chat YouTube -->
<iframe loading="lazy"
  width="100%"
  height="500"
  src="about:blank"
  title="YouTube live chat" data-rocket-lazyload="fitvidscompatible" data-lazy-src="https://www.youtube.com/live_chat?v=VIDEO_ID&#038;embed_domain=www.example.com">
</iframe><noscript><iframe
  width="100%"
  height="500"
  src="https://www.youtube.com/live_chat?v=VIDEO_ID&amp;embed_domain=www.example.com"
  title="YouTube live chat">
</iframe></noscript>
				
			

contattami

Hai bisogno di aiuto con il tuo sito WordPress?

Contattami per una consulenza personalizzata e scopri come posso aiutarti a migliorare performance, sicurezza e visibilità del tuo sito.

Qualche feedback

Dicono di me

[trustindex no-registration=google]