|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & s) h/ r# j" M6 x7 Y0 k
1 V1 p2 ]& p; O- G0 F3 P6 V, i6 @
火狐插件,用猴子, a; S2 |+ A! ^7 U+ L% m% P
f% G" G9 u3 I, y+ b9 a% q
var debug=false;
0 K- i4 A) m; p: R* kvar CleanHideObj=new CleanHideClass();
' d+ e4 e0 e( }8 ? O3 z- p/ P) O, A& e/ a& j [
function CleanHideClass()
) P/ G& |# ^6 v% B& k+ y h{
5 P5 o5 [. d8 [& g/ X; J 2 C6 P8 j' ~1 i' P( }
this.on=function(id,bMZ)
6 z1 r" `0 f i, Y, x {, h c8 f, ]0 j
9 y ~& n. D9 H. O if(id == 0); ]) f; ]; |8 H( R, h7 g; D
{
4 s6 w. u' q; [6 Y& b$ i+ x* d var page=/* document.getElementById("content").contentDocument */document;
! t6 u+ A5 |/ d this.RemoveHide(page,"span");
1 D# m3 E5 m2 C$ k' y& g this.RemoveHide(page,"font");
7 B2 I. s0 r9 B/ Q this.RemoveHide(page,"div");5 e8 g# I9 ~2 k1 c3 J6 q Y
this.RemoveHide(page,"p");
4 Y; m( s! D$ B: f ' l$ ]' J+ F' R1 R$ C% Z* ~
}
' L: A* H+ s* k3 L: M2 M& _
3 `! y1 \6 }% F( [) _5 g: i }6 k6 k: C' k9 [- g* o% T
this.getobjstyle=function(node,prop)
/ H2 c/ {; |" ~ {
% |) a* j! A! R T# }2 m' m. ]+ f* f( Z try' ~, g. S9 E9 s* c/ a4 h
{
4 p# a9 ]. i/ |) l, P5 r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 ]' u& z* @1 [1 k }
" l6 Q* K0 O/ t- U; v2 T catch(e): M O+ t8 g. t" @5 f
{
: s- Q8 Q0 t" {+ K2 b if(debug)
: {% w$ r0 q1 _ @ {9 @; X: S4 \+ J; f p
alert(e.message);& @: E1 s- z( E V$ P7 k
} \/ e, F; s. w
7 S6 b' G% i8 ^5 R8 Z return "200";4 f& S/ M6 Y# E
}
2 r( L' l# T: S. q. V9 [1 k! D7 q }4 K+ s( O, C/ R6 @& k S$ F
: P" f1 q$ I ^: `6 C) I- X
this.RemoveHide=function(page,objname)' N3 A# v* N! K9 a# q- O" r& i
{
4 g2 i6 w2 f& e1 Q0 ^' u, X try: k) s( z9 V- g; e
{: o4 Y+ E; c- ~/ n1 j
var minValue=15;$ Z' g; Q L4 }' h" R
var objs=page.getElementsByTagName(objname); % ]8 @% y; D$ _; k( E
# ?" k* b* H5 v
if(objs.length == 0)
; e' y: E6 G9 g! Y, a {& h6 p8 j' P C6 V% I; P9 t% a
if(debug)
. a; U- I+ S: u4 _ {/ k z" V7 `: R* d/ O
alert("no object found!:"+objname);" O$ `. F: S* ^/ L/ A6 Y$ w
} P% w% g, ~* v" R- Z' b `0 S
}
: x: k' t* f! v8 L else
- E" _6 y {4 v& M' i: ] {' k# c6 M' a; J% n [" ?4 v( Q7 Z
/ _; f- ]* D; Q1 l7 i
for(var i=objs.length-1;i>=0;i--)
8 b, I0 n& s. m+ C/ k4 e. H: }& Q {$ d7 r5 P0 y: `: P; u5 l6 h' [" K
var node=objs.item(i); ) R" n" X) |" l
5 s1 E4 V% P* u& w 2 p+ e% ~5 T+ \
if(this.getobjstyle(node,"display") == "none" ||
! C! Q7 K- p' I3 j( @ this.getobjstyle(node,"visibility") =="hidden" ||' W. r- x6 _1 s# u! E/ f+ w
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 b4 H3 z, W( Q
{
; {6 b# l' B& ?: x if(debug)1 D1 V# X' w. ]; M5 Y2 I( v
{
3 y- g% {; u9 V" ~% ] alert("remove invisiable!");" s f; X% u# s
}
7 V- E) y z. t3 S; t: }9 F5 o4 v node.parentNode.removeChild(node);
5 \( O! x+ o2 z& w$ c
7 W1 h7 b( H6 K2 w }
. o! E. _1 M* I4 b else 9 _- @/ o! | J1 c' g% B% P+ S
{ _! I2 Q/ E7 _, G/ I
if(node.parentNode)
( ?* ?$ _( D! U {
' t7 i2 T' g/ b3 ? var orgNode=node;
! E. y m N" c# n# l, m; h var orgColor=this.getobjstyle(orgNode,"color")
. p5 k: v* x; M3 h3 e var orgRGB=getRGB(orgColor);
' H& f1 d1 X# k% Q. \ # D i# o& u% n3 D$ i f L7 g
var parentNode=node.parentNode4 M0 b7 {: F2 x% Q2 E
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% K; P) J" I# V2 i2 L / h( u4 ^& v8 I: O, E
var isLast=false; X! @) X) X; B! _3 Q: o6 c% a
, ?0 o7 n% l) i0 t& p3 [
while(parentBgColor == "transparent") ! O' a2 ]7 I7 A
{
+ n+ M6 J8 n6 T, h6 \" q: ]5 B
* N& ?/ V1 v6 X# b t& `
, `5 Q0 g0 b* W* q& S6 H$ c if(parentNode.parentNode == null)- W: P, A9 ^5 u/ e
{5 J; `+ t2 {4 A+ m9 y8 k3 L
isLast=true;
9 u2 \3 i3 h% V) f- D1 o break;4 v: w2 t0 ^9 Z8 L, o2 l
}
0 m9 A. G3 d- v# O parentNode=parentNode.parentNode;
$ q, C( Q- \; n& b parentBgColor=this.getobjstyle(parentNode,"background-color");
2 E! G, H) B" Z: T1 h
- l* C- x5 W8 v; t* Q9 V if(parentBgColor != "transparent") : o& k/ w% ?/ j7 p% T+ t4 p
{
5 M C/ I; E t$ z$ p break;
9 [% X8 f; e$ i& a }8 o6 i8 j+ F* Z3 ~' i% J; k. S, w1 k ]
}
7 C* B: s& @& k) a6 Y+ E% y if(isLast) % }/ @! ]6 O* t- I% _; K
{0 I1 q! A9 Q P: K. D4 y( W3 W
if(debug)
9 f9 q+ Y& ~: ] _ r" c {8 ?5 b- l p+ h' Y. H1 } A
alert("last!!");
8 q! U0 e0 d+ D5 `6 E( Q }2 W: l, [9 D% G8 ~/ ^% _% ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( m9 }) Y( S0 N0 K$ R5 t {
2 K0 { l2 V, Z" G( n orgNode.parentNode.removeChild(orgNode);
5 g6 G c; ^) O! t }
: }8 p. Y3 U9 E' L }
/ I0 y$ ]" u7 u/ l else$ E, n$ [9 X. c, Q; u
{
% L' z7 F1 ~( |5 d( B4 u if(debug)4 h' D' V4 ?6 F7 s
{
: |/ d( |. ?/ W- n. d alert("compare color and parent bgcolor!");
6 `' j& I0 f8 k, S }
9 V' Y ~/ Y, g. T& t& l parentBgRGB=getRGB(parentBgColor);( ~# r+ i: T) j& ?# |0 d! _9 t2 t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ {7 F3 i3 @# `; U& T {, K; P- J4 v9 L
orgNode.parentNode.removeChild(orgNode); 9 X. @0 \8 Q/ L4 j# }
} q7 a8 L" M' {0 |& h7 f! x
}
, c, U/ L c @, k }" S; R) M; m7 \6 W% S4 S m- Y9 S
}
5 z' f7 `0 e$ N$ Y9 J2 a: x. [ }
/ X0 b9 t" ]6 k3 @( `" r2 O* Z }
( G- w; |6 ~6 @, P& `
" R0 v! Z& s! f
5 r3 ~% R3 H. f4 `$ O, Z6 w3 T var itemFrames = page.getElementsByTagName("frame");
5 @5 H2 V1 [6 r6 ] var itemiFrames = page.getElementsByTagName("iframe");! ^ `+ W, t) X7 ^/ p
5 U" o. z% J! t7 i: @5 a7 X1 l
var frame, iframe;
6 {; U, Y/ J! b3 e' ~( C if (itemFrames.length > 0)$ Z+ O2 d7 Y4 X" `, x
{% b( |" j* G# c- D8 S4 C
for (var i = 0 ; i< itemFrames.length ; i++)
: o t* `$ U2 t& u9 x4 e* ~2 Q5 J {+ Q" i/ c) C: h; w2 ~( J/ r
frame = itemFrames.contentDocument;& B5 Q" B- v. u' R* D
this.RemoveHide(frame,objname);
) V1 U$ x- ?! W. U5 Y( ?. S+ R4 p }3 o2 j( v0 M8 M: [ c
}
) z" T$ f& r) ~4 D3 X* ] if (itemiFrames.length > 0)
; S' Y& Y5 p0 ~5 T4 d% t+ @2 N* w {" p+ ]( q1 Z4 Q5 G) m, s1 R
for (var i = 0 ; i < itemiFrames.length ; i++) , ~8 L7 _ Z3 |
{' g! d/ B& A6 Y1 K/ n/ j4 \( q8 S3 V; L$ _
iframe = itemiFrames.contentDocument; D! W' M2 k8 D# D9 X( r' ?) w
this.RemoveHide(iframe,objname); ! U3 `2 n4 A1 f& D6 l! S: l
}
- U0 |' |. n3 U$ t, c* P4 g' a# A6 Z }6 y6 b6 k0 X+ _( t' R+ I4 x
}6 g# l4 u/ O5 d/ W/ _/ t, s
catch(e)
! k3 g9 U! X& f* [3 q! s {& B6 F2 W" i9 B2 J; D0 v L
if(debug) {, [* I, b! W; Y
{' q& z2 }1 O' P( X# u7 G
alert(e.message);& t+ W& W5 h' V! v9 O7 b$ ~* d0 ]
}' s5 C. o. v8 D% e
}
! Q, V& P( K7 }% C7 E* h7 _ }
+ O: f$ s" H' ~* T! m 0 u' E* Z& j2 v' I+ y& j
}5 P/ B5 a; Z1 w7 I
: o0 N$ F! I$ p$ E$ R2 ^
function getRGB(colorString)* x+ u/ i4 U* q q+ d6 E2 l3 |
{
' {% ~4 ?2 s1 v; l1 \ var RGB = new Array;
+ [4 a P; T5 K2 q" n var tempSting=colorString.substring(4,colorString.length-1);
; n# C( {# N5 i- h# W4 p var tempArray=tempSting.split(",");! h! t+ Y% g9 ~( q+ ^
" n* X* R% w4 J) h# r# e RGB[0]=parseInt(tempArray[0]);
- r4 p1 j) Z, g RGB[1]=parseInt(tempArray[1]);
% q, d0 q: T8 G RGB[2]=parseInt(tempArray[2]);
4 f& E4 u8 ^- n* e( F! J6 \ 1 @0 q/ ~$ `+ y% k3 Y, z C V
return RGB;6 U3 A+ o# K8 J0 J, a. H
}/ f0 R5 s+ [5 f' u6 W" @
function keys(evt) 9 X) c; z* c# h# A
{ 5 d" P% ~5 [' ]2 C1 b. j ^
if(evt.ctrlKey && evt.keyCode=="81") ! X# f4 h) d2 H& [& E9 a, N5 T
{
' I+ b+ _ A; U+ ]2 u0 u CleanHideObj.on(0,1);- z7 v7 Y1 O0 P- s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . Y2 C) m# \7 u2 T- n' H
! N: f; |- [. M( v. A } 8 m! G4 P* j* c/ v
} 2 N& n/ {5 i# h8 ~5 o4 D$ e
document.addEventListener('keydown', keys, false); " } r3 E1 C$ R0 k7 R
GM_registerMenuCommand ('Clean Hide',
0 Q, D! @" j/ ?0 L9 j, \( z2 Nfunction(e){
) L& W7 |( G' P: F) B1 `CleanHideObj.on(0,1)
+ W1 V( o7 k) Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 l% E1 B3 I. X# R6 h! _# I});
j+ z7 ^1 B& b r |
评分
-
查看全部评分
|