0

ページのヘッダーですべての adSlots を定義しています。JavaScript で、ページ上の位置に基づいてこれらの adSlots の「一部」を更新したいと考えています。

現時点で私が持っているものは次のとおりです。

googletag.cmd.push(function() {
  slot1 = googletag.defineSlot('/1234/example', [[728, 90], 'gpt-divId1')
    .addService(googletag.pubads());
  slot2 = googletag.defineSlot('/1234/example', [[300, 250], 'gpt-divId2')
    .addService(googletag.pubads());
  slot3 = googletag.defineSlot('/1234/example', [[300, 250], 'gpt-divId3')
    .addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();

data-gpt-slot次に、その定義されたスロットの名前を各 divの属性に入れています<div attr="slot1" id="gpt-divId1">

別の JavaScript で、DOM を実行してdata-gpt-slot、特定の領域内のすべての値のリストを取得し、それらをgoogletag.pubads().refresh();

を手動で呼び出すとgoogletag.pubads().refresh([slot1,slot2])、これらの広告は更新されますが、jQuery を使用してその文字列を作成しようとすると、再生されません。

  var gptdivs = [];
  $('.myContainer .gpt-holder').each(function(){
    gptdivs.push($(this).attr('data-gpt-slot'));
  });
  googletag.pubads().refresh([gptdivs]);

$(this).attr('data-gpt-slot')slot1、などのプロパティについて何か不足していると思いslot2ますか?

4

2 に答える 2

1

ここに深い配列があり、問題を引き起こしていると思います

refresh([gptdivs])

ちょうど試して

refresh(gptdivs)
于 2013-10-12T02:23:39.280 に答える