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


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 相关文章推荐
javascript 变量作用域 代码分析
Jun 26 Javascript
JavaScript几种形式的树结构菜单
May 10 Javascript
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
Sep 03 Javascript
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
Node.js Addons翻译(C/C++扩展)
Jun 12 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
jQuery中Chosen三级联动功能实例代码
Mar 07 Javascript
tracking.js页面人脸识别插件使用方法
Apr 16 Javascript
详解Vue中watch的详细用法
Nov 28 Javascript
JavaScript eval()函数定义及使用方法详解
Jul 07 Javascript
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
再谈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
国内php原创论坛
2006/10/09 PHP
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
php将会员数据导入到ucenter的代码
2010/07/18 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
JavaScript 对象模型 执行模型
2009/12/06 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
Python3常见函数range()用法详解
2019/12/30 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
大学生个人总结的自我评价
2013/10/05 职场文书
新闻编辑自荐信
2013/11/03 职场文书
迎元旦广播稿
2014/02/22 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
建筑横幅标语
2014/10/09 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
协议书范文
2015/01/27 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
Nginx限流和黑名单配置
2022/05/20 Servers