超级兔子让浮动层消失的前因后果


Posted in Javascript onMarch 09, 2007

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

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

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

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

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

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

<script type=”text/javascript”>  
function setPosition() {  
    FloatLayer.style.top = y;  
    FloatLayer.style.left = x;  
    setTimeout(checkSR, 100);  
}  
function checkSR() {  
    if (FloatLayer.currentStyle && FloatLayer.currentStyle.visibility=='hidden'))  
        fixUp();  
}  
</script>  

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

Javascript 相关文章推荐
IE 条件注释详解总结(附实例代码)
Aug 29 Javascript
javascript 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
javascript中substr,substring,slice.splice的区别说明
Nov 25 Javascript
各浏览器对click方法的支持差异小结
Jul 31 Javascript
jquery ajax post提交数据乱码
Nov 05 Javascript
JavaScript提高性能知识点汇总
Jan 15 Javascript
深入理解jQuery之防止冒泡事件
May 24 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
Aug 29 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
基于jQuery实现的查看全文功能【实用】
Dec 11 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 Javascript
js回调函数仿360开机
Dec 26 Javascript
再谈IE中Flash控件的自动激活 ObjectWrap
Mar 09 #Javascript
javascript的对话框详解与参数
Mar 08 #Javascript
打开超链需要“确认”对话框的方法
Mar 08 #Javascript
javascript学习随笔(使用window和frame)的技巧
Mar 08 #Javascript
关于使用runtimeStyle属性问题讨论文章
Mar 08 #Javascript
用js判断用户浏览器是否是XP SP2的IE6
Mar 08 #Javascript
在IE模态窗口中自由查看HTML源码的方法
Mar 08 #Javascript
You might like
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
DHTML 中的绝对定位
2006/11/26 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Python selenium文件上传方法汇总
2020/11/19 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
外企C语言笔试题
2013/11/10 面试题
维德科技C#面试题笔试题
2015/12/09 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
办公室文员工作自我评价
2013/12/01 职场文书
资产经营总监岗位职责范文
2013/12/01 职场文书
就业协议书怎么填
2014/09/15 职场文书
员工离职通知函
2015/04/25 职场文书
重阳节活动主持词
2015/07/04 职场文书
Python实现位图分割的效果
2021/11/20 Python