|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' ]4 ~ W3 k9 f! C) \: B
' p; q. A" p$ d% R s6 R4 s4 n' H7 V! X
火狐插件,用猴子( C# C/ z2 _& ~ q' x. d1 y) h
* u8 R- W8 r/ R+ d, Pvar debug=false; ' L" J( P3 A# o" O- A2 Z5 `
var CleanHideObj=new CleanHideClass();
( Z$ a1 `* n( D' ^6 R6 Y4 |
7 u5 r u- `' Z \+ b+ Z# cfunction CleanHideClass() # y+ k- a1 h9 v' T9 @
{ ( L* V- V/ i- L5 x
$ `9 x9 z; A" v: q this.on=function(id,bMZ)
0 G2 n, f) v* R! N3 W {: I% q( G* D$ g# e* V
4 a1 l; h& H4 X9 K5 F% V7 p# U( H5 c
if(id == 0)
0 z+ I g( Q" p( }8 v9 ` {! ^) a% v" h }5 L9 V9 ^
var page=/* document.getElementById("content").contentDocument */document; / @2 z3 o, o# l# _4 G' B8 r
this.RemoveHide(page,"span");) t; M6 }* {1 Q2 w% Y) I3 ~* J
this.RemoveHide(page,"font"); t- S, z9 x I9 C
this.RemoveHide(page,"div");( e; ?- K; a) q. T7 x
this.RemoveHide(page,"p");
: [" z' _ a6 v
* p' \" F! I! h; L! | }& u5 G- K: N! b. c
& W9 M- C; a1 w' x% S4 \, i
}
0 H6 m) q, A: E8 y) x6 d this.getobjstyle=function(node,prop)% c3 j- \- N' A
{4 |5 |" t* \+ U3 T, _+ j
try
+ `; o, C! Z9 B! o" M9 ]3 q' x {% {! C1 ]/ d" a, h0 [7 v! E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 D+ h- h! s+ u' Q0 o9 z
}* o: ?- M. ^4 T$ ?- m, Y
catch(e)# c# A7 l) y3 g- D8 |: |
{0 z" b! \5 j! b2 w1 V) C2 z' ?
if(debug)0 t [+ h0 N& x( k2 b
{
& p1 z3 q# W) o9 Q" ^6 u8 r6 d alert(e.message);
3 o+ X3 q" j* ?' H) X }
# [. s! H$ F0 i x s! u
) t0 ?" K, C g M0 n return "200";
8 G+ O- ?$ J: z9 f9 X% z }6 t; }% \2 X; `. X7 V1 \9 @
}
, G* x7 ] u4 f( ^8 T( M. }* ?
2 x# o% O) a; E z* Y this.RemoveHide=function(page,objname)
. {& M, ~: B" H& d {
) D+ o, i0 Y0 b0 ?1 |8 S try, e: l3 ?* g) l5 C
{+ l/ C1 g+ q1 {9 u
var minValue=15;
& O! ~& H9 d( l: |& U7 O- G var objs=page.getElementsByTagName(objname); ; W! T' ~2 ^ C2 x
& [+ t# G6 v4 {/ Z, c j4 j if(objs.length == 0) 5 a- T/ q' `7 Z
{
- c( _" p% g }1 w% P6 r if(debug)
- F6 f5 f7 L( o w! C. I {5 f. x- _+ a9 S0 h( L, g5 a/ C
alert("no object found!:"+objname);' d7 E& M& ?# j/ P
}
v: F9 ^; h) |2 t. ] }
! g3 Y" g9 |1 M1 D* o+ ^1 a else, i. D& [ _( B1 ^9 u$ K, y& O
{
& |1 P; v% [+ [9 q7 B- J6 ~
8 H8 s8 t& q* y; {6 u# t( ~! u: y* B for(var i=objs.length-1;i>=0;i--) ; ~3 v4 q4 b/ Y
{
! T4 S. y6 P; U; y1 H var node=objs.item(i);
! z& W1 B' P& i" m5 A ( q4 T( F ]9 y/ N: G
+ t* k- e4 X' _# l, ^ |2 `* g if(this.getobjstyle(node,"display") == "none" ||) `) L' H' Y( Z g' Z
this.getobjstyle(node,"visibility") =="hidden" ||
$ Z% y0 y" V. N parseInt(this.getobjstyle(node,"font-size")) == 0)
7 c9 \! H2 Y Q' w' S, y6 W {6 W- C8 t; T+ K* W
if(debug)
2 p, ^) U! Y' b s) p' F { M. Z: J% ]& J% R8 ]' B
alert("remove invisiable!");
$ Y6 v. p1 R) \( {$ k4 D6 A }
- z0 X! m: ~5 ~5 \ node.parentNode.removeChild(node);
& ?8 T3 j% d0 W2 s1 }3 |9 Y 8 s% X# c. ~! _% P
}
1 H5 v2 z4 F4 A& C# R+ Z0 R' j( Z0 ? else 4 ?1 s0 q' K$ K( _& B7 T
{6 h0 H/ l% A# j, p7 V
if(node.parentNode)
+ Y: D. j+ p. Q9 Q: K {0 ?) a! X. @3 f; p! W4 F" p( D
var orgNode=node;5 K# A/ u9 Y9 N/ `
var orgColor=this.getobjstyle(orgNode,"color")! Q9 k ~: d+ W& i) c* j
var orgRGB=getRGB(orgColor);
5 \! E( r4 S. n/ G- g 9 |! { L9 G. {# e! H4 ?0 f1 t' L
var parentNode=node.parentNode
* F; l% Y. A6 T, d1 y- i var parentBgColor=this.getobjstyle(parentNode,"background-color");
* o; Z, [: p1 g- S Z 1 {# e4 _3 N+ f
var isLast=false;- r1 m- r8 [7 m: e h8 S
! Y E( B' Q! ^! c# s8 S& G/ R while(parentBgColor == "transparent")
7 ^' ~, {+ z; k& U* T! L5 x {5 |( b0 X, u" ]5 ?
- v2 i0 E! l6 {8 ^# s 9 D1 u; v2 t" O w% u
if(parentNode.parentNode == null)& D! N e; z( I/ @
{
2 q' z" y7 [, ]1 {& A5 d isLast=true;5 `4 c1 D8 ]5 r4 l! E
break;$ {( h0 h& m: k- V% Y. Q) h# H
}
+ v+ |4 u0 r0 ?# X L parentNode=parentNode.parentNode;
+ f/ b; V$ q/ S2 h: H; U parentBgColor=this.getobjstyle(parentNode,"background-color");
. h k! l9 r2 z. o9 b% b! I; d: R$ D+ U. N/ `" u: t0 ~/ v3 k* H
if(parentBgColor != "transparent") 1 |* `' t6 X1 m/ z
{: N# \/ R# e1 A; z# R5 p
break;
0 L) y7 {2 Q6 Z q9 u }# T% T' U& }7 G! j, b1 U
}
9 B0 o3 d# s& A if(isLast)
% ^: O; ?5 E" Y- U4 u8 Q {9 I& S" s% b4 i- P/ f
if(debug)3 [" \, Q2 l# r8 @% \3 N
{
+ X% T# |- B; C. m5 y% S! w alert("last!!");- `2 T* p2 _6 g6 j7 }8 o5 S
}$ ?5 w* a( ?* {+ n0 F5 p- I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 i& p$ s0 I' S! u0 z/ A2 X2 J
{1 |. L3 W9 |! u. d3 Q
orgNode.parentNode.removeChild(orgNode);
( I% z; `9 H, Q- x1 p. n5 K/ K5 F8 @7 @" F }" P, ~( f0 ^* i! H
}7 L! P) L/ L, G) }) D
else
: K5 K9 A x4 i {; b: ~: F2 \# M
if(debug)7 x ^: i* \: b6 ~) W
{
! G& b/ k3 x1 b7 {" ` alert("compare color and parent bgcolor!");3 { t1 E% Y N! {* n" v# J; `
}* D0 P8 l. N" v1 | N ~8 j) p
parentBgRGB=getRGB(parentBgColor);) x+ i$ ]6 I; L$ w$ d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 Q9 n5 @, [2 h" q" Q {
u W; ?2 N. s, y9 a orgNode.parentNode.removeChild(orgNode); & L5 D& u, c9 P4 S& U3 ?+ _/ k7 y
}
7 Q. X6 d0 w i9 g! G( m }
; K- G4 Z6 [8 m% O/ o O9 T }
8 U' ]& T/ [" t }
* h( |- c; }: V }
' g% c' e: i, t) n1 F+ A }- B( K4 L& {2 H6 z
$ T, R1 s D9 ^. J& \( W
2 E t4 h/ l9 K var itemFrames = page.getElementsByTagName("frame");2 c% o4 {: T( o! a
var itemiFrames = page.getElementsByTagName("iframe");
0 ?. W g. j1 Q / [2 m/ |0 x9 N
var frame, iframe;: D) g; o2 T! ?* }1 ]3 Y( `- C
if (itemFrames.length > 0)* u# q( O {/ k* p5 v9 A( |
{0 o# C( e5 q! }; v3 j
for (var i = 0 ; i< itemFrames.length ; i++)
4 a% k. C% U: _$ x6 Y' t h {
+ C: `+ C* P8 J" K5 V8 P frame = itemFrames.contentDocument;/ @, }: P% a5 H- v& N4 C
this.RemoveHide(frame,objname); , j! B# |+ a) f" V
}0 x) o( j! p: Z0 l [
}& {* ]* E- V! w7 C4 E& U7 L
if (itemiFrames.length > 0)- A- E: M9 r5 |+ L1 o
{$ \& S Q3 h s" v0 B' T0 G
for (var i = 0 ; i < itemiFrames.length ; i++) , R- K6 x; j2 O9 Y8 s# a% D
{
; Y7 i$ S1 H* Y2 j0 x/ s iframe = itemiFrames.contentDocument;
0 H. c' l0 w0 ?' |' Y$ M; W) ~ this.RemoveHide(iframe,objname);
) N2 @" r6 F) C7 ]& z, P. g5 @$ b }
+ f+ V. p" N4 ~% {5 F) o- }6 W }- Z; {" P4 g4 q) y. a: p8 G
}
2 k& _% T }& L6 f& w: ^$ f catch(e)
4 v) a1 L o' v6 L {
; ~7 |& n5 b' j5 e% U if(debug)- p5 {- z: n/ l
{3 ?8 U# l8 z$ V5 ]
alert(e.message);) f: A- V5 r3 x9 N
}
/ {* ~$ G2 y* T5 A% D }
' Q' S2 v6 _; f6 L. [; v }9 K- s p2 ?6 q% f# H, Z
. @% m8 ^3 ~7 e; {1 r1 n7 G1 y}
. j! G/ s6 _2 E+ Q! A; S7 P
. X- Y. s1 ~7 h- b1 M4 ]9 x( Lfunction getRGB(colorString)# I; G1 |( }% D$ S0 X
{
. n+ ^& O. l7 h/ V7 r% R3 U var RGB = new Array;
; T1 o# w/ B. K var tempSting=colorString.substring(4,colorString.length-1);
: E6 g2 X ~: X( Y var tempArray=tempSting.split(",");3 z8 A' v* {5 X
" h, `1 K, ~4 a! E# T, V% w RGB[0]=parseInt(tempArray[0]);, T F0 d/ [) K! Y& h d& H9 g# P
RGB[1]=parseInt(tempArray[1]);$ _) D% s4 k" B7 X' U+ W% q
RGB[2]=parseInt(tempArray[2]);
, X8 m. {/ ^; @- M2 J ?- I; ]
* Z# [; Z- [" U return RGB;
6 ?1 X- x, g& i I- E) d}
$ R/ ?5 }/ o) T, I5 Nfunction keys(evt) - K4 u+ A. H( ]
{
; a: a3 Q0 _5 _( Q if(evt.ctrlKey && evt.keyCode=="81") 7 \: \% |3 s% F. b
{ q$ ^9 ? E% u& [2 S- |5 ?
CleanHideObj.on(0,1);
* Z& v; o% U" M- K alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- @* k. _% J7 m" |5 z$ E8 C* B
2 Z: ~, j) {3 r" O4 C } ; M2 N! E9 C" a9 D; H' T' H
}
2 u0 `" Z& T) o% gdocument.addEventListener('keydown', keys, false); 5 t7 g S9 h( J, Y
GM_registerMenuCommand ('Clean Hide',$ b4 z1 y/ w( f* x; g( i
function(e){
; b6 E/ k0 D8 p8 `9 iCleanHideObj.on(0,1)
; W' [3 Q# g9 n/ j8 F& ]; C, d! ~& Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ _3 o2 Z. g, M6 p7 t; N$ Y/ w N- n
});
! T9 `+ w; U+ z8 J; F7 T |
评分
-
查看全部评分
|