Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在pubads()之后,Google DFP SLOTrendered函数工作错误。刷新([currentSlot])_Javascript_Refresh_Ads_Infinite_Google Dfp - Fatal编程技术网

Javascript 在pubads()之后,Google DFP SLOTrendered函数工作错误。刷新([currentSlot])

Javascript 在pubads()之后,Google DFP SLOTrendered函数工作错误。刷新([currentSlot]),javascript,refresh,ads,infinite,google-dfp,Javascript,Refresh,Ads,Infinite,Google Dfp,通过向下滚动鼠标窗口,我正在无限循环中使用googletag.pubads().refresh([currentAdSlot]),我想在刷新函数之后监听“slotrendereded”事件。但每次我调用刷新函数时,“slotRenderEvent”都会被累积触发。例如,在第一次调用ResendAd函数时,侦听事件只工作一次。在秒呼叫时,监听事件工作两次并持续增加此计数。如何修复此错误?我不明白怎么了?这是google dfp api的bug还是我的代码 function ResendAd(AdS

通过向下滚动鼠标窗口,我正在无限循环中使用googletag.pubads().refresh([currentAdSlot]),我想在刷新函数之后监听“slotrendereded”事件。但每次我调用刷新函数时,“slotRenderEvent”都会被累积触发。例如,在第一次调用ResendAd函数时,侦听事件只工作一次。在秒呼叫时,监听事件工作两次并持续增加此计数。如何修复此错误?我不明白怎么了?这是google dfp api的bug还是我的代码

function ResendAd(AdSlot,callback) {

  googletag.pubads().clearTargeting();
  googletag.pubads().updateCorrelator();
  googletag.pubads().refresh([AdSlot]);

  googletag.pubads().addEventListener('slotRenderEnded', function (event) {
    console.warn('This function scope triggered multiple times.');
    if (event.slot === AdSlot) {
      if (!event.isEmpty) {
        if (callback && typeof callback === "function") {
          callback(event);
        }
      }
    }
  });
}

这是代码中的一个bug。每次调用ResendAd时,都会添加一个事件侦听器(slotrendereded)

您应该在只调用一次的函数中添加事件侦听器。我不能告诉你确切的位置,因为我无法访问你的代码