我有一些我在網上找到的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來說是全新的 –