Как исправить код отслеживания HTML5 Video Javascript, который работает неправильно

  • Автор темы Notirn
  • 17
  • Обновлено
  • 18, May 2024
  • #1
Суп Всем. У меня есть код JavaScript, который я нашел в Интернете, который предоставляет статистику для Google Analytics для моего видео HTML5. Однако код только ПРАВИЛЬНО отображает статистику для «воспроизведенного видео» и «видео приостановлено», но остальная информация не отображается и даже не рассчитывается. Остальная информация: «Видео просмотрено 25%», «Видео просмотрено 50%», «Видео просмотрено 75%», «Видео просмотрено 100%».

Как я могу заставить приведенный ниже код работать правильно? Кроме того, является ли Google Analytics единственным способом отслеживать эту статистику или есть другой способ? Формальность:
 <script type="text/javascript">

document.addEventListener('DOMContentLoaded', init, false)

var videoId = document.getElementById('bigvid3')

var videoTitle = videoId.getAttribute('data-description')

var videoTitle = 'bigvid3'

function init () {

videoId.addEventListener('play', videoPlay, false)

videoId.addEventListener('pause', videoPause, false)

videoId.addEventListener('ended', videoEnd, false)

videoId.addEventListener('timeupdate', videoTimeUpdate, false)

}

function setKeyFrames (duration) {

var quarter = (duration / 4).toFixed(1)

sessionStorage.setItem('one', quarter)

sessionStorage.setItem('two', (quarter * 2).toFixed(1))

sessionStorage.setItem('three', (quarter * 3).toFixed(1))

}

function videoTimeUpdate () {

var curTime = videoId.currentTime.toFixed(1)

switch (curTime) {

case sessionStorage.getItem('one'):

ga('send', 'event', 'video', '25% video played', videoTitle)

sessionStorage.setItem('one', null)

case sessionStorage.getItem('two'):

ga('send', 'event', 'video', '50% video played', videoTitle)

sessionStorage.setItem('two', null)

case sessionStorage.getItem('three'):

ga('send', 'event', 'video', '75% video played', videoTitle)

sessionStorage.setItem('three', null)

}

}

function videoPlay () {

ga('send', 'event', 'video', 'video played', videoTitle)

setKeyFrames(this.duration)

}

function videoPause () {

ga('send', 'event', 'video', 'video paused', videoTitle)

}

function videoTimeUpdate () {

ga('send', 'event', 'video', '25% video played', '50% video played', '75% video played', videoTitle)

}

function videoTimeUpdate () {

ga('send', 'event', 'video', '25% video played', videoTitle)

}

function videoTimeUpdate () {

ga('send', 'event', 'video', '50% video played', videoTitle)

}

function videoTimeUpdate () {

ga('send', 'event', 'video', '75% video played', videoTitle)

}

function videoEnd () {

ga('send', 'event', 'video', '100% video played', videoTitle)

}

</script>
Код (JavaScript):

Notirn


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно