Initial commit - Typo3 11.5.41
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
// THIS FILE IS NO USED DIRECTLY
|
||||
// Minified and copied into Private/Resources/Templates/Youtubevideo.html
|
||||
|
||||
youTubeApiIsLoaded = 0;
|
||||
gdprAgreedOnce = 0;
|
||||
|
||||
// Read cookies
|
||||
function getCookie(name) {
|
||||
var value = "; " + document.cookie;
|
||||
var parts = value.split("; " + name + "=");
|
||||
if (parts.length == 2) return parts.pop().split(";").shift();
|
||||
else return null;
|
||||
}
|
||||
|
||||
// Cancel without playing the video
|
||||
function gdprCancel() {
|
||||
var el = (event.target || event.srcElement);
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display='none';
|
||||
}
|
||||
// Agree and remember by setting cookie
|
||||
function gdprAgree() {
|
||||
document.cookie = "youtubevideo-consent=1; path=/;";
|
||||
var el = (event.target || event.srcElement);
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display='none';
|
||||
document.getElementById('coverimage-' + dataYtUid).click();
|
||||
}
|
||||
|
||||
// Agree once but ask again next time
|
||||
function gdprAgreeOnce() {
|
||||
var el = (event.target || event.srcElement);
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
gdprAgreedOnce = dataYtUid;
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display='none';
|
||||
document.getElementById('coverimage-' + dataYtUid).click();
|
||||
}
|
||||
// What happens on clicking the cover image
|
||||
function coverimageClick(event) {
|
||||
if (!event) {
|
||||
event = window.event;
|
||||
};
|
||||
var el = (event.target || event.srcElement);
|
||||
playerId = 0;
|
||||
playerId = el.getAttribute('data-yt-id');
|
||||
dataYtCode = 0;
|
||||
dataYtCode = el.getAttribute('data-yt-code');
|
||||
dataYtVars = 0;
|
||||
dataYtVars = JSON.parse('{' + el.getAttribute('data-yt-vars').replace(/,\s*$/, "") + '}');
|
||||
dataYtHost = 0;
|
||||
dataYtHost = el.getAttribute('data-yt-host');
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
if (getCookie('youtubevideo-consent') || (gdprAgreedOnce == dataYtUid) || disableGdpr) {
|
||||
if (youTubeApiIsLoaded) {
|
||||
loadPlayer();
|
||||
} else {
|
||||
loadYouTubeApi();
|
||||
}
|
||||
el.classList.add('play');
|
||||
} else {
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
// Load YouTube API
|
||||
function loadYouTubeApi() {
|
||||
var tag = document.createElement('script');
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
youTubeApiIsLoaded = 1;
|
||||
}
|
||||
|
||||
// Load YouTube player with video settings
|
||||
function loadPlayer() {
|
||||
player = new YT.Player(playerId, {
|
||||
height: '390',
|
||||
width: '640',
|
||||
videoId: dataYtCode,
|
||||
host: dataYtHost,
|
||||
playerVars: dataYtVars,
|
||||
events: {
|
||||
'onReady': onPlayerReady,
|
||||
'onStateChange': onPlayerStateChange
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function onYouTubeIframeAPIReady() {
|
||||
loadPlayer();
|
||||
}
|
||||
|
||||
function onPlayerReady(event) {
|
||||
player.setPlaybackRate(1);
|
||||
player.playVideo();
|
||||
}
|
||||
|
||||
function onPlayerStateChange(event) {}
|
||||
|
||||
function stopVideo() {
|
||||
player.stopVideo();
|
||||
}
|
||||
|
||||
// Set video window breakpoint classes for 'small' and 'tiny'
|
||||
function youtubevideoDetectWidth(a) {
|
||||
var container = document.getElementsByClassName(a);
|
||||
for (var i = 0; i < container.length; ++i) {
|
||||
var item = container[i];
|
||||
var width = container[i].clientWidth;
|
||||
if (width < containerBreakpointSmall) {
|
||||
item.classList.add('small');
|
||||
} else {
|
||||
item.classList.remove('small');
|
||||
}
|
||||
if (width < containerBreakpointTiny) {
|
||||
item.classList.add('tiny');
|
||||
} else {
|
||||
item.classList.remove('tiny');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
youtubevideoDetectWidth('youtubevideo');
|
||||
window.addEventListener("resize", function() {
|
||||
youtubevideoDetectWidth('youtubevideo');
|
||||
});
|
||||
Reference in New Issue
Block a user