【问题标题】:How to catch error in googletag.cmd.push(function() { googletag.display('div-id'); });?如何在 googletag.cmd.push(function() { googletag.display('div-id'); }); 中捕获错误?
【发布时间】:2021-12-14 03:50:00
【问题描述】:
我试图抓住错误
googletag.cmd.push(function() { googletag.display('div-id'); });
虽然我知道问题的根源是因为头中没有定义插槽,但我怎样才能捕捉到错误?我面临一个问题,其中 definedSlot 很乱而且到处都是,所以我认为在 googletag.cmd.push 中捕获错误将是一个更简单的解决方案。
谢谢你。
【问题讨论】:
标签:
javascript
google-dfp
【解决方案1】:
您可以在显示之前检查 googletag 定义的槽中的目标 ID 是否存在于 DOM 中:
//get all the defined slots
var definedSlots = googletag.pubads().getSlots();
//loop through the definedSlots
for (var x = 0; x < definedSlots.length; x++) {
//retrieve the targeted ID
var slotId = definedSlots[x].getSlotId().getDomId();
//if it exists
if (document.querySelector('#'+ slotId)) {
//then dislay it
googletag.cmd.push(function() { googletag.display(slotId); });
}
}