我有一些我在网上找到的JavaScript代码,它提供了我的HTML5视频的谷歌分析统计。然而,代码只有正确显示“视频播放”和“视频暂停”的统计信息,但其余信息将不会显示或甚至无法计算。该信息的其余部分是:如何修复HTML5视频Javascript跟踪代码,这是行不通的
“25%的视频观看”, “50%的视频观看”, “75%的视频观看”, “100%的视频观看”。
如何让下面的代码正常工作?另外,谷歌分析是唯一的方式来跟踪这些统计数据还是有另一种方式?
<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)
\t videoId.addEventListener('pause', videoPause, false)
\t videoId.addEventListener('ended', videoEnd, false)
\t videoId.addEventListener('timeupdate', videoTimeUpdate, false)
}
function setKeyFrames (duration) {
\t var quarter = (duration/4).toFixed(1)
\t sessionStorage.setItem('one', quarter)
\t sessionStorage.setItem('two', (quarter * 2).toFixed(1))
\t sessionStorage.setItem('three', (quarter * 3).toFixed(1))
}
function videoTimeUpdate() {
\t \t var curTime = videoId.currentTime.toFixed(1)
\t \t switch (curTime) {
\t \t \t case sessionStorage.getItem('one'):
\t \t \t \t ga('send', 'event', 'video', '25% video played', videoTitle)
\t \t \t \t sessionStorage.setItem('one', null)
\t \t \t case sessionStorage.getItem('two'):
\t \t \t \t ga('send', 'event', 'video', '50% video played', videoTitle)
\t \t \t \t sessionStorage.setItem('two', null)
\t \t \t case sessionStorage.getItem('three'):
\t \t \t \t ga('send', 'event', 'video', '75% video played', videoTitle)
\t \t \t \t sessionStorage.setItem('three', null)
\t \t }
}
function videoPlay() {
\t ga('send', 'event', 'video', 'video played', videoTitle)
\t setKeyFrames(this.duration)
}
function videoPause() {
\t ga('send', 'event', 'video', 'video paused', videoTitle)
}
function videoTimeUpdate() {
\t ga('send', 'event', 'video', '25% video played', '50% video played', '75% video played', videoTitle)
}
function videoTimeUpdate() {
\t ga('send', 'event', 'video', '25% video played', videoTitle)
}
function videoTimeUpdate() {
\t ga('send', 'event', 'video', '50% video played', videoTitle)
}
function videoTimeUpdate() {
\t ga('send', 'event', 'video', '75% video played', videoTitle)
}
function videoEnd() {
\t ga('send', 'event', 'video', '100% video played', videoTitle)
}
</script>
当前时间**完全**与您的计算完全相同时,您只发送已播放百分比的事件。我敢打赌,如果你将这些值记录到控制台上,你会发现它们很接近但不够接近雪茄。 – moopet
你是指右击我的视频 - >点击检查>点击控制台?我知道当你读到这个时,你可能会嘲笑我,但那对JS来说是全新的 –