タイマーの状態(実行中または実行中)を格納するためにdatalayer変数を使用して解決します。
ここで真偽がブール値ではなく文字列であることに注意してください。これはDL変数のGTMのデフォルト値をfalseに設定してGTMインタフェースで自動的に値を文字列にします。私たちは、タイマーをトリガーするとき
<script>
(function() {
var timerNumber = 1;
var limit = 1;
// timer
var fireTimer = function() {
window.dataLayer.push({
'event' : 'ArticleRead',
'custom.timer.running' : 'false'
});
timerNumber += 1;
if (limit < timerNumber) {
window.clearInterval(timerId);
}
};
if ({{custom.timer.running}} == 'false') {
window.dataLayer.push({ 'custom.timer.running' : 'true'});
var timerId = window.setInterval(fireTimer, 10000); }
})();
</script>
は、だから今2回目のタイマーは、それが再びそれが継続しないと、それは始まり10000 milsecsだ達していません。