Динамические данные в LGT
Для того, чтобы реализовать динамическую подмену данных на Ваших ЛГТ воспользуйтесь скриптами, которые представлены ниже
Есть 3 вида скриптов, которые выполняют различные действия:
подставляет сегодняшнюю дату. Видео, о работе и настройке скрипта номер 1- https://youtu.be/NpOGP8ealjk
отсчитывает сколько дней осталось до вебинара и выводит текстом “сегодня/завтра/3 дня/4 дня/5 дней итд.”. Пояснение по работе скрипта номер 2 - https://youtu.be/d3OkWHDdCIw
Таймер который отображается в формате “HH:MM:SS” или “DD:HH:MM:SS“. По истечению таймера редиректит на указанную вами ссылку. Устойчив к обновлению страницы и открытию в соседней вкладке. Видео, поясняющее работу и настройку данного сркипта: https://youtu.be/0tQX-WWxVHA
ОБРАТИТЕ ВНИМАНИЕ! Для размещения скрипта, нужно в ЛГТ выбрать “источник”, добавить скрипт, снова нажать “источник” и только потом сохранять ЛГТ. В видео, которое Вы можете найти под скриптом показано как это сделать.
подставляет сегодняшнюю дату
Веб будет сегодня - <span id="today">today</span>
<script>
var today = document.getElementById('today');
var webDate = new Date();
var month = webDate.getMonth()+1;
var day = webDate.getDate();
today.innerText = (day < 10 ?'0'+day : day)+'.'+ (month<10 ?"0"+month : month);
</script>
<span id="today">today</span> - надо прописать в месте текста на ЛГТ где ты хочешь чтобы была сегодняшняя дата
2. отсчитывает сколько дней осталось до вебинара
<span id="day_before_web">через 110 дней</span>
<script>
var one_day = 1000 * 60 * 60 * 24;
var presentDate = new Date(new Date().setHours(0, 0,0,0))
var dayBeforeWebDate = new Date('2021-01-28');
if(document.getElementById('web_at')){document.getElementById('web_at').innerText = dayBeforeWebDate.toLocaleDateString('ru');}
var result = (Math.round(dayBeforeWebDate.getTime() - presentDate.getTime()) / (one_day)).toFixed(0);
var finalResult = "через " + result + " дней";
if(result == 0) {
finalResult = "СЕГОДНЯ!";
} else{
if(result == 1){
finalResult = "ЗАВТРА!";
} else {
var dec = 0;
finalResult = 'через ' + result + ' ' + ((((dec = result%100) >= 11 && dec <= 19) || (dec = result%10) >= 5 || dec == 0) ? 'дней' : (dec == 1 ? 'день' : 'дня'));
}}
document.getElementById('day_before_web').innerText= finalResult;
</script>
<span id="day_before_web">через 110 дней</span> - вставить в месте текста, где вы хотите чтобы отображалось, через сколько
var dayBeforeWebDate = new Date('2021-01-28'); - устанавливаем дату вебинара
3. отсчитывает сколько дней осталось и редиректит на указанную вами ссылку
<span id="timer">00:00</span> - вставить в месте хотите выводить время в ЛГТ
<script>
var counterUrl = 'https://www.google.com';
var cookieName = 'timer-test';
var counterStartDate = new Date();
var counterIds = [
'timer',
];
var needTime = new Date();
var withDays = false;
var dateText = {};
var MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;
var MILLISECONDS_IN_HOUR = 60 * 60 * 1000;
var MILLISECONDS_IN_MINUTES = 60 * 1000;
var MILLISECONDS_IN_SECONDS = 1000;
var shiftToEnd = {
days : 2,
hours : 0,
minutes: 0,
seconds: 0,
};
var dateToDisplay = {};
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = 'expires=' + d.toUTCString();
document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';
}
function getCookie(cname) {
var name = cname + '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1);
}
if (c.indexOf(name) === 0) {
return c.substring(name.length, c.length);
}
}
return '';
}
function checkCookie() {
var counter = getCookie(cookieName);
if (counter !== '') {
counterStartDate = new Date(+counter);
} else {
setCookie(cookieName, counterStartDate.getTime(), 365);
}
}
function countShiftInMilliSeconds(shift) {
var result = 0;
result += shift.days * MILLISECONDS_IN_DAY;
result += shift.hours * MILLISECONDS_IN_HOUR;
result += shift.minutes * MILLISECONDS_IN_MINUTES;
result += shift.seconds * MILLISECONDS_IN_SECONDS;
return result;
}
function millisecondsInShift(timeInMilliseconds) {
if (withDays) {
dateToDisplay.days = Math.floor(timeInMilliseconds / MILLISECONDS_IN_DAY);
timeInMilliseconds -= dateToDisplay.days * MILLISECONDS_IN_DAY;
}
dateToDisplay.hours = Math.floor(timeInMilliseconds / MILLISECONDS_IN_HOUR);
timeInMilliseconds -= dateToDisplay.hours * MILLISECONDS_IN_HOUR;
dateToDisplay.minutes = Math.floor(timeInMilliseconds / MILLISECONDS_IN_MINUTES);
timeInMilliseconds -= dateToDisplay.minutes * MILLISECONDS_IN_MINUTES;
dateToDisplay.seconds = Math.floor(timeInMilliseconds / MILLISECONDS_IN_SECONDS);
}
function prepateTime(text) {
return ('' + text).length < 2 ? '0' + text : text;
}
function displayTime(time) {
if (time < 0) {
time = 0;
}
millisecondsInShift(time);
var dateToDisplayString = (withDays ? prepateTime(dateToDisplay.days) + ':' : '')
+ prepateTime(dateToDisplay.hours)
+ ':'
+ prepateTime(dateToDisplay.minutes)
+ ':'
+ prepateTime(dateToDisplay.seconds);
counterElements.forEach(function (counterElement) {
counterElement.innerHTML = dateToDisplayString;
});
}
var counterElements = counterIds.map(function(counterElementId){
return document.getElementById(counterElementId);
});
checkCookie();
needTime = counterStartDate.getTime();
var now = new Date();
var milisecondsShift = countShiftInMilliSeconds(shiftToEnd);
needTime = needTime + milisecondsShift - now.getTime();
if (needTime < 0) {
window.location = counterUrl;
}
displayTime(needTime);
setInterval(function () {
needTime -= MILLISECONDS_IN_SECONDS;
displayTime(needTime);
if (needTime < 0) {
window.location = counterUrl;
}
}, 1000);
</script>
var counterUrl = 'https://www.google.com'; - куда редирект
var cookieName = 'timer-test'; - пишем любое уникальное имя вместо timer-test
var shiftToEnd = {
days : 2,
hours : 0,
minutes: 0,
seconds: 0,
};
через сколько времени после захода человека на страницу произойдет редирект