|
| 1 | +{{- .Page.Store.Set "youtube" true -}} |
1 | 2 | <div id="youtube-player-{{ .Get 0 }}" data-video-id="{{ .Get 0 }}" class="youtube-video aspect-video w-full"></div>
|
2 |
| -{{ if page.Scratch.Get "youtube-embed" | default "incomplete" | ne "setup" }} |
3 |
| -{{ page.Scratch.Set "youtube-embed" "setup" }} |
4 |
| -<script> |
5 |
| -(function() { |
6 |
| - var tag = document.createElement('script'); |
7 |
| - tag.id = "youtube-iframe-api"; |
8 |
| - tag.src = "https://www.youtube.com/iframe_api"; |
9 |
| - var firstScriptTag = document.getElementsByTagName('script')[0]; |
10 |
| - firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); |
11 |
| - |
12 |
| - window.onYouTubeIframeAPIReady = function() { |
13 |
| - var youtubeDivs = document.querySelectorAll(".youtube-video"); |
14 |
| - for (var i = 0; i < youtubeDivs.length; i++) { |
15 |
| - createPlayer(youtubeDivs[i].id, youtubeDivs[i].dataset.videoId); |
16 |
| - } |
17 |
| - } |
18 |
| - |
19 |
| - function createPlayer(domElementId, videoId) { |
20 |
| - new YT.Player(domElementId, { |
21 |
| - width: "100%", |
22 |
| - height: "100%", |
23 |
| - videoId: videoId, |
24 |
| - playerVars: { |
25 |
| - 'rel': 0, |
26 |
| - 'iv_load_policy': 3, |
27 |
| - 'enablejsapi': 1, |
28 |
| - 'origin': window.location.origin |
29 |
| - }, |
30 |
| - events: { |
31 |
| - 'onStateChange': function (event) { |
32 |
| - onPlayerStateChange(event, videoId); |
33 |
| - } |
34 |
| - } |
35 |
| - }); |
36 |
| - } |
37 |
| - |
38 |
| - function onPlayerStateChange(event, videoId) { |
39 |
| - if (window.heap === undefined) return; |
40 |
| - |
41 |
| - var properties = { |
42 |
| - video_id: videoId, |
43 |
| - page_path: window.location.pathname, |
44 |
| - page_title: document.title, |
45 |
| - }; |
46 |
| - |
47 |
| - if (event.data == YT.PlayerState.PLAYING) { |
48 |
| - heap.track("Video Play", properties); |
49 |
| - } else if (event.data == YT.PlayerState.PAUSED) { |
50 |
| - heap.track("Video Paused", properties); |
51 |
| - } |
52 |
| - } |
53 |
| -})(); |
54 |
| - |
55 |
| -</script> |
56 |
| -{{ end }} |
0 commit comments