Board logo

标题: 挡不住的弹出窗口 [打印本页]

作者: ashuai    时间: 2007-3-18 12:45     标题: 挡不住的弹出窗口

这个站 http://www.iduba.com/

主要代码在 http://www.iduba.com/js/2.js

  1. function setupClick() {
  2.         if (!poped && !setupClickSuccess){
  3.                 if (window.Event)
  4.                         document.captureEvents(Event.CLICK);
  5.                 prePaypopOnclick = document.onclick;
  6.                 document.onclick = gopop;
  7.                 setupClickSuccess=true;
  8.         }
  9. }

  10. function gopop() {
  11.         if (!poped) {
  12.                 popwin = window.open("http://www.365.com",'Fboat_pop','top=0,left=0,width=780,height=480,toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes, location=yes, status=yes,center:no');
  13.                 if (popwin) {
  14.                         popwin.blur();
  15.                         poped = true;
  16.                         setpoped();
  17.                 }
  18.         }
  19.         if (typeof(prePaypopOnclick) == "function") {
  20.                 prePaypopOnclick();
  21.         }
  22. }
复制代码

作者: anderson    时间: 2007-3-18 14:22

直接打开,没有弹出窗口
作者: 囚中城    时间: 2007-3-18 14:26

楼主说关了那窗口后,弹出的窗口?
不关窗口,开着不弹窗口。用的置顶的黑名单


/(\.|\/|_|")(ads?(\d|code|gif|graph|list|log|puba|file|sence|site|show)?|(ali)?union(sky|sys)?|all(4ad|yes)|bdun|banner|cp(c|ro)|(guan|my|newhua)?gg(ao)?|keyrun|p(4|f)p|sms|sp(onsor|code)|themis|ulink(js|dir)|un|usmsweb|xc)(s)?(\d)*(\.|\/|_)/
/[\W_]ads?(?!=&)(banner|click|flow|frame|ima?ge?|log|serv(er|e)?|stream|type|view|vert(ising|ise?ment)?|trix|xchange|wrapper)?s?[\W\d_]/
/(\.|\/|_)(soft|hot)?ads?(s..|img|vert|rotator|view|bot|c_|client|council|gif|graph|images|info|log|pic)?(\.|\/|_)/
/(\.|\/|_|")(51yes|7town|adpolestar|adjs|co(ope|rpo)rate|ggg|hserver|(g|ma)img|is686|keyrun|stats?|ukaka|zframe|zview)(\.|\/)/
/(online(\d)|(\w){1,4})\.(265|ete).+(_\d+|show)(.php)/
/(dds|biz(\d))\.(sandai|sogua).+(gif|htm|jpg)/
/\.(ku6|mumayi).+(\d{2,}|head\d?)\.htm/
作者: anderson    时间: 2007-3-18 14:28

汗一个,是关闭后才弹出的窗口
作者: elkay    时间: 2007-3-18 14:42

有2个js脚本控制的,把下面的内容加入黑名单就可以了

  1. #exd#*.iduba.com*#<script[^>]*(?:2|default)\.js.*?><\/script>###<!--Ad blocked by TheWorld2-->
复制代码

[ 本帖最后由 elkay 于 2007-3-18 14:55 编辑 ]
作者: tinham    时间: 2007-3-18 14:45

#exd#*.iduba.com*#<script[^>]*(?:2|default).js.*?><\/script>###<!--Ad blocked by TheWorld2-->

那个“.”要不要加个“\”啊?“.”在正规里面不是要在前面加转义字符“\”的吗?为什么不用加?这是什么原因?

#exd#*.iduba.com*#<script[^>]*(?:2|default)\.js.*?><\/script>###<!--Ad blocked by TheWorld2-->

不是这样吗?

[ 本帖最后由 tinham 于 2007-3-18 14:49 编辑 ]
作者: elkay    时间: 2007-3-18 14:54

呵呵,眼光好犀利啊,我是没注意到,实际上是因为"."在正则中表示匹配除换行符以外的所有字符,当然也能匹配到".",不过还是写成"\."的好,我这就去改,呵呵
作者: tinham    时间: 2007-3-18 15:19

同理,我也发现在你的页面广告过滤规则那里也发现很多不加转义字符“\”的,“.”和“/”前面都要加“\”吧,好像置顶帖那里都没有加哦!!
作者: elkay    时间: 2007-3-18 15:33

谢谢建议,以后会注意了,呵呵,其实我测试的时候只要通过就不管了,看来以后要写正规一点了


作者: kkhkkh    时间: 2007-3-18 23:26

似乎彻底防止弹出窗口不是那么容易。
作者: elkay    时间: 2007-3-18 23:28

并不是不可以,但是彻底阻止弹出窗口会造成误杀,所以只能是一个折衷的方案,遗漏的弹窗广告再用黑名单或者页面过滤来补充




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2