2011-11-28 23 views
12

मैं Google डीएफपी में कुछ नई सुविधाओं का उपयोग कर रहा हूं और इसे स्वयं पर रीफ्रेश करने के लिए एक भी जोड़ा नहीं जा सकता। मैं पेज पर सभी विज्ञापनों को रीफ्रेश कर सकता हूं लेकिन मुझे केवल एक ही रीफ्रेश करने के लिए नहीं मिल सकता है।google dfp pubads()। रीफ्रेश() अपेक्षित काम नहीं कर रहा है

मैं भाग्य के बिना ताज़ा करने के लिए एक ऐड प्राप्त करने के लिए निम्न कोड की कोशिश कर रहा है:

var slot1 = googletag.display('/6900315/myad2', [300, 250], 'div-2'); 
     googletag.pubads().refresh([slot1]); 

किसी भी मदद की सराहना की होगी!

पूर्ण स्रोत:

<script type='text/javascript'> 
var googletag = googletag || {}; 
googletag.cmd = googletag.cmd || []; 
(function() { 
    var gads = document.createElement('script'); 
    gads.async = true; 
    gads.type = 'text/javascript'; 
    var useSSL = 'https:' == document.location.protocol; 
    gads.src = (useSSL ? 'https:' : 'http:') + 
'//www.googletagservices.com/tag/js/gpt.js'; 
    var node = document.getElementsByTagName('script')[0]; 
    node.parentNode.insertBefore(gads, node); 
})(); 
</script> 


script type='text/javascript'> 
googletag.cmd.push(function() { 
    googletag.pubads().enableAsyncRendering(); 
    googletag.defineSlot("/69003153/myad1", [728, 90], "div-1").addService   (googletag.pubads()); 
    googletag.defineSlot("/69003153/myad2", [300, 250], "div-2").addService (googletag.pubads()); 
    googletag.enableServices(); 
}); 
</script> 
<script type='text/javascript'> 
function changeAd() { 
    googletag.cmd.push(function() { 
     var slot1 = googletag.display('/6900315/myad2', [300, 250], 'div-2'); 
     googletag.pubads().refresh([slot1]); 
     //googletag.pubads().refresh(); 


    }); 
} 
</script> 
</head> 
<body> 
    <form id="form1" runat="server"> 


    <div id='div-1' style='width:728px; height:90px;'> 
<script type='text/javascript'> 
    googletag.cmd.push(function() { googletag.display('div-1'); }); 
</script> 
</div> 


<!-- BoxAdd_Details --> 
<div id='div-2' style='width:300px; height:250px;'> 
    <script type='text/javascript'> 
     googletag.cmd.push(function() { googletag.display('div-2); }); 
</script> 
</div> 

<input type="button" name="test" title="test" onclick="javascript:window.changeAd();"  value="Reload Ad" /> 

उत्तर

14

मैं भी यही समस्या आ रही है। मुझे अभी तक अपने विज्ञापनों को रीफ्रेश करने के लिए नहीं मिला है, लेकिन मुझे सुझाव देना चाहिए कि आपको अपने विज्ञापन स्लॉट को एडी() में पुनः लोड करने की आवश्यकता नहीं है।

googletag.cmd.push(function() { 
    googletag.pubads().enableAsyncRendering(); 
    googletag.defineSlot("/69003153/myad1", [728, 90], "div-1").addService   (googletag.pubads()); 
    googletag.defineSlot("/69003153/myad2", [300, 250], "div-2").addService (googletag.pubads()); 
    googletag.enableServices(); 
}); 

प्रयास करें:

बजाय

googletag.cmd.push(function() { 
    googletag.pubads().enableAsyncRendering(); 
    slot1 = googletag.defineSlot("/69003153/myad1", [728, 90], "div-1").addService   (googletag.pubads()); 
    slot2 = googletag.defineSlot("/69003153/myad2", [300, 250], "div-2").addService (googletag.pubads()); 
    googletag.enableServices(); 
}); 

'var' पूर्ववर्ती बिना उन्हें घोषणा स्लॉट दायरे में वैश्विक बनाता है। अपने changeAd() समारोह में, बस

googletag.pubads().refresh([slot1]); 

फोन मैं भी यकीन है कि अगर चाहेंगे कि आपको googletag.cmd.push() अंदर

जब मैं इसे इस तरह अमल, मेरे विज्ञापन अब भी ताज़ा न की जरूरत नहीं हूँ, लेकिन console.log चल (स्लॉट 1) से पता चलता है कि विज्ञापन स्लॉट जिंदा है और लात मार रहा है ...

क्या कोई और मदद कर सकता है?

+0

धन्यवाद कि एक इलाज किया! स्लॉट 1 – sooty

+0

के लिए वैश्विक दायरे का उपयोग करके ऊपर दिए गए कोड का उपयोग करके अब एक जोड़ा ताज़ा है। सुनिश्चित करें कि आप googletag.pubads() शामिल हैं। EnableAsyncRendering(); ऊपर परिभाषित स्लॉट() जैसा कि मैंने नहीं किया था और मुझे रिलीज करने में थोड़ी देर लग गई थी क्यों कोड काम नहीं कर रहा था –

+0

googletag.pubads()। ताज़ा करें(); अंदर तर्क के बिना ठीक काम करता है :) – Kostadin

संबंधित मुद्दे