|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) M h$ b5 `: y6 }3 n2 {9 k
& `4 g+ G$ N+ e3 e' m: v1 K火狐插件,用猴子& H8 Y0 _$ U1 C2 |: r1 X! a
3 \& j% o3 }# F! e, [
var debug=false;
- h8 x8 w. D! U1 b# _var CleanHideObj=new CleanHideClass();) Y% q/ @+ G, J N
- p, F! k9 B/ V* |
function CleanHideClass()
+ t. _) g& s3 s' y* x& b{
( O7 F' N O3 ? , O; X1 [$ E) F" a# p
this.on=function(id,bMZ)& p5 i, d0 P7 f7 p9 U/ B# W" g
{
' t9 h* @. i; A9 z* x" F, K d* ~: k ^) m" @5 D
if(id == 0)! L9 z7 c" t% a+ x; a8 F9 X, F/ C
{, e' k: ^8 J' q7 Y2 k$ m4 |; a
var page=/* document.getElementById("content").contentDocument */document; , }3 v0 R) B: j! N- q$ ]* e. I
this.RemoveHide(page,"span"); _ ]# Z! L; Z6 Q7 x' ~
this.RemoveHide(page,"font");: Z4 y I( s+ y
this.RemoveHide(page,"div");8 j g6 q; i! y% r4 a$ n* Z0 x
this.RemoveHide(page,"p");7 k' Z7 f! a$ X/ q0 `
3 u) x/ |6 p( ^3 Q. { }
+ o, [( r1 K/ y& f9 A# r& v0 m6 Y: F
y3 X% R1 ]& z" t- W }- _5 Y: ~/ |( R$ L7 `0 f9 G4 ?
this.getobjstyle=function(node,prop)2 M; f- L. _; c+ p2 {8 A
{, R2 a$ X$ K6 R
try0 \9 K! l6 S. x) d* \
{
$ s0 y2 ?6 ~+ W* V* E) C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* @! O& x$ s" b) p }& T/ a, x6 D+ F7 [8 E: |
catch(e)3 y) P* @3 x5 X
{
- |" I! ], a$ z x if(debug)" p( n7 |/ A9 P2 c
{4 t. s1 y; x6 b V4 { @+ P
alert(e.message);
; j- w. ^5 N( b. j: X* v# D }& O1 _8 K @: @* b2 {- q
/ z# r0 @, t- s8 g
return "200";
* U# p3 r K F: K, _0 x9 K2 m }, M; _, N M' I# ]1 c& K5 T
}# h0 f" |$ H2 G
% ~9 D4 W% }9 [5 [3 M
this.RemoveHide=function(page,objname)# {0 j0 e' e- G, v7 B
{
8 D$ ?3 y- e, s% r3 m4 O4 C/ ? try
) r! Y) P# n# K9 {1 T {
3 q% G) ]7 y7 ^3 }# S var minValue=15;& P8 U5 @. Z- J! y
var objs=page.getElementsByTagName(objname); , c) C% Y7 p' r* t, L; _. z6 v
: q# s& h8 c: g; w2 v' ^3 f5 T0 ]
if(objs.length == 0)
# H# V0 N j0 `2 [ {1 A$ B2 ?( C1 r4 i& K
if(debug)
/ ]3 } p7 X% ~$ r" W# O. Q {- C5 w, R3 A" u) J5 Q' K! p
alert("no object found!:"+objname);
. N# l0 u; ?! I5 K% V; o }
" ^- V6 F# p6 K8 [, T }
: _7 Q+ d- x) \* W) K else& [ x* p4 F& k% }+ [
{
9 t% A( P) g$ {+ A5 T) X& k% ^ ( K: B! K1 i" x. T
for(var i=objs.length-1;i>=0;i--)
9 x9 @1 V0 J7 K c ^) l4 Y6 B( Y5 M {
5 [0 t8 A& b( {4 V# \3 L, p var node=objs.item(i); 4 D' x3 |' y4 A' W1 E7 n+ Y
5 W0 {7 S! `! g
i' l: ` D. K- ~ if(this.getobjstyle(node,"display") == "none" ||
7 t! b$ T) Q+ P2 J8 a this.getobjstyle(node,"visibility") =="hidden" ||4 ]/ ?4 v. [# k* F2 b d0 S
parseInt(this.getobjstyle(node,"font-size")) == 0)
) Y Z/ J" ^" }* m# t2 T; A {( W: |0 a* L. L o
if(debug)! n: d- `+ `1 C, x+ o* K$ @
{: I* W7 f' q6 b( t$ J
alert("remove invisiable!");1 u( s& E$ }/ ^# [" t& c8 `! f" w
}" P' X; \+ i+ n% T8 L' W5 ]: z
node.parentNode.removeChild(node);
6 d4 |4 Z/ c' @/ Z: s6 n6 W: v
' ^% Z9 k4 H0 H! R1 u7 K$ _# p" r }% Y- a- y4 T" u! g
else
8 R- G. x! t+ Q% z7 O& v$ N& \ {8 I. t( i+ k9 \2 K
if(node.parentNode) % t3 W5 y& @- A9 m' ~" s. r
{
' b: ^4 M; ]- M, N7 I' z var orgNode=node;
, ]4 o7 z) y% X4 X9 \ var orgColor=this.getobjstyle(orgNode,"color")
8 }1 W5 x% v7 i4 g+ w5 z3 \+ g" |( Z var orgRGB=getRGB(orgColor); 0 |( C0 @8 P) u. @/ Q: |
5 G8 q, H( L0 r9 J0 f+ d
var parentNode=node.parentNode
6 `; C; C- i' l; I7 {$ Q8 F$ s! V var parentBgColor=this.getobjstyle(parentNode,"background-color");
! e( l1 T+ U6 V" p* B* l7 l, Y/ E
4 h( L2 w# k2 Y' V, g0 @# D var isLast=false;- r& N; ]1 @2 b7 ~6 ^
/ |# }7 o' s" V" g$ D8 p4 `
while(parentBgColor == "transparent") 9 [5 |: y6 {9 h5 }( R* }
{
; W `+ ^* W- O# \
+ d! h/ L9 `+ k. ?' D9 } 4 K c/ K7 p3 }8 F- O. v
if(parentNode.parentNode == null)
2 J+ U" V# V- R" n- [2 ^( \* u {
% m# r0 H, t8 A3 ?; d, N, { isLast=true;- h* T8 }* M1 ^* _/ G- i2 t
break;
. @) G" s& A. w, R$ m }. h/ T" X/ g; \9 W
parentNode=parentNode.parentNode;' w! s, B2 o. j% \, n
parentBgColor=this.getobjstyle(parentNode,"background-color");' ] L' R% _( E: w' I- [7 V
* t0 u$ G/ J. j: _ if(parentBgColor != "transparent") 0 u- `5 ` `3 [* \5 h
{
; c3 r' U1 ], O1 h) s! @+ v# K$ W break;8 e% E. M- M/ Y H' }. g$ o
}
- i5 B1 T7 B e9 } }
- p$ }$ O' |9 W( w8 J if(isLast)
: a& `) T1 j& h2 p( N. p Z {
( v0 E. \# i$ ], e# m! K( d if(debug)$ |& C: z( q# D6 j7 w6 l
{0 @* N1 ? j: i6 M5 S
alert("last!!");
9 |+ R6 p, t8 b4 u: Q, s }
! D$ S- O$ Q# A/ Q, Y1 m if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ j: f4 C* J9 D6 a& n1 Z {2 V4 J! s2 Q5 |: S
orgNode.parentNode.removeChild(orgNode);
- g4 N$ o6 x- L# \3 b! S! ^ }
+ J' H E1 f' |* U9 B. Y- h( j }
/ P7 }/ J8 k9 z else
1 R. Q* q; B1 l; j8 m7 o z8 C5 { { a0 g+ S7 ~% Q3 n
if(debug)
* C5 Z# \$ n% u7 F; r% Y {* e/ K" s3 X9 s- S: d" X) T4 l
alert("compare color and parent bgcolor!");- _' T) \& r' ]- `1 A: R& q
}
( X& x4 |( H' {3 u: h parentBgRGB=getRGB(parentBgColor);, B5 s0 X) l. c) N% |9 f7 N
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 n8 t5 |5 M0 J/ y4 d. }$ n/ \ {
) z0 `3 W) h b; k6 e O1 E orgNode.parentNode.removeChild(orgNode); ) G2 L. P$ Q& \: ?$ D2 u& Y
}
1 U- I* W6 J- K* C" g+ D }' F$ M: v9 d5 `8 J4 _
}
2 t2 U. I/ R( {# }! Y }
, f) G$ A9 k$ m: H5 r% S7 H }
( S" I' `6 c' Q u( } }0 J9 h- {* p% D- ?7 S4 h
! y c- T2 A* g7 o* t) x ( U9 e$ |2 C- Y* s' v
var itemFrames = page.getElementsByTagName("frame");% ^ N! f& t* B3 K5 t4 I" D3 R
var itemiFrames = page.getElementsByTagName("iframe");
; C% C+ A- b$ \, l& t9 q+ H* j
- K5 p. s* b: ~1 K0 r% W& J var frame, iframe;7 Y9 t; Y5 X! l1 M. Z
if (itemFrames.length > 0)' P# p- @8 ]1 _( y( y% H' h& U
{
6 N6 @- p I, V0 B0 G( L" V for (var i = 0 ; i< itemFrames.length ; i++) " o$ l M* }2 n% d
{- n% Z# ]' B3 g/ ^2 G0 V! g
frame = itemFrames.contentDocument;
' _- T' y! [& n8 E4 h6 A this.RemoveHide(frame,objname); ( S" b$ F j/ A& }4 ]5 ]- v
}
7 P) T. W) e8 l, _( J }
( Z4 ] c- s. R# D" H7 l if (itemiFrames.length > 0)
z" U; `- ?1 m- d7 q7 ?( ` {
5 K% f0 k j% G Z0 } for (var i = 0 ; i < itemiFrames.length ; i++)
$ W, o& Y0 L- ]$ X4 K- f {% ] m) E4 Q8 M
iframe = itemiFrames.contentDocument;
* F! B+ a0 ~3 O$ n this.RemoveHide(iframe,objname); ; H% k) h" a6 M/ f8 i7 l. A+ q
}
# }7 o! G! O6 B6 V; v- O }
3 ?" x! @/ x% m3 S$ k5 G: l% A }
3 t8 T* A& V. x- v# U- R4 r catch(e)9 f5 ]% s$ G6 f) I$ ~
{0 l: |- _9 `% }* l( e. x
if(debug)3 }2 R, [) W" }' u: O6 ~
{
) H" \5 M9 b% n# a" w$ g9 P alert(e.message);
9 Q$ `9 L G& e2 W }
( A, E$ `# ` T0 n0 y+ b H( x }
i8 L" p7 \* H) U }
6 i; n7 |' I* D$ D9 F
; f: U. }3 j+ J% Y2 D- R}
6 u: n; w. F7 k5 F; V: f* v7 W2 j k
function getRGB(colorString)" o2 ] D! n6 z+ h0 i# ^& h( e
{
: H) \: Z7 ^( f3 D var RGB = new Array;
# {2 ~ p1 }6 U, E2 _ var tempSting=colorString.substring(4,colorString.length-1);
5 \7 a" t) h/ c& Q! X: R! K var tempArray=tempSting.split(",");7 K, Q/ D; o, X5 z" f6 _" i4 J% e5 T
; }- l) l: I6 R) ^$ T5 i
RGB[0]=parseInt(tempArray[0]);: Y* X' A2 d) l3 g
RGB[1]=parseInt(tempArray[1]);
6 x5 J1 Z! Q% f6 O" D3 w RGB[2]=parseInt(tempArray[2]);3 F1 O, }2 w" _! ^- B
6 A/ K& Z: s0 g+ A& j" } return RGB;
" `& F: o# [/ K3 |* X2 V! q8 }}
# V, N6 d& i1 c' \function keys(evt) % K9 o$ j' i5 } ^6 \ ~4 L9 T# ^7 p
{ 7 j) q% t/ R+ w/ O' V
if(evt.ctrlKey && evt.keyCode=="81") 1 ?, @9 i5 k3 d! `
{ # F6 h6 G5 @5 W9 w! `% W& A( w5 F
CleanHideObj.on(0,1);
. ^% B# M5 {* x6 _9 `5 _4 k4 C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ |/ t: _8 T- w# v( J8 ^2 p# ^
9 U) J8 |1 l9 q' L( u } * O' |: A' \) x" Q
}
. n" r. x: [) n. e1 tdocument.addEventListener('keydown', keys, false); ) ^$ M( w5 i# C: d/ A/ N
GM_registerMenuCommand ('Clean Hide',
& W9 w7 ?: w& \1 Gfunction(e){
4 w6 D; w# S0 R0 bCleanHideObj.on(0,1) l" z, c+ N; D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. r! V- p' g" I});
9 `* T8 g9 Q4 u6 x) Y" H5 ]5 l |
评分
-
查看全部评分
|