超级兔子让浮动层消失的前因后果
刚搞定了瑞星卡卡,又冲来个超级兔子。不过超级兔子的枪法真的有待改善。
还是同样的问题:安装了超级兔子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>
我也痛恨浮动广告,可是淘宝的页面真的很干净了,不是吗
相关推荐
-
基于jquery的浮动层效果代码
本浮动层基于jQuery1.6.2,对于研究1.6版本的jquery很有帮助意义. jquery浮动层 #Float {background-color: #000;height: 200px;width: 100px;position: absolute;top: 80px;right: 20px;} $(document).ready(function(){ $(window).scroll(function (){ var offsetTop = $(window).scrollTop()
-
MooTools 页面滚动浮动层智能定位实现代码
HTML代码: 复制代码 代码如下: <div class="float" id="float"> 我是个腼腆羞涩的浮动层... </div> JS代码: 复制代码 代码如下: var $smartFloat = function(elements) { var position = function(element) { var top = element.getPosition().y, pos = element.getStyle(&q
-
仿CSDN 右下角悬挂的浮动层效果
ads body{ font-size:12px; margin:0px; } /**for ads**/ h1{ font-size:14px; } .ads{ margin:0px auto; width:325px; height:190px; border:1px solid #ddd; } CSDN右下角悬挂效果 #ads_14{ float:right; font-family: verdana,sans-serif; } #ads_14 H6 { width:282px; heig
-
jQuery实现页面滚动时层智能浮动定位实例探讨
各位兄弟可能碰到定位的问题,特别是在博客或者微博上面也会见到这个效果,于是产品人员在策划的时候就会要人家那种效果,,,而苦逼的我们需要去实现,实现实现.....没办法,谁让我们是攻城师呢,攻吧: 效果图如下,滚动条下拉的时候黑色的块TOP为0:固定显示: 代码如下: 复制代码 代码如下: <!DOCTYPE html> <html > <head> <title>jQuery实现页面滚动时层智能浮动定位</title> <meta name
-
关于flash遮盖div浮动层的解决方法
网上的解决方案: From:http://codingforums.com/showthread.php?t=95109 (a) place Flash embed script in <div> container (I use SWFObject.js)[将flash嵌入脚本放到一个div容器中] (b) add wmode=transparent to Flash embed script[增加wmode=transparent 到flash嵌入脚本] (c) set <div i
-
jQuery页面滚动浮动层智能定位实例代码
HTML代码: 复制代码 代码如下: <div class="float" id="float"> 我是个腼腆羞涩的浮动层... </div> JS代码: 复制代码 代码如下: $.fn.smartFloat = function() { var position = function(element) { var top = element.position().top, pos = element.css("position&q
-
经典的带阴影的可拖动的浮动层
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>MyPixbot</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language
-
jQuery powerFloat万能浮动层下拉层插件使用介绍
一.写插件的缘由 为什么想写此插件,想来想去,归结为一个字:"懒".不想为明明两个类似的功能分别写代码,本应喝茶看美女的休闲时光晃荡在本可避免的代码上,对于我来讲,就是白白耗费自己的青春.于是,干脆,一鼓作气,把这些类似的功能集合到一起,一个插件搞定,一了百了了.这种感觉就好比<大话西游>里悟空一巴掌拍死唐僧这只苍蝇一样.那,这里提及的类似的功能是指?当当当当,就是与某元素有位置关系的浮动层(例如tip类效果,鼠标经过显示大图,下拉列表等). 二.插件概述 插件名为jque
-
js 浮动层菜单收藏
使用说明 即仅需把附件中的 JS 文件和 CSS 文件引用到网页里,如: 复制代码 代码如下: <script type="text/javascript" src="DivMenu.js"></script> <link href="DivMenu.css" rel="stylesheet" type="text/css" /> 在线演示 http://img.jb51
-
超级兔子让浮动层消失的前因后果
刚搞定了瑞星卡卡,又冲来个超级兔子.不过超级兔子的枪法真的有待改善. 还是同样的问题:安装了超级兔子IE工具条的用户购买自动发货商品时,LightBox形式的购买提醒框刚一显示就消失了.而灰蒙的遮蔽层依然显示,用户又无法继续操作了. 根据研究,超级兔子对屏蔽广告的屏蔽原则更为武断,只要是在JavaScript代码中出现类似 "div.style.position=absolute" 的代码,div 就会被隐藏,不仅如此,超级兔子还会检查页面中的元素,只要一个元素以inline形式设置了
-
jQuery实现浮动层随浏览器滚动条滚动的方法
本文实例讲述了jQuery实现浮动层随浏览器滚动条滚动的方法.分享给大家供大家参考.具体如下: 这是jQuery实现的一个浮动层效果,随浏览器滚动条而滚动,并一直保持在顶部位置,请使用火狐测试,IE下表现不尽理想. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-float-follow-nav-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
-
js实现从右向左缓缓浮出网页浮动层广告的方法
本文实例讲述了js实现从右向左缓缓浮出网页浮动层广告的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&
-
JavaScript实现的浮动层框架用法实例分析
本文实例讲述了JavaScript实现的浮动层框架用法.分享给大家供大家参考.具体如下: 这是一个JavaScript编写的浮动层框架,作为框架来说,骨干已经完成了.可以实现"类"."构造函数"."继承"(木有实现多继承)."静态方法"."重载"(木有实现多态),对我来说主要的意义就是,我喜欢这种代码风格,可以非常简单的重用和二次开发. 运行效果截图如下: 在线演示地址如下: http://demo.jb5
-
js点击任意区域弹出层消失实现代码
本文实例为大家分享了js点击任意区域弹出层消失的具体代码,供大家参考,具体内容如下 采用jquery element.parents();判断点击区域是否在弹出层上面或者在按钮上面,否则让弹出层消失. 完整代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head
随机推荐
- JavaScript之underscore_动力节点Java学院整理
- PHP连接SQLServer2005方法及代码
- Spring Boot实现文件上传示例代码
- java中通过网卡名称获取IP地址
- php根据年月获取季度的方法
- 让PHP支持页面回退的两种方法[转]
- Python实现获取域名所用服务器的真实IP
- 在Python中使用pngquant压缩png图片的教程
- python编写的最短路径算法
- c语言可变参数实现示例
- Android如何在Gradle中更改APK文件名详解
- 详解Android中Intent传递对象给Activity的方法
- Javascript !!的作用
- asp汉字中文图片验证码的实现代码
- 安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法
- 学习使用jquery iScroll.js移动端滚动条插件
- jquery更换文章内容与改变字体大小代码
- javascript表单验证大全
- Win2003里面地web园特性详细解说
- PHP使用Alexa API获取网站的Alexa排名例子