我已经更改了代码,基本上加载了一个隐藏div中的页面底部,并附加了一个onload事件处理程序,它调用了document.getElementById(xxx).appendChild()来获取隐藏的广告并将其移动到在我的页面中的正确位置。这很有效..但是,当广告是文字广告时,我移动广告后,呈现的iframe中没有任何内容。我做了测试,看看它在移动之前的样子,确定文本链接在IFRAME中加载,但第二次我执行appendChild调用以移动包含广告的div我似乎松开了iframe的内容。
任何想法都在继续
<div id="myad" style="display: none;">
GA_googleFillSlot("MyADSlotName");
</div>
<script>
window.onload = function() {
// leader board
document.getElementById('adplaceholder').appendChild(document.getElementById('myAd'));
document.getElementById('myAd').style.display = '';
</script>
更新:我认为这里的问题是,在文字广告上谷歌写入iframe直接插入相关的文字链接在其他广告上,它使用iframe只指向某个src。好像当我做了附加,如果在复制完成后没有为iframe设置“src”,新位置的iframe什么都不包含......猜猜它在src上重新加载了吗?有什么方法吗??
答案 0 :(得分:1)
这应该可以解决问题:
<div id="adsense_empty">placeholder</div>
<div id="adsense_content" style="display: none;">
<script src="adsense">...</script>
</div>
<script>
function replace( oldel, newel, show ) {
if ( typeof newel == "string" )
newel = document.getElementById( newel );
if ( typeof oldel == "string" )
oldel = document.getElementById( oldel );
if ( newel && oldel )
oldel.parentNode.replaceChild( newel, oldel );
if ( show )
newel.style.display = "";
}
window.onload = function() {
replace( "adsense_empty", "adsense_content", true );
replace( "adsense_empty2", "adsense_content2", true );
replace( "adsense_empty3", "adsense_content3", true );
};
</script>
答案 1 :(得分:0)
试试这个。如果Google放置IFrame,请放置IFrame的内容,否则按照惯例继续:
if (document.getElementById('banner_leaderboard'))
{
if (document.getElementById('google_ads_iframe_XXXXX_AllSite_Leaderboard_728x90'))
{
var el1 = document.getElementById('banner_leaderboard');
el1.innerHTML = document.getElementById('google_ads_iframe_XXXXX_AllSite_Leaderboard_728x90').contentWindow.document.body.innerHTML;
}
else
{
document.getElementById('banner_leaderboard').appendChild(document.getElementById('banner_leaderboard_hidden'));
document.getElementById('banner_leaderboard_hidden').style.display = 'block';
}
}