轨道挥笔与谷歌Analytics(分析)(Track swipes with Google Anal

2019-10-20 07:08发布

我有我的手机页面上的刷卡功能,我想用touchstart,touchend和touchmove跟踪器件两端的刷卡功能,在不影响滚动。

这里是我的代码。

jQuery('.first-frame').bind('touchmove', function(event) {
 _gaq.push(['_trackEvent', 'Landing-Page', 'Swipe-Toggle-Color', '0259_2190']);
});

Answer 1:

如果有可能只监测swipeleftswiperight在jQuery Mobile的事件,而不是,这样做。

否则,您可以设置在一个全局变量scroll即复位后,比方说,0.2秒事件的。 然后有touchmove事件检查如果变量设置,如果是,不会触发谷歌分析。

window.is_scrolling = false; // global variable
window.timeout_id = 0;

window.onscroll = function() {
    window.is_scrolling = true;
    clearTimeout(window.timeout_id);
    window.timeout_id = setTimeout(function() { 
        window.is_scrolling = false; 
    }, 200); // milliseconds
};

jQuery('.first-frame').bind('touchmove', function(event) {
    if (!window.is_scrolling) 
       _gaq.push(['_trackEvent', 'Landing-Page', 'Swipe-Toggle-Color', '0259_2190']);
});


Answer 2:

我知道你问一个touchmove,touchend和touchstart的例子,但我会用HammerJS(组合https://github.com/EightMedia/hammer.js/ )和自定义谷歌事件拿猜测出来。

var element = $(".first-frame")[0];

var trackswipe = Hammer(element, {
  drag: false,
  transform: false,
  swipe: true,
  swipeVelocityX: 0 // Adjust to liking...
}).on("swipe", function(event) {
  if (event.gesture.direction === "left") {
    // Track Something
    return false;
  } else if (event.gesture.direction === "right") {
    // Track something else.
    return false;
  }
  return false;
});


文章来源: Track swipes with Google Analytics