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


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 相关文章推荐
JS 常用校验函数
Mar 26 Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
Aug 28 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
jQuery窗口、文档、网页各种高度的精确理解
Jul 02 Javascript
JavaScript运算符小结
Jun 03 Javascript
vue-cli+webpack记事本项目创建
Apr 01 Javascript
MUI  Scroll插件的使用详解
Apr 13 Javascript
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
js实现一个简单的MVVM框架示例
Jan 15 Javascript
在微信小程序中保存网络图片
Feb 12 Javascript
javascript之分片上传,断点续传的实际项目实现详解
Sep 05 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学习笔记(一):基本语法之标记、空白、和注释
2015/04/17 PHP
php文件缓存方法总结
2016/03/16 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中获取对象信息的方法
2015/04/27 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
python绘制简单折线图代码示例
2017/12/19 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
详解python配置虚拟环境
2019/04/08 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
python能在浏览器能运行吗
2020/06/17 Python
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
毕业评语大全
2014/05/04 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server