我的页面上有一个脚本,可以将广告网络中的内容加载到div中。此广告网络的填充率为80%,即它仅在80%的时间内投放广告,另外20%的时间不投放广告。遗憾的是,广告网络没有向我提供回电信息,告诉我它何时没有投放广告。因此,有时这个div显示广告,有时则显示空白。
这在我的网站上看起来很可怕,让我成为一只悲伤的熊猫。有没有办法检查div中是否有可见内容?如果我知道这一点,我会知道何时显示div,以及何时隐藏它。
这听起来像是一个难以解决的问题,但我想知道是否有任何解决方案。对你而言,大师。
答案 0 :(得分:0)
我认为最好的解决方案是寻找更可靠的广告网络。但是,您可以通过在jQuery对象上使用length
属性来检查是否存在任何DOM元素。例如:
if (!$('#adframe img').length) {
// the ad image doesn't exist, so do something to deal with it
}
这只是一个通用示例,因为我不知道广告标记的结构或有时会遗漏哪些元素,但重点是使用length
属性来查看选择器匹配的元素数量。如果找不到该元素,则该值将为零,您可以使用它来执行某些操作。
答案 1 :(得分:0)
这里你去假设广告没有设置Div可见性。这是sudo-code。
1。)使用id或名称
为div分配变量var myDiv=document.getElementsByName("divName");
2。)将div内部文本放入变量
var myAd = getInnerText(myDiv);
3.)检查内部文本div是否为空
if(typeof(myAd) == '' || myAd == null)
4.。)根据DIV标签之间的文本更改DIV的可见性。
答案 2 :(得分:0)
有一些实际的标记会有所帮助,但是如果我正确地读你,你通常会有一个空的div,然后有时会有一个iframe或嵌套的iframe或同样可怕的东西。
所以我使用两个并发解决方案:首先,最简单的jQuery解决方案是:
$("#ad-container div:empty").hide();
(将#ad-container div
替换为您使用的任何内容。)
与此同时,对于不起作用的时代(讨厌的iframe和东西),使用CSS提供备份背景图像,可能会提升自己或者只是让空间看起来更好。基本就是这样:
#ad-container { background-image: url(...);background-repeat:none; }
投放广告后,图片将会被覆盖。如果不是,备份将在那里为您服务。
答案 3 :(得分:-1)
广告投放成功后,IFrame是否有图片代码?