2012-08-10 23 views
5

Ở đây tôi có một câu hỏi khác, lần này về API youtube. Tôi đang sử dụng mã này để có được một cầu thủ youtube:Youtube JavaScript không an toàn để truy cập khung bằng 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> 

Xin đừng bận tâm những \", nó được kết xuất trong PHP, vì vậy nó chỉ dành riêng cho thoát, cũng, video đang phát, vì vậy không lỗi lớn :)

gì làm phiền tôi, là mỗi lần tôi yêu cầu một đoạn video, tôi thấy thông báo này trong giao diện điều khiển của tôi: nỗ lực không an toàn hoạt Javascript để truy cập vào khung với URL

https://www.socialthisday.com/playwin/admin/content/edit/project_1/home.html từ khung với 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. Tên miền, giao thức và cổng phải khớp.

Tôi muốn sửa lỗi này để tôi không thấy thông báo đó. Tôi biết nó không thực sự là một điều quan trọng, nhưng tôi thích bây giờ làm thế nào tôi có thể có được một người chơi youtube trên trang web của tôi mà không nhìn thấy cảnh báo ở trên.

Hy vọng các bạn có thể giúp tôi!

EDIT: Đây là kết quả:

<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

* Xin vui lòng không nhớ \", nó được kết xuất trong PHP, do đó, nó chỉ dành riêng cho thoát * - Vì vậy, hãy cho chúng tôi thấy ** kết quả ** của PHP – Quentin

+0

Vâng, tôi không có lời giải thích nào khác, nhưng youtube đang cố gắng khai thác truy cập cửa sổ có nguồn gốc chéo trong trường hợp người dùng đang sử dụng trình duyệt cho phép chúng. trên bất kỳ trang nào có video được nhúng youtube ... – Esailija

+0

Quentin, tôi đã thêm đầu ra cho bạn – SheperdOfFire

Trả lời

5

Vấn đề cơ bản là http://code.google.com/p/chromium/issues/detail?id=17325

Khi đã giải quyết, những lời cảnh báo ở bảng điều khiển JavaScript trên các trang sử dụng nhúng YouTube iframe nên đi away- chắc chắn đối với Chrome và tôi cũng tin tưởng vào Safari.

+5

Chi tiết lỗi mà bạn liên kết đã hoạt động từ năm 2009. Không giống như Google Chromeboys có nó ở bất cứ nơi nào gần một danh sách ưu tiên. – charliemagee

0

kiểm "Sử dụng mã nhúng cũ"

nó sẽ sử dụng <object> thẻ để nhúng video

Các vấn đề liên quan