[youtube] iframe-api

jines100·2020년 1월 30일
0

유투브 동영상이 모바일 앱에서 문제가 되는 경우가 있다.

공유하기(share) 와 나중에보기(whatch-later)

해결방안 1

하나의 공유 주소를 사용하는 경우 https://www.youtube.com 주소를 youtube-nocookie 로 변경하는 방법

<iframe width="854" height="480" src="https://www.youtube-nocookie.com/embed/cPVgwz5aN1o" frameBorder="0" allowFullScreen />

해결방안 2

Iframe Player API 바로가기

https://www.youtube.com/iframe_api
api 를 사용하는 경우
Player 함수의 'play' 셋팅에서 'host'를 변경하는 방법

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: 'M7lc1UVf-VE',
        wmode: 'transparent',
        host: 'https://www.youtube-nocookie.com', // 기본적으로는 값을 넣지 않는다.
        events: {
            'onReady': onPlayerReady
        }
    });
}

function onPlayerReady(event) {
    player.setPlaybackRate(2);
    event.target.playVideo();
}

해결방안 3

iframe embed 를 제어 하기 위해 css 를 이용 제어를 하고
오토플레이를 이용 제어 버튼을 만든다.

<div className="video-container">
  <div className="video-foreground">
    <div className="btn-stop-play">play</div>
    <iframe width="854" height="480" src="https://www.youtube.com/embed/cPVgwz5aN1o?autoplay=1" frameBorder="0" allowFullScreen />
  </div>
</div>
.video-container{
  position: absolute;
}
.video-container iframe {
  pointer-events: none;
}
.video-foreground{
  pointer-events:none;
}
profile
Front Developer

0개의 댓글