2012-08-10 14 views
5

Aquí estoy con otra pregunta, esta vez sobre la API de youtube. Estoy usando este código para obtener un reproductor de YouTube:Youtube JavaScript inseguro intenta acceder al marco con 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> 

Por favor, no me importa el \", que se representa en PHP, por lo que es sólo para escapar, también, se reproduce el video, por lo que no principales errores :)

¿Qué me molestan, es cada vez que solicito un video, veo este mensaje en mi consola: intento inseguro JavaScript para acceder marco con el URL

https://www.socialthisday.com/playwin/admin/content/edit/project_1/home.html del marco con el 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. Los dominios, protocolos y puertos deben coincidir.

Me gustaría solucionar esto, así que no veo ese mensaje. Sé que no es realmente algo importante, pero me gusta ahora cómo puedo obtener un reproductor de youtube en mi sitio sin ver la advertencia anterior.

¡Espero que ustedes puedan ayudarme!

EDIT: Esta es la salida:

<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

* Por favor, no me importa el \", que se representa en PHP, por lo que es sólo para escapar * - Entonces muéstranos el ** resultado ** del PHP. – Quentin

+0

Sí, es molesto. No tengo otra explicación para eso, pero youtube está probando exploits de acceso a la ventana de origen cruzado en caso de que uno esté usando un navegador que los permita. en cualquier página con videos incrustados de youtube ... – Esailija

+0

Quentin, he agregado la salida para usted – SheperdOfFire

Respuesta

5

La cuestión de fondo es http://code.google.com/p/chromium/issues/detail?id=17325

Una vez que se ha resuelto, las advertencias en la consola de JavaScript en las páginas que utilizan la inserción de YouTube iframe debe ir de distancia- ciertamente para Chrome, y creo también para Safari.

+5

Ese detalle de error con el que está vinculado ha estado activo desde 2009. No parece que Google Chromeboys tenga en cualquier lugar cerca de una lista de prioridades. – charliemagee

0

de verificación "Use viejo código de inserción"

que utilizará <object> etiqueta para incrustar el video

Cuestiones relacionadas