跟踪在iframe顶部的滑动

时间:2014-05-13 13:45:31

标签: javascript jquery iframe swipe google-dfp

我希望能够在用户滑动广告时关闭广告。

广告来自AdSense或DFP广告管理系统,即从外部主机动态创建iframes

当内容来自其他域时,似乎无法捕获iframe的点击事件。有一个iFrameTracker插件使用模糊事件,但我不确定这是否可以用于滑动 - https://github.com/finalclap/iframeTracker-jquery

非常感谢任何帮助实现这一目标。

1 个答案:

答案 0 :(得分:1)

我们可以通过在广告上方创建透明div来完成此操作,并根据触摸或滑动设置高度。它现在按预期工作,即滑动将关闭广告,触摸将传递到我们从广告服务器提供的iframe广告。

//Create our swipe-div
  swipeAdEl = main.x("div", {"id": "swipeAdEl"}).appendTo(this.el);

  //This will check if we have focus on the tab and give the swipe area 100% height after clicking on an ad
  var lastFired = new Date().getTime();
  setInterval(function() {
      now = new Date().getTime();
      if(now - lastFired > 1000) {
          $(swipeAdEl).css('height', '100%');
      }
      lastFired = now;
  }, 500);

}

this._googleAds.on('got-ad', function() {
      self.el.remove_class("hidden");
      $(swipeAdEl).css('display', 'block');
      $(swipeAdEl).css('height', '100%');
    });

swipeAdEl.addEventListener('touchend', function(e){
  $(swipeAdEl).css('height', '0');
}, false)


    swipeAdEl.addEventListener('touchmove', function(e){
  self.hide();
}, false)