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


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图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
基于JavaScript实现动态添加删除表格的行
Feb 01 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
May 31 Javascript
完美的js图片轮换效果
Feb 05 Javascript
Angular之指令Directive用法详解
Mar 01 Javascript
Angularjs2不同组件间的通信实例代码
May 06 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
Oct 25 Javascript
vue自定义全局共用函数详解
Sep 18 Javascript
axios对请求各种异常情况处理的封装方法
Sep 25 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
用node.js写一个jenkins发版脚本
May 21 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
PHP的中问验证码
2006/11/25 PHP
PHP 编程安全性小结
2010/01/08 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
9个JavaScript评级/投票插件
2010/01/18 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
TensorFlow如何实现反向传播
2018/02/06 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
Python3最长回文子串算法示例
2019/03/04 Python
Django REST framework 视图和路由详解
2019/07/19 Python
django创建超级用户过程解析
2019/09/18 Python
python基于opencv 实现图像时钟
2021/01/04 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
爷爷追悼会答谢词
2014/01/24 职场文书
女娲补天教学反思
2014/02/05 职场文书
毕业留言寄语大全
2014/04/10 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
经理岗位职责范本
2015/04/15 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫