2014-07-16 1 views
0

슬라이드 쇼를 위해 여러 iframe 예제 detailed here을 다시 만들려고했습니다. 그것은 아이폰과 ipad 제외하고 데스크톱 사파리를 포함한 모든 브라우저에서 완벽하게 작동합니다.youtube iframe API가 ipad 및 iphone에서 작동하지 않습니다.

http://codepen.io/lakshminp/pen/mepIB

JS :

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 players = {} 

var YT_ready = (function() { 
    var onReady_funcs = [], 
     api_isReady = false; 
    return function(func, b_before) { 
     if (func === true) { 
      api_isReady = true; 
      for (var i = 0; i < onReady_funcs.length; i++) { 
       // Removes the first func from the array, and execute func                              
       onReady_funcs.shift()(); 
      } 
    } 
     else if (typeof func == "function") { 
      if (api_isReady) func(); 
      else onReady_funcs[b_before ? "unshift" : "push"](func); 
     } 
    } 
})(); 


function onYouTubeIframeAPIReady() { 
    jQuery(window).bind("load", function() { 
    YT_ready(true); 
    }); 
} 

YT_ready(function() { 
     var identifier = "v9d09JLBVRc"; 
      players[identifier] = new YT.Player(identifier, { 
       events: { 
        'onReady': onPlayerReady, 
        "onStateChange": createYTEvent(identifier) 
       } 
      }); 
}); 

function onPlayerReady(event) { 
    event.target.playVideo(); 
} 

// Returns a function to enable multiple events                                     
function createYTEvent(identifier) { 
    var player = players[identifier]; // Get cached player instance                                
    return function (event) { 
     console.log(event.data); 
    } 
} 

HTML :

<div id="yt-container"> 
    <iframe width="640" height="480" id="v9d09JLBVRc" class="media-youtube-player" src="//www.youtube.com/embed/v9d09JLBVRc?enablejsapi=1&autoplay=0" frameborder="0" allowfullscreen></iframe> 
</div> 

답변

0

따르면

같은 자동 실행 등

함수 및 파라미터의 playVideo()에 loadVideoBy this 이드() 동적 비디오로드, 모든 모바일 환경

하고 YTReady 기능에

에서 작동하지 않습니다 iOS에서 불가능 순간에.

YouTubeDemoPage을 시도해보고 다른 ID를로드하면 시도 할 수 없다는 것을 알 수 있습니다.

this도 확인해야합니다.