유튜브 동영상 시간체크 후 폼 전송하기

by 조쉬 posted Apr 09, 2024
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
e>
#ytDiv { width:800px; height:450px; }
#ytDiv iframe { width:100%; height:100%; }
</style>
<div id="ytDiv"><iframe src="https://www.youtube.com/embed/T2ZNOZmdD-E?enablejsapi=1" frameborder="0" allowfullscreen></iframe></div>
<input id="yt_current" name="yt_current">
<input id="yt_total" name="yt_total">
 
<script src="https://www.youtube.com/iframe_api"></script>
<script>
function onYouTubeIframeAPIReady() {
    ytDiv = new YT.Player(document.querySelector("#ytDiv iframe"), { "onReady": (event) => { event.target.playVideo(); } } );
    setInterval( () => {
        yt_current.value = Math.ceil(ytDiv.getCurrentTime());
        yt_total.value = Math.floor(ytDiv.getDuration());
    }, 1000);
}
</script>

 

유튜브 동영상을 강좌동영상 등으로 사용할 때 회원이 다 보았는지 덜 보았는지를 체크하는 기본 로직입니다.

https://wittazzurri.com/editor/html_editor.php 에서 확인해 보세요.

 

그리고 아래처럼 폼을 하나 감아서 액션문서에서 DB 에 저장하거나 아작스로 넘기거나 등등...

yt_current 가 yt_total 보다 크거나 같다면 모두시청 아니라면 시청미완료 등으로 로직을 짜 주면 되겠습니다. 

 

<form>

<input id="yt_current" name="yt_current">
<input id="yt_total" name="yt_total">

</form>