手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >超级兔子让浮动层消失的前因后果
超级兔子让浮动层消失的前因后果
摘要:刚搞定了瑞星卡卡,又冲来个超级兔子。不过超级兔子的枪法真的有待改善。还是同样的问题:安装了超级兔子IE工具条的用户购买自动发货商品时,Lig...

刚搞定了瑞星卡卡,又冲来个超级兔子。不过超级兔子的枪法真的有待改善。

还是同样的问题:安装了超级兔子IE工具条的用户购买自动发货商品时,LightBox形式的购买提醒框刚一显示就消失了。而灰蒙的遮蔽层依然显示,用户又无法继续操作了。

根据研究,超级兔子对屏蔽广告的屏蔽原则更为武断,只要是在JavaScript代码中出现类似“div.style.position=absolute”的代码,div就会被隐藏,不仅如此,超级兔子还会检查页面中的元素,只要一个元素以inline形式设置了position样式属性以及配套的任一个top/left属性,比如”<divstyle=”position:absolute;top:0;”>xxx</div>”,那么也会将其隐藏。

但与瑞星卡卡不同之处在于,超级兔子并不会把绝对定位元素从DOM中抹除。而是设置元素的style.visibility=hidden。这就是为什么自动发货的购买提醒框消失的原因。

如何避免超级兔子的枪盲目射击呢?其实很简单,不要用JavaScript或者以inline的形式设置绝对定位相关的CSS属性即可。可以把这些CSS属性直接通过class或id的形式定义在样式单文件或<style/>中(本来也应该这么做)。

如果不得不用JavaScript设置绝对定位属性,比如一些菜单/动画的效果。就要通过脚本的办法来解决了,还记得超级兔子和瑞星卡卡对浮动广告的处理区别吗?伪码可能如下:

复制代码 代码如下:

<scripttype=”text/javascript”>

functionsetPosition(){

FloatLayer.style.top=y;

FloatLayer.style.left=x;

setTimeout(checkSR,100);

}

functioncheckSR(){

if(FloatLayer.currentStyle&&FloatLayer.currentStyle.visibility=='hidden'))

fixUp();

}

</script>

我也痛恨浮动广告,可是淘宝的页面真的很干净了,不是吗

【超级兔子让浮动层消失的前因后果】相关文章:

textarea是否自动换行

javascript实现带下拉子菜单的导航菜单效果

js输入中文效果

jquery右下角自动弹出可关闭的广告层

COOL而实用的动态效果

限制复选框的最大可选数

JS实现简洁、全兼容的拖动层实例

Java新手入门教程:新手必须掌握的30条Java基本概念

Java有哪些常用语?Java常用语言汇总

js实现顶部可折叠的菜单工具栏效果实例

精品推荐
分类导航