2013-07-26 12 views
24

Quando incorporando una playlist Youtube sto ottenendo questo errore:Youtube "Bloccato un telaio con origine 'http://www.youtube.com' l'accesso a un telaio di origine", anche se lo stesso protocollo viene utilizzato

Blocked a frame with origin "http://www.youtube.com" from accessing a frame with origin "http://www.mydomain.com". Protocols, domains, and ports must match.

Non sto mixando HTTP con HTTPS ovunque, quindi non so perché sto ottenendo questo errore in primo luogo.

Ho notato che recentemente la playlist incorporata di YouTube non mostra l'immagine incorporata del primo video e mostra solo una schermata nera con un pulsante "Riproduci tutto", e mi chiedo se questo è causato dall'errore sopra .

+1

Ecco il cromo problema ... https://code.google.com/p/chromium/issues/detail?id=17325 è fondamentalmente un bug in V8 che deve essere risolto in modo che Chromium possa utilizzare l'ex corretto gestione dell'inganno per affrontare questo. Non è correlato a qualcosa che potresti vedere con le playlist incorporate (e, in effetti, non dovrebbe avere alcun effetto negativo). – jlmcdonald

+1

Ho cambiato l'uso dell'API javascript. Sembra che il problema che stavo riscontrando fosse un problema introdotto con gli ultimi aggiornamenti di YouTube che hanno consentito l'incorporamento dell'iframe. Questo non è correlato, sembra. Controlla la mia altra domanda qui: http://stackoverflow.com/questions/17832807/youtube-embedded-playlist-diplays-playall-button-instead-of-the-first-video – jbx

+0

puoi aggiungere lo script che chiama su youtube? – scalopus

risposta

5

Apparentemente sembra che l'errore dato da chrome sia un bug. Al fine di risolvere la schermata nera con 'Play All' edizione tasto ho usato l'API Javascript (al posto del iframe), in questo modo:

<!DOCTYPE html> 
<html> 
    <body> 
    <div id="player"></div> 
    <script> 
     var tag = document.createElement('script'); 
     tag.src = "https://www.youtube.com/iframe_api"; 
     var firstScriptTag = document.getElementsByTagName('script')[0]; 
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 
     var player; 
     function onYouTubeIframeAPIReady() { 
     player = new YT.Player('player', { 
      height: '390', 
      width: '640', 
      videoId: '', 
      events: { 
      'onReady': onPlayerReady 
      } 
     }); 
     } 
     function onPlayerReady(event) { 
     player.cuePlaylist({'listType':'playlist','list':'PLE2714DC8F2BA092D'}); 
     } 
    </script> 
    </body> 
</html> 

Grazie alla @jlmcdonald per la risposta, come indicato qui: Youtube embedded playlist diplays playall button instead of the first video

-1

questo problema è molto evidente per il servizio di Youtube, in fondo Youtube è accessibile solo tramite https, http non è consentito ora, basta cambiare il 'http' per "https" ... questa è la soluzione

Problemi correlati