고마워요. 내 생각에 개념적으로 실수를 저지르고 있다고 생각합니다. 즉, 먼저 내 시나리오에 대해 알려 드리겠습니다.Javascript : GPT 렌더링을 사용하여 외부에 포함 된 JS 파일을 참조하는 동적 생성 함수
DFP AdUnits를 표시하는 DIV가 1 또는 x 있고이 동적 생성 기능을 사용합니다.
- 나는이 내가 동적 링크를 생성이 기능을 동적으로
function scriptincluder(divid){
var gbgscript = document.createElement('script');
gbgscript.async = true;
gbgscript.type = 'text/javascript';
gbgscript.src = 'https://anyscript.net/script.js?function=myfmydiv1&div=mydiv1 ';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gbgscript, node);
}
의 링크를 생성하십시오 DIV는 가시 영역에서와 같이 함수는 즉시 트리거 지금까지 작동합니다. 그래서 myfmydiv1/div1, myfmydiv2/div2, myfmydiv3/div3 ...에 대한 링크를 생성합니다. parentNode에 추가하십시오.
나는 광고 슬롯 나는 광고 단위를 생성하고 전역 변수에 추가이 부분에서 동적으로googletag.cmd.push(function() {
for (var slot in divslots) {
window['slot_'.concat(slot.toString())] = googletag.defineSlot('/Adslot/Adslot/Adslot/Adslot/Adslot/Adslot', slotsize[slot], slot.toString()).addService(googletag.pubads());
// generate external link pixel from #1:
scriptincluder(slot.toString());
}
googletag.pubads().enableSingleRequest();
googletag.pubads().disableInitialLoad(); // ad unit will not render yet
googletag.enableServices();
});
을 생성
-
== 저는 웹에서 이걸 보았습니다. 그게 올바른 방향인지 궁금합니다. 적어도 GCR 개발 도구에서 볼 수 있습니다. ('slot _'. concat (slot.toString())])
- # 1에서 링크를 동적으로 참조하는 함수를 생성합니다.
for (var slot in divslots) { var [‘myf’ + escape(slot)] = function() { alert("I am: " + slot); googletag.cmd.push(function() { googletag.pubads().refresh([window['slot_'.concat(key2.toString())]]);}); } }
항상 잘못된 기능을 실행합니다. 예를 들어, div1은 div2의 함수를 트리거하고 div1은 실제로로드하지 않지만 div2는로드합니다. 어떤 아이디어/도움?