|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ]/ m |; v6 R( g
/ }/ ?' m0 Z$ k' K' Z6 P火狐插件,用猴子
- _8 t0 k+ J1 ]1 M- e) F
0 f# v4 j* C/ avar debug=false;
4 i* [) [, Z& g( q4 ovar CleanHideObj=new CleanHideClass();: y" u' t! x3 R+ P! L- r1 t& D! m
; p* R. c7 c! p g2 j
function CleanHideClass()
( Q4 U9 y; [3 P- T{
3 X2 \4 N, T# y
( M s1 ~( s; ?9 p8 D% U this.on=function(id,bMZ)
E# I" l( p0 { H$ M {
: N$ j8 n& [$ [
6 o, H; X1 j- o; g: ~+ n. `- g if(id == 0)
: `% R, k* o: U" G. n8 p/ C& N {: Z4 O0 a9 d, l
var page=/* document.getElementById("content").contentDocument */document;
0 S& G% U: `4 g1 P. a6 k this.RemoveHide(page,"span");8 r0 R9 |5 ~, `, c; a
this.RemoveHide(page,"font");
( @( I' |% {5 A3 e! l this.RemoveHide(page,"div");
. C6 v; v- _* F6 {" G5 L H this.RemoveHide(page,"p");7 c/ `9 \6 J8 d, h d) X5 G0 O# ~
$ \4 }* Y$ ^5 Z% r+ d
}2 n; U s: u: t6 R: ~1 `& d
; R3 I! u# k# {1 _0 k
}0 R, q' C% Y, i4 j$ r) ~$ Y
this.getobjstyle=function(node,prop)
+ L& U, U. S! l1 X, N3 c$ F {
4 W0 T. H( q, C3 y$ H try
, p9 Q }0 p/ A( h+ X& F {
) k' Y" h& l* Y' l6 I+ w! W. | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 T+ `: E/ a8 [3 L
}
: g& {. C* z! K% X& H& ^ catch(e)
1 O, U, A$ h2 O: V$ o {
$ [! W% ?( M) p: y if(debug)( L2 x3 E( f7 N6 L; T. R* V2 F* e$ h
{+ Y% ^$ g/ I6 a( q+ I/ R2 K
alert(e.message);
: [# j k5 e6 C* x9 Q1 U5 z }
- c \( r) M; U F + J2 l5 Q( F6 e" t1 n
return "200";, ?6 \* s) o8 w4 k2 T+ o" @
}. ~8 H7 \! N; e2 T' A& Y- P; k, V5 ~
}" z ^0 w, H2 f+ z2 ~% w2 {
3 P7 J$ T8 i0 I1 f) Y this.RemoveHide=function(page,objname)9 M2 V4 s* M: o A+ M7 P& U; Z
{
' x7 z6 n* ]8 R% d/ u( q8 q try% A: M7 ]6 O2 h; i
{8 m3 _7 e0 L% H: L4 H( j$ ^
var minValue=15;! H# p5 N3 S u+ b: F
var objs=page.getElementsByTagName(objname); - `" E5 R* X( E: p! M8 b
. g2 N; }# t0 s3 u1 Q if(objs.length == 0) / n3 x( r& ~4 j4 m* p$ R, `
{
! Z$ r4 }5 q* U6 ]! I if(debug)
2 w& M9 p/ F' l/ k" M1 y, _ {6 ]" F3 i% P/ E$ c" r) ^
alert("no object found!:"+objname);
% g. o4 U7 H F0 X }' X* z1 o! f* H( ^4 B
}
: p7 B% J4 x! V: F8 z* p* G2 u8 z else6 o* q6 C; v8 I. R6 U6 E j
{8 n: K- O- `; ~& G2 k3 D
6 X/ }9 e# i7 g for(var i=objs.length-1;i>=0;i--) 7 M/ r+ f* |, R, Y4 e
{
6 w6 N& J1 I# J k: C, X9 X var node=objs.item(i);
- l# c! H/ [/ K( P, H- k# v' c0 z 7 L9 t3 [; j }; [+ k
/ L7 m7 f2 N9 j if(this.getobjstyle(node,"display") == "none" ||$ b h% ~2 P- r. V3 @ y5 S
this.getobjstyle(node,"visibility") =="hidden" ||4 L! Y' w L! V6 `+ b3 z; J
parseInt(this.getobjstyle(node,"font-size")) == 0)
" a! j: g; I, ]! v Z {) E y9 b; B3 B7 A/ t
if(debug)
' ~" C* {8 K2 c {
; Q A& P1 ^) ~, } alert("remove invisiable!");3 }) A. {. d! R+ k) G
}6 R& }2 Q* I+ d$ }) i: i
node.parentNode.removeChild(node);2 b. X r! L. [4 A! ]' ]
^- O ^! k" C. y5 h' n+ r! c }! h7 G# v9 ?' J5 V7 \4 ^
else
4 _: i$ x% V5 P- F- G4 ~4 o2 @* Z8 J {# x4 y7 L! g3 y6 p) B ?
if(node.parentNode)
+ x* d3 K6 i3 W' N1 x8 C: L6 t; A {: |5 K" V# Q1 A: ~
var orgNode=node;7 ^( C8 M5 H& V0 G4 Y% q; l
var orgColor=this.getobjstyle(orgNode,"color")
& x" ^% r5 t: r, \ var orgRGB=getRGB(orgColor);
# L' |* `& r1 J) |1 p, f% l 3 ?2 o, v4 k6 P6 H8 g: a
var parentNode=node.parentNode1 C# B7 D5 d$ z" ~8 T( S1 B/ f
var parentBgColor=this.getobjstyle(parentNode,"background-color");( | @% a7 w: }+ i0 ]& w
1 g* q8 v5 C1 i& J
var isLast=false;& j7 X2 n8 W, [$ V$ w
/ d% e( ~! n, x3 C4 {; N" s; R while(parentBgColor == "transparent") . n3 k1 [, u& v
{
! I) y. f/ J2 _: V5 Z9 T& l( G
( Q" e U7 m9 Z* g
. y7 ?0 ^7 M y9 h% r- H- l1 x if(parentNode.parentNode == null)8 n. W/ @0 R" k# q
{- F! a1 P" i K( i! _0 Y; H4 L
isLast=true;
- R. [( j) T* S3 U3 B' r% D- D break;
2 `& X+ y1 B' D% a$ M5 `7 x }
& q) ?' ?4 f& V8 w" M0 E parentNode=parentNode.parentNode;6 ~( j5 z1 U. M- P" e4 |: X
parentBgColor=this.getobjstyle(parentNode,"background-color");8 t' ~! S) u1 T7 W% F! q6 E
6 t1 U6 }* |1 M* n if(parentBgColor != "transparent") 4 q/ T( R2 P- e8 Y5 t# T
{
9 \3 U$ j6 u5 n, d; j( x" W break;& o* ?+ W: o4 k5 v2 z% H
}: ^/ ?! E. j% J1 Q
}1 i- K+ U- ?5 c! s5 s- r) f1 M3 L; P
if(isLast)
/ m: {5 M) L) k; j. t {
G; v% ]$ d+ ]. s7 v+ }* O; F if(debug)
( s1 G9 d p2 H# b {
- l1 R0 z+ Z! c; |- L alert("last!!");8 H. m% M, H& ` a
}
4 }# |" q$ t1 G% k if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! Y7 x8 ~3 w( ?: { {2 I7 l& N8 G' q# p
orgNode.parentNode.removeChild(orgNode); J$ L* {5 N5 y& g& F# {
}
' [3 k- Q. D" w }
3 U) }4 ~3 K- w- u! `% T: S i else4 d# ^: n; Y) J+ J* P2 T
{
6 O9 M2 y' P$ w' e: J7 R' ~ if(debug)5 Y& o5 z1 x, ?7 z
{2 o* E4 d8 J! Z4 E* h, u/ b
alert("compare color and parent bgcolor!");& H P! e- @7 j+ X6 K
}
9 a+ D" G+ o: H# y8 B# f parentBgRGB=getRGB(parentBgColor);. P5 S" l) b7 p1 o+ ~8 @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% _( [* z; ^6 x$ L6 F3 n {
: e+ O9 t! k% R4 Q H4 } orgNode.parentNode.removeChild(orgNode); , g9 ]; p! c- I" E# H- W% L
}, ?4 m" U1 m1 O
}; E+ g! J0 @" k- n3 f1 r: x( I! O3 [# n& c
}
& i+ g1 `6 P' Y' k }. |8 P! v2 d( v3 b# {; _) N5 Z
}
/ X3 Z( {4 o9 b ~ }
$ R* u- ^2 C! j0 W1 l- e1 R
4 s0 n3 v: h3 c) i! S9 a , J' s9 e3 M5 D* s8 ]9 }
var itemFrames = page.getElementsByTagName("frame");' t5 q2 f1 b8 \. B4 {% e- o& d
var itemiFrames = page.getElementsByTagName("iframe");" J- ~0 G6 L% q/ \5 D, r' X" a
4 X, o7 a! D( c, |6 O* _ h
var frame, iframe;
1 X* P- B) i; x6 J3 o( u if (itemFrames.length > 0)
# S' ?7 H- `, c6 ? {
+ z/ R& p# O% z9 h% r' p for (var i = 0 ; i< itemFrames.length ; i++) / l+ c9 z8 {! w" V2 [$ ^
{7 j1 k. z5 K6 Z
frame = itemFrames.contentDocument;
' n# Q# F# d9 _( X) E9 O this.RemoveHide(frame,objname); 0 y( }! I, g; z3 \% G* s" D$ }
}" P/ c( M/ r; r) j
}3 u: {. c4 k/ f0 }# p+ J+ g
if (itemiFrames.length > 0)) O: `. t# T2 h* _1 b: T
{
! h5 I `: W$ I& J for (var i = 0 ; i < itemiFrames.length ; i++) # @3 v* K% @/ p- l9 ?4 O6 `0 |
{
}' Y* h5 D5 j: u7 w9 U; @ iframe = itemiFrames.contentDocument;
, i8 e) N; P! h this.RemoveHide(iframe,objname); . t( X, y. D8 }
}
) B2 q" s: b5 w r0 |6 j }/ C y( z. I) m3 w1 l$ O, l; y0 j
}6 k" j9 i ~6 W/ l& W. k
catch(e)
0 o, E8 d3 q8 D( X {
2 U. [/ {$ i | if(debug)
5 T+ `2 E% E' Q1 `7 J% q& u% h {
* q- K# I2 h& K2 x( F/ x- H alert(e.message);
" p( }; X+ `$ v, G3 a/ | }5 K c9 |* N2 C7 I) W
}* b3 q7 o" {% w$ ^
}% [, ]( t4 Z% Y- D8 _9 ~
2 v2 w9 T: c$ u0 n! {
}
7 z; C2 \8 p4 j! I# j5 J6 h6 c* Q2 f* l9 Q. e" v1 l
function getRGB(colorString)# l5 ?7 X% U' Y) L0 f* ?
{
$ N4 N' J/ E5 D' b# `* c var RGB = new Array;
A4 C/ q1 g9 f& T. I+ ~" M var tempSting=colorString.substring(4,colorString.length-1);+ s6 u- C- V; m4 r1 d# C. k0 v
var tempArray=tempSting.split(",");( I0 c' V& n+ O3 H3 B3 C2 a1 B* d
) _9 w7 U4 |9 q; o RGB[0]=parseInt(tempArray[0]);
4 }! N4 G! @: L7 D' Z RGB[1]=parseInt(tempArray[1]);
7 V5 D, V* S; z, ~1 p RGB[2]=parseInt(tempArray[2]);3 x+ K; k. C( Z0 [1 A7 n0 }
, }+ r* e5 e n8 a2 A
return RGB;+ @; f( O# V" W4 b; B5 j$ I3 M
}, B7 ?# _7 g3 u* J8 W- M& I4 Y" ^" F
function keys(evt)
+ o. P3 @# v% ~" o P( w" d { . M2 N# h$ H* ^
if(evt.ctrlKey && evt.keyCode=="81") 7 k9 V) i+ b7 V& ~
{
% }" m+ F% H7 W, p CleanHideObj.on(0,1);$ {+ A! c; z; A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " d4 \- _: y; \; `: ~4 J) ~1 D
4 \) p. ~& \$ d$ C0 Z) ^; ~ }
% m% b* X+ I3 Y6 q } : L* ~: r, J1 M. l: Y! S
document.addEventListener('keydown', keys, false); / R: g. S9 @4 @, {4 {. ^
GM_registerMenuCommand ('Clean Hide',+ d* z N7 A, R- s
function(e){4 l& M' H+ g) ?- E8 `( F
CleanHideObj.on(0,1): u5 X, B1 w3 h" a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 }3 m3 H' D% z9 O' }});- I0 I4 r& N3 P/ Y5 ?
|
评分
-
查看全部评分
|