60秒の動画があります。動画プレーヤーから Google アナリティクスにデータを送信するための JavaScript の追加に取り組んでいます。私がやろうとしているのは、一定の時間、60 秒に 1 回だけイベントを起動することです。
たとえば、ユーザーが動画を 21 秒から 40 秒視聴した場合、イベントを 1 回だけ開始する必要があります (19 秒間で 19 回ではなく)。次に、ユーザーはビデオの 41 ~ 60 秒を視聴します。イベントを 1 つだけ開始します。私は実際にこの部分をすでに理解しています。
問題はいつになるかです。したがって、ユーザーが 21 秒から 40 秒を見ると、イベントが開始されます。彼らはビデオの残りを見て、それを精神的に処理し、「ビデオをもう一度見たい」と判断します。ビデオをもう一度見ると、ページを更新しない限り、21 ~ 40 秒の 1 つのイベントが再び開始されることはありません。
特定の範囲で 60 秒ごとに 1 回だけイベントが起動されるようにスクリプトを編集するにはどうすればよいですか?
<script type="text/javascript">
function Follow( minimum, maximum )
{
this.min = minimum;
this.max = maximum;
this.done = false;
}
var following = [
new Follow( 1, 20 ),
new Follow( 21, 40 ),
new Follow( 41, 60 )
];
player().Time(
function(event)
{
var gone = Number(event.secondspassed);
for ( var t = 0; t < following.length; ++t )
{
var Follow = following[t];
if ( gone >= Follow.min && gone < Follow.max )
{
if ( ! Follow.done )
{
var range = Follow.min + " Seconds Watched ";
_gaq.push(['_trackEvent', range, 'Play', 'Title']);
Follow.done = true;
}
break;
}
}
}
);
</script>