1

我的页面上有一个脚本,可将广告网络中的内容加载到 div 中。这个广告网络有 80% 的填充率,即它只在 80% 的时间投放广告,另外 20% 的时间不展示广告。可悲的是,广告网络没有给我回电告诉我它什么时候没有投放广告。因此,有时这个 div 会显示广告,而有时它是空白的。

这在我的网站上看起来很可怕,让我成为一只悲伤的熊猫。有没有办法检查div中是否有任何内容可见?如果我知道这一点,我就会知道何时显示 div 以及何时隐藏它。

这听起来像是一个很难解决的问题,但我想看看是否有任何解决方案。交给你了,大师们。

4

4 回答 4

0

有一些实际的标记会有所帮助,但如果我没看错的话,你通常会有一个空的 div,然后有时会有一个 iframe 或嵌套的 iframe 或类似的可怕的东西。

所以我会使用两个并发解决方案:首先,最简单的 jQuery 解决方案是:

$("#ad-container div:empty").hide();

#ad-container div(用你使用的任何东西替换。)

同时,对于那些不起作用的时候(讨厌的 iframe 和其他东西),使用 CSS 提供备用背景图片,也许可以宣传自己或只是让空间看起来更好。只是基本的,像这样:

#ad-container { background-image: url(...);background-repeat:none; }

投放广告时,图像将被覆盖。如果不是,备份将在那里为您服务。

于 2010-02-21T06:54:28.500 回答
0

我想说最好的解决方案是寻找更可靠的广告网络。length但是,您可以使用jQuery 对象上的属性来检查任何 DOM 元素是否存在。例如:

if (!$('#adframe img').length) {
  // the ad image doesn't exist, so do something to deal with it
}

这只是一个通用示例,因为我不知道您的广告标记的结构或有时缺少什么元素,但​​重点是使用该length属性来查看选择器匹配的元素数量。如果它没有找到该元素,则该值将为零,您可以使用它来采取一些措施。

于 2010-02-21T05:16:06.730 回答
0

在这里你假设 Div 可见性不是由广告设置的。这是须藤代码。

1.) 使用 id 或名称将变量分配给 div

var myDiv=document.getElementsByName("divName");

2.) 将 div 内部文本放入变量中

var myAd = getInnerText(myDiv);

3.) 检查内部 Text div 是否为空

if(typeof(myAd) == '' || myAd == null)

4.) 根据 DIV 标签之间的文本更改 DIV 的可见性。

于 2010-02-21T05:17:32.020 回答
-1

广告投放成功后,IFrame 是否有图片标签?

于 2010-02-21T05:16:00.553 回答