• 회원가입
  • 로그인
  • 구글아이디로 로그인

[js] JS - 유튜브 동영상 (전체재생시간/현재재생시간) 체크 ※ youtube iframe (유튜브 아이프레임) 모두 재생 완료 여부 체크


유튜브 동영상 (전체재생시간/현재재생시간) 체크

 

<style>

.homzzang {

  position: relative;

  width: 100%;

  padding-bottom: 56.25%; /* 16:9 */

}

.homzzang iframe {

  position: absolute;

  width: 100%;

  height: 100%;

}

</style>

 

<div class="homzzang">

    <iframe src="https://www.youtube.com/embed/m8ndX5pz-h0?enablejsapi=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

</div>

 

<form action="..." method="...">

    <input id="ytb_cur" name="ytb_cur">

    <input id="ytb_tot" name="ytb_tot">

</form> 

 

<script src="https://www.youtube.com/iframe_api"></script>

<script>

function onYouTubeIframeAPIReady() {

    ytb = new YT.Player(document.querySelector(".homzzang iframe"), { "onReady": (event) => { event.target.playVideo(); } } );

    setInterval( () => {

        ytb_cur.value = Math.floor(ytb.getCurrentTime()); // 현재

        ytb_tot.value = Math.floor(ytb.getDuration()); // 전체

    }, 1000);

}

</script>

 

결과보기

PS1. 모두 시청 여부 체크: (yt_current >= yt_total-1)  (∵ 핑크색코드)

PS2. 활용: 다른 영상 재생 / 다음 부분부터 재생 / 시청 완료 회원 리스트 등

비타주리 님 (221219) https://sir.kr/g5_tip/19529


분류 제목
js JS - 숫자를 한글로 읽기/변환
js JS - 숫자 천자리 표시 기호 쉼표(콤마) 제거 함수 (= getInt함수 = 겟인트함수)
js JS - 랜덤이미지 (= 랜덤배너)
js JS - 텍스트 첫글자만 글자색 변경 (= 맨앞글자 색상 변경)
js JS - 자바스크립트 성능 향상 위한 코드 작성법 (= JavaScript Performance)
DOM_Style JS - aspectRatio 속성 - 요소의 종횡비율(= 가로세로비율) 지정 (= aspectRatio속성…
js JS - with 키워드 - 객체 이용해 구문작성 (= with키워드 = 위드키워드)
js JS - 입력한 패스워드 확인 (보이기/숨기기) 토글 버튼 넣기
js JS - JavaScript로 (SlideUp/SlideDown) (FadeOut/FadeIn) 토글 버튼 …
DOM_Element JS - outerHTML 속성 - 속성, 시작태그, 종료태그 포함한 HTML 요소 설정/반환 (= oute…
Array JS - includes() 메서드 - 배열에 지정값 포함 여부 검사체크 (= includes메서드 = 인클…
js JS - 이미지 위에 마우스허버 시 툴팁창(Tooltip) 띄우기 ※ 클래스 속성값과 동일한 타이틀 속성 생…
Array JS - at() 메서드 - 지정 색인번호의 배열값 반환 (= at메서드 = 엣메서드/앳메서드)
Array JS - entries() 예제 - 객체배열반복자 반환 (= entries메서드 = 엔트리즈메서드)
Array JS - flat() 예제 - 배열 평탄화 (= flat메서드 = 플랫메서드) ※ 중첩배열(=다단계배열)의 …
Array JS - flatMap() 메서드 - 배열 매핑 후 지정함수 적용한 새 평면배열 생성 (= flatMap메서…
Array JS - Array.from() 메서드 - 객체로부터 배열 생성 (= Array.from메서드 = 어레이프럼…
Array JS - keys() 메서드 - 배열키로 구성된 배열 반환 (= keys메서드 = 키즈메서드)
Math JS - Math.log2() 메서드 -
Math JS - Math.log10() 메서드 -
66/67
목록
찾아주셔서 감사합니다. Since 2012