2012-08-10 19 views
5

Eccomi con un'altra domanda, questa volta sull'API di YouTube. Sto usando questo codice per ottenere un player di YouTube:Youtube Unsafe JavaScript tenta di accedere al frame con l'URL

<div id=\"youtubeVideoContainer\"></div><script type=\"text/javascript\"> 
         //Load player api asynchronously. 
         var tag = document.createElement('script'); 
         tag.src = \"//www.youtube.com/player_api\"; 
         var firstScriptTag = document.getElementsByTagName('script')[0]; 
         firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

         var player; 
         function onYouTubePlayerAPIReady() { 
          player = new YT.Player('youtubeVideoContainer', { 
           height  : \"".$height."\", 
           width   : \"".$width."\", 
           videoId  : \"".$id."\", 
           playerVars : ".json_encode($this->playerParams)." 
          }); 
         } 
        </script> 

Si prega di non mente il \", esso è stato reso in PHP, quindi è solo per sfuggire, anche, la riproduzione del video, in modo che nessun gravi errori :)

Cosa fa infastidirmi, è ogni volta che chiedo un video, vedo questo messaggio nella mia console: tentativo Unsafe JavaScript per accedere telaio con URL

https://www.socialthisday.com/playwin/admin/content/edit/project_1/home.html dal telaio con URL https://www.youtube.com/embed/2UJH9dCtp7w?autohide=1&autoplay=1&controls=0&border&cc_load_policy=0&color&color1&color2&disablekb&enablejsapi=1&egm&fs&hd&iv_load_policy&loop&modestbranding=1&origin=https%3A%2F%2Fwww.socialthisday.com&playerapiid&playlist&rel=0&showinfo=0&showsearch&start&theme&version=3. I domini, i protocolli e le porte devono corrispondere.

Vorrei risolvere il problema in modo da non vedere quel messaggio. So che non è davvero una cosa importante, ma mi piace ora come posso ottenere un player di YouTube sul mio sito senza vedere l'avviso sopra.

Speriamo che voi ragazzi potete darmi una mano!

EDIT: Questa è l'uscita:

<div id="YTcontainer_502513c7ebc1b">&nbsp;</div> 
         <script type="text/javascript"> 
          //Load player api asynchronously. 
          var tag = document.createElement('script'); 
          tag.src = "//www.youtube.com/iframe_api"; 
          var firstScriptTag = document.getElementsByTagName('script')[0]; 
          firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

          var YTplayer_502513c7eb834;               
          window.onYouTubeIframeAPIReady = function() { 
           YTplayer_502513c7eb834 = new YT.Player("YTcontainer_502513c7ebc1b", { 
            height  : "200", 
            width   : "200", 
            videoId  : "2UJH9dCtp7w", 
            playerVars : {"autohide":1,"autoplay":1,"controls":0,"border":"","cc_load_policy":0,"color":"","color1":"","color2":"","disablekb":"","enablejsapi":"","egm":"","fs":"","hd":"","iv_load_policy":"","loop":"","modestbranding":1,"origin":"","playerapiid":"","playlist":"","rel":0,"showinfo":0,"showsearch":"","start":"","theme":"","version":3,"wmode":"opaque"} 
           }); 
          } 

          if(window.YT){ 
           onYouTubeIframeAPIReady(); 
          } 
         </script> 
+0

* Si prega di non mente il \", esso è stato reso in PHP, quindi è solo per sfuggire * - Quindi mostraci il ** output ** del PHP – Quentin

+0

Sì, è fastidioso Non ho altra spiegazione per questo, ma che YouTube sta provando gli exploit di accesso alle finestre di tipo cross-origin nel caso in cui si utilizzi un browser che li consente. su qualsiasi pagina con video incorporati su youtube ... – Esailija

+0

Quentin, ho aggiunto l'output per te – SheperdOfFire

risposta

5

La questione di fondo è http://code.google.com/p/chromium/issues/detail?id=17325

Una volta che è risolto, le avvertenze nella console JavaScript alle pagine che utilizzano l'embed di YouTube iframe dovrebbe andare via- sicuramente per Chrome, e credo anche per Safari.

+5

Quel dettaglio bug a cui ti colleghi è attivo dal 2009. Non sembra che Google Chromeboys abbia ovunque vicino a una lista di priorità. – charliemagee

0

di controllo "Utilizza il codice di incorporamento"

userà <object> simbolo per incorporare il video

Problemi correlati