Javascript 加载后广告-使用appendChild移动带有文本链接广告的IFRAME
我改变了代码,基本上加载了一个add,将页面底部添加到一个隐藏的div中,并附加了一个onload事件处理程序,该处理程序调用document.getElementById(xxx).appendChild()来获取隐藏的广告并将其移动到页面中的正确位置。这很有效。。但是,当广告是文本广告时,在我移动广告后,渲染的Iframe中没有任何内容。在我移动它之前,我做了一些测试来看看它是什么样子的,当然文本链接会加载到IFRAME中,但是在我执行appendChild调用来移动包含广告的div时,我似乎丢失了IFRAME的内容 你知道怎么回事吗Javascript 加载后广告-使用appendChild移动带有文本链接广告的IFRAME,javascript,iframe,replace,adsense,Javascript,Iframe,Replace,Adsense,我改变了代码,基本上加载了一个add,将页面底部添加到一个隐藏的div中,并附加了一个onload事件处理程序,该处理程序调用document.getElementById(xxx).appendChild()来获取隐藏的广告并将其移动到页面中的正确位置。这很有效。。但是,当广告是文本广告时,在我移动广告后,渲染的Iframe中没有任何内容。在我移动它之前,我做了一些测试来看看它是什么样子的,当然文本链接会加载到IFRAME中,但是在我执行appendChild调用来移动包含广告的div时,我似
<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>
GA_googleFillSlot(“MyADSlotName”);
window.onload=函数(){
//领导委员会
document.getElementById('adplaceholder').appendChild(document.getElementById('myAd'));
document.getElementById('myAd').style.display='';
更新:我认为这里的问题是,在文本广告中,谷歌直接在iframe中插入相关的文本链接,在其他广告中,它使用iframe只指向某个src。似乎当我做appendchild时,如果没有“src”为iframe设置复制完成后,新位置的iframe不包含任何内容…猜测它会在src上重新加载?任何方法都可以解决此问题???这应该可以解决以下问题:
<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>
占位符
...
功能替换(旧的、新的、显示的){
if(newel的类型==“字符串”)
newel=document.getElementById(newel);
if(typeof oldel==“string”)
oldel=document.getElementById(oldel);
如果(新的和旧的)
oldel.parentNode.replaceChild(newel,oldel);
如果(显示)
newel.style.display=“”;
}
window.onload=函数(){
替换(“adsense\u空”、“adsense\u内容”,真);
替换(“adsense\u empty2”、“adsense\u content2”,真);
替换(“adsense\u empty3”、“adsense\u content3”,真);
};
这应该可以做到:
<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>
占位符
...
功能替换(旧的、新的、显示的){
if(newel的类型==“字符串”)
newel=document.getElementById(newel);
if(typeof oldel==“string”)
oldel=document.getElementById(oldel);
如果(新的和旧的)
oldel.parentNode.replaceChild(newel,oldel);
如果(显示)
newel.style.display=“”;
}
window.onload=函数(){
替换(“adsense\u空”、“adsense\u内容”,真);
替换(“adsense\u empty2”、“adsense\u content2”,真);
替换(“adsense\u empty3”、“adsense\u content3”,真);
};
试试这个。如果谷歌放了一个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';
}
}
试试这个。如果谷歌放了一个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';
}
}
你为什么这样做?我这样做是为了强制在页面底部加载广告,一旦加载后,我可以将其移动到我希望向用户显示的位置。这样我就可以加载页面的大部分内容,而不必在加载广告时阻塞。你为什么这样做?我这样做是为了强制在页面底部加载广告加载页面后,我可以将其移动到我希望向用户显示的位置。这样,我就可以加载大部分页面,而无需在加载广告时进行阻止