阅读:3008回复:8
鼠标手势脚本求助
根据去除flash的脚本修改的,用于去除浮动广告,可用于mouse gesture redbox和firegestures
function flattenWindows(aWindow) { var ret = [aWindow]; for (var i = 0; i < aWindow.frames.length; i++) { ret = ret.concat(flattenWindows(aWindow.frames[i])); } return ret; } var windows = flattenWindows(window.content); for (var i = windows.length - 1; i >= 0; i--) { var doc = windows[i].document; var exp = '/descendant::Div'; var ret = doc.evaluate(exp, doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var j = ret.snapshotLength - 1; j >= 0; j--) { var elt = ret.snapshotItem(j); if (elt.parentNode.style.position == "absolute" ){ elt = elt.parentNode; elt.parentNode.removeChild(elt); } } } 在这个网站试验有效 http://www.xp366.com/soft/soft1/net/4849.html 但这个网站就不行 http://www.wei2008.com/html/down/40368.html 不知道原因在哪里 第一个网站的广告生成代码 document.writeln("") document.writeln(" <script type=\"text\/javascript\">"); document.writeln(" <!--"); document.writeln("document.writeln(\" <div id=\\\"ShowAD\\\" style=\\\"position:absolute; z-index: 100;\\\"> \");"); document.writeln("document.writeln(\" <div id=\\\"ImgLayer\\\" style=\\\"position:absolute; z-index:1; left: 0px;\\\"> \");"); document.writeln("document.writeln(\" <img src=\\\"http:\/\/www.xp366.com\/adfile\/UploadPic/2010-4/20104212145453756.gif\\\" width=\\\"215\\\" height=\\\"175\\\" border=\\\"0\\\" usemap=\\\"#ivrinMap\\\">\");"); document.writeln("document.writeln(\"<map name=\\\"ivrinMap\\\"><area shape=\\\"rect\\\" coords=\\\"178,0,220,0\\\" href=\\\"#\\\" onclick=\\\"CloseIVR();return false;\\\" target=\\\"_self\\\"><area shape=\\\"rect\\\" coords=\\\"0,1,220,178\\\" href=\\\"http:\/\/www.xpgod.com\\\" target=\\\"_blank\\\"><\/map>\");"); document.writeln("document.writeln(\" <\/div>\");"); document.writeln("document.writeln(\"<\/div>\");"); document.writeln(""); document.writeln("var bodyfrm = ( document.compatMode.toLowerCase()==\"css1compat\" ) ? document.documentElement : document.body;"); document.writeln("var adst = document.getElementById(\"ShowAD\").style;"); document.writeln("adst.top = ( bodyfrm.clientHeight - 178 ) + \"px\";"); document.writeln("adst.left = ( bodyfrm.clientWidth - 220 ) + \"px\";"); document.writeln("function moveR() {"); document.writeln(" adst.top = ( bodyfrm.scrollTop + bodyfrm.clientHeight - 178 ) + \"px\";"); document.writeln(" adst.left = ( bodyfrm.scrollLeft + bodyfrm.clientWidth - 220 ) + \"px\";"); document.writeln("}"); document.writeln("setInterval(\"moveR();\", 80);"); document.writeln("function CloseIVR(){"); document.writeln(" adst.display=\'none\';"); document.writeln("}"); document.writeln(" \/\/-->"); document.writeln(" <\/script>"); document.writeln(""); 第二个网站的生成代码 document.write("<div id='wanyxShowAD' style='position:absolute; z-index: 0;'>"); document.write('<img src="/adfile/douxie.gif" width="250" height="185" border="0" onclick="CloseIVR()" usemap="#ivrinMap">'); document.write('<map name="ivrinMap"><area shape="rect" coords="130,0,200,0" href="#" target="_blank"><area shape="rect" coords="0,1,250,185" href="http:\/\/rd.cnzz.com\/rd.htm?id=3414&r=http%3A%2F%2Fwww.shiyijie.com%2F%3Fxfzs\" target="_blank"></map>'); document.write("</div>"); var _wanyx_bodyfrm = ( document.compatMode.toLowerCase()=="css1compat" ) ? document.documentElement : document.body; var _wanyx_adst = document.getElementById("wanyxShowAD").style; function CloseIVR(){ _wanyx_adst.display='none'; } //download by http://www.wei2008.com function _wanyx_moveR() { _wanyx_adst.top = ( _wanyx_bodyfrm.scrollTop + _wanyx_bodyfrm.clientHeight - 185 ) + "px"; _wanyx_adst.left = ( _wanyx_bodyfrm.scrollLeft + _wanyx_bodyfrm.clientWidth - 250 ) + "px"; } setInterval( '_wanyx_moveR()' , 100 ); |
|
1楼#
发布于:2010-10-06 23:34
另外在有效的时候会有一个出错提示,不知为何,虽然不影响使用,但看着不爽,不知如何去掉。
|
|
2楼#
发布于:2010-10-06 23:34
还有两个网站广告路径都是adfile,看来这个路径很流行,abp中国list竟然没过滤,加个/adfile/*就全没了。
|
|
3楼#
发布于:2010-10-06 23:34
还有两个网站广告路径都是adfile,看来这个路径很流行,abp中国list竟然没过滤,加个/adfile/*就全没了。 ........请订阅easylist, ChinaList只是对EasyList的补充,EasyList已存在的规则,ChinaList将不再添加,推荐所有人都订阅EasyList。 |
|
|
4楼#
发布于:2010-10-06 23:34
加了EasyList仍然不包括/adfile/*,你应该是其它规则过滤的。
|
|
5楼#
发布于:2010-10-06 23:34
决定不搞鼠标手势了,用油猴加快捷键算了。基本弄好了,但有一段代码在ie下可用,在firefox下无效,有经验的给看看。
for(var i=0;i<document.styleSheets.length;i++) { var tmp=document.styleSheets[i]; if (tmp.cssText.toLowerCase().indexOf('absolute')!=-1||tmp.cssText.toLowerCase().indexOf('index')!=-1) { tmp.cssText=tmp.cssText.replace(/position.+absolute/ig,';display:none;'); tmp.cssText=tmp.cssText.replace(/z.index.*\d+/ig,';visibility:hidden;'); } } .cssText前面加上.style还是无效。 |
|
6楼#
发布于:2010-10-06 23:34
distance0:加了EasyList仍然不包括/adfile/*,你应该是其它规则过滤的。回到原帖 兄弟,你到底会不会用adblock plus。。。。我汗。不过你锲而不舍的研究精神也值得称赞:-) 你自己查找一下/adfile/,看在没在。 https://easylist-downloads.adblockplus.org/easylist.txt 281行 |
|
|
7楼#
发布于:2010-10-06 23:34
adblock plus有什么会用不会用的,在里面直接订阅了没杀掉。
不过我现在发现是因为我手动添加了这个规则,然后取消了勾选,再添加了easylist它就默认不选这一项,就当它太智能了吧。 |
|
8楼#
发布于:2010-10-06 23:34
改好了,js在ie和ff下差异不小
for(var i=0;i<document.styleSheets.length;i++) { for(var j=0;j<document.styleSheets[i].cssRules.length;j++) { var tmp=document.styleSheets[i].cssRules[j].style; if (tmp.cssText.toLowerCase().indexOf('absolute')!=-1||tmp.cssText.toLowerCase().indexOf('index')!=-1) { tmp.cssText=tmp.cssText.replace(/position.+absolute/ig,';display:none;'); tmp.cssText=tmp.cssText.replace(/z.index.*\d+/ig,';visibility:hidden;'); } } } 但是执行效果还是没有在ie下好,这个网页的浮动框在ie下可以去除,在ff下不行 http://space.30edu.com/05590981/Default.aspx 这个可以去了,两个都是常规方法去不掉的。 http://www.365webcall.com/default.aspx?g=SH_zhabei |
|