gpt4 book ai didi

gpt - Google发布商代码,如何从服务中删除事件监听器

转载 作者:行者123 更新时间:2023-12-03 16:25:32 26 4
gpt4 key购买 nike

关于如何将事件注册到gpt服务似乎存在一些问题:
Google Publisher Tag registering to Events
registering to events with google publisher tag

documentation中明确定义了如何执行此操作:googletag.pubads().addEventListener('eventName', callbackFn);
当组件(React)安装在this tutorial by Google中描述的window.googletag.cmd.push回调函数中时,我将事件添加到服务中。

现在的问题是,每次更改页面时,都会将更多事件监听器添加到服务中。通过使用此方法,我可以确保仅一个事件监听器在实际存在的插槽上执行(来自文档):

googletag.pubads().addEventListener('impressionViewable', function(event) {
if (event.slot == targetSlot) { // will only run on target slot
// Slot specific logic.
}
});

但是更多的事件监听器将保持事件状态并继续执行(不执行if语句中的代码)。

现在,我假设谷歌会实现这样的事情(在componentWillUnmount上运行): googletag.pubads().removeEventListener('eventName', callbackFn);
但是它在文档中不存在,我似乎找不到任何从服务中删除事件事件监听器的方法?

最佳答案

所以我去了:

let eventListnerCreated = false;
if(!eventListnerCreated) {
eventListnerCreated = googletag.pubads().addEventListener("slotRenderEnded", function(event) {
// blablabla
});
}

不干净。但是会起作用。

我知道这不能解决删除事件监听器的原始问题,但是这不会让我们一次又一次地创建事件监听器。

关于gpt - Google发布商代码,如何从服务中删除事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com