|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ S0 v) Y) s l% Q% M- ]) A& d) V3 G
火狐插件,用猴子# `( {8 Z s' E o3 x0 O% Y2 q) m
$ ?/ O7 h1 Q1 H' F' Xvar debug=false;
& Q4 ?' V/ F, Yvar CleanHideObj=new CleanHideClass();% t8 C3 n8 _5 Q8 [
% {3 `9 ~5 f7 J7 B' c/ ?function CleanHideClass() l" o3 @1 Z3 w! w L
{ % C% M9 C' ]$ M/ F4 W! W! C- C) k
; j5 B I/ h6 g this.on=function(id,bMZ)
% s$ [' G9 B' S- V$ C1 x {9 N* t: ?. f" o# L
, b3 l! I5 O2 l8 p9 K if(id == 0)# K' e' |' k# C" F& K9 S
{
3 @" K; @8 w% N6 s) J var page=/* document.getElementById("content").contentDocument */document; 7 R p1 a) w* ?4 T8 [# E ~' D
this.RemoveHide(page,"span");; J2 {" B' {8 G: t3 A B( T* @5 U
this.RemoveHide(page,"font");" i1 Y2 ~( Y- F
this.RemoveHide(page,"div");
# R2 l! m* }3 B7 K this.RemoveHide(page,"p");9 T$ f& f: Y9 `* u
* j. {/ B X- b# T' d
}$ _/ n9 J. l4 p9 M D; }$ \# ~
: }. C2 E8 |1 v; v1 M }
+ x1 x2 {6 f3 o, `8 R& n this.getobjstyle=function(node,prop) f( M, s& J2 {
{
$ f7 R. G9 l/ h2 y6 \ u m& D# ^ try+ h* `& P; H( H/ n( D, Q4 U' U
{5 I5 g& d7 q4 g9 R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: ?, w' ^. Z7 F4 G# S
}
, R" ?3 A7 L5 }, m0 \ catch(e)4 `% m4 S6 H9 g+ i; M. {
{4 v( m. H! o6 W% b' a
if(debug)8 Q5 q2 ^. ?) n1 [3 D3 l- C
{, T# H: a. M: ~) @- L1 Q( @0 k
alert(e.message);
7 i1 A* G, T: s! M }
: y' ^; h9 R6 f: K. N
; S( \* q2 t$ ~; H! l- ~5 D return "200";7 I# |7 }+ B/ W2 a8 U+ |
}
; h8 P; O" ]% J }
3 K r- m# z2 u3 a& P8 m7 c# r
. h7 d( Z8 t5 y4 J9 t* u8 u1 z this.RemoveHide=function(page,objname)7 d- j/ f$ f! [* a# ?4 g
{
0 C) J9 M2 ]5 u- z* @& u- K/ x try- L5 m/ w0 ^1 J2 C1 k# K; L# f
{6 j ?9 K. \: f& m
var minValue=15;
. \: a5 n. J3 |- U' C var objs=page.getElementsByTagName(objname);
: y1 w/ n! y( J$ C
) K* u- ?" j* @: M if(objs.length == 0) h! X) K/ B b% E$ I
{$ f. h6 m! G' b1 s% C4 w0 E0 o- m
if(debug)' n- h$ v4 Y7 @! @ B: d" n7 H! N
{* `5 u g' Z- K8 v- K
alert("no object found!:"+objname);
1 n$ w% ^. }9 h# p* C1 i" P; I& c }
8 Q# z L) U9 B- ?8 q9 v }
5 a* Z3 a. z1 H6 Y/ _) F& _ else
! i& I) e( P% [+ w" D7 y: C+ U {
! R. z) V$ I6 w$ ?7 t e8 f- t% C0 l$ Q) g
for(var i=objs.length-1;i>=0;i--) & x) s d. v- w7 }3 M+ l# N
{* q2 ?8 n+ c' ]$ k% n: d
var node=objs.item(i);
s$ ^* _; l# i- K4 n4 h 4 _- E. p. ], O1 t7 h) e
( A& w$ h p( Y9 y# t& M if(this.getobjstyle(node,"display") == "none" ||
4 @. E' l3 G$ u1 [$ w% l this.getobjstyle(node,"visibility") =="hidden" ||
9 q; M7 j/ d2 R6 V ]1 T parseInt(this.getobjstyle(node,"font-size")) == 0) # a. r' a/ H1 }
{
! o6 F: R3 U5 G- W' M: D8 p if(debug)
4 u) A. u, T: k( N; S) g {2 g. F- W$ U, a; l6 Y( y
alert("remove invisiable!");' I6 b, ~# L" c e; X7 a2 U
}
0 l6 p. ]" f5 z, S5 ^ node.parentNode.removeChild(node);$ m4 C( o9 p: {
% Z- q' Q9 M1 v' l* t
}
1 y! q5 ?* |0 l' Y' K t' [ else " v9 H. m8 X9 k. V6 Z
{6 |3 E( u" X# D* m0 f& m8 E
if(node.parentNode)
2 ]' j( z+ j$ Y. K( F; A* z8 B {
- h2 q0 ]8 g& u }% r$ c8 ^' i var orgNode=node;
( l5 K0 T" a" ?" N6 K j, n' d var orgColor=this.getobjstyle(orgNode,"color")
+ }7 q1 ?# T2 ` var orgRGB=getRGB(orgColor);
4 h' R! t9 }3 G8 ~- \" j6 s' \& V
1 n0 q- o2 [! [& I9 ], c- ^ var parentNode=node.parentNode
& K* o& _/ T" v' X: F: N var parentBgColor=this.getobjstyle(parentNode,"background-color");
) g4 c4 z3 m4 I2 j6 ?" }% i - a4 |; h# d7 M
var isLast=false;
# r; z0 j& Y- @
. y$ A( C/ m% G, o6 w$ L% C' w1 b while(parentBgColor == "transparent")
: s5 T: w. H! e. D {
. P+ \+ Y& x+ L- ~9 E; H9 U8 \
) \8 {, J" {8 N% O
* X& Z; ^8 |- ^8 u% o if(parentNode.parentNode == null)
" l; v p5 Y+ t7 z3 j! [: g {
+ x/ c0 a# o( s. L! J isLast=true;
% B& Z" f! H$ w# a break;
: {6 u( V4 k. J1 `0 \- ?+ t9 _ }; l. q, J1 J9 @& i" Q! L$ s K
parentNode=parentNode.parentNode;
- I/ v+ U$ D# a( Q4 C5 Z; n parentBgColor=this.getobjstyle(parentNode,"background-color");
- Y3 H& I( j c% C
" \6 q2 a( j% \* v) a- x if(parentBgColor != "transparent")
4 A: A5 M1 s) `$ r) ~7 ?6 f' ^1 t% K' w {
p: L3 M: |/ A$ w0 t break;8 o6 R+ O5 O& `" \. o( p
}9 [/ T; o. e6 C7 c+ r/ O( D: u
}3 q" x7 L" b# V4 a3 F* {% v2 t' J
if(isLast)
1 J" @4 B* f: i. G6 z {
! V5 Q% C+ q8 P, n4 M8 |1 z if(debug)
3 ~) j9 @! n6 {! R" f {
0 f7 o+ d0 P) F3 U' k8 ?& |0 H, P alert("last!!");* W& {& X2 j* R) \
}. z. }, s' R3 B: N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( M" a P3 s4 P8 }# K# G, j
{
: A+ U: m( N/ V- f orgNode.parentNode.removeChild(orgNode);
5 q; V9 a5 Z8 l) d }1 k9 o7 l# I9 |3 S
}( s% ?4 O& t) T6 K
else
' V6 c1 C) V' o7 [- d# P) Y {" [. @6 q! U, W
if(debug)- A; |7 e' W5 B; `0 F
{
: |5 j4 T0 F. g# f+ \ alert("compare color and parent bgcolor!");+ T$ t( P7 Z( g
}
8 o* D7 N: u* O% w4 u parentBgRGB=getRGB(parentBgColor);
0 U6 W) | v3 a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ i, Z& h' _: ~, W+ g {" v( K1 @$ O( L/ K- N6 l6 y
orgNode.parentNode.removeChild(orgNode);
8 _- C& ?; Y! ]6 a- C' P }
! m- x; Y& R8 Z" O2 F }* X- U: v' \5 k1 b- J- J( M9 h9 U o
}
. P' ?5 P# q6 g& o2 I8 V' q2 d- O }
+ x3 r9 l4 y9 ^! e4 B2 K }
, L# ?' u1 U9 B S0 M# G }
1 L2 T1 W3 Q! q. s0 E! y; A* U % A3 |+ b8 \" F7 g6 K3 D
/ \% Q0 y. c6 T( l3 \/ Z j
var itemFrames = page.getElementsByTagName("frame");
7 e/ ~: D7 |6 o2 v var itemiFrames = page.getElementsByTagName("iframe");
' s) o% ^4 N& Z" N
+ D N, ^' w. D4 m: ^% e var frame, iframe;
& e- N. N, D4 u if (itemFrames.length > 0)
3 ^, }+ R4 _& ^; X {
+ c$ ^% F1 l k$ `- u for (var i = 0 ; i< itemFrames.length ; i++)
6 t/ ~2 G c+ p" Y& J! K {; N/ U3 P! V4 Q- d: A4 C3 {
frame = itemFrames.contentDocument;
K# M3 d6 s g8 P; a" J J this.RemoveHide(frame,objname); * U' p8 J; O% b+ w- U' {2 }& C
}
! g! d/ L# d: a- g# z8 g3 c }% j* {" i8 P$ ?/ W! H
if (itemiFrames.length > 0)' b! ?1 v. t: n
{! l* E& d7 |+ j5 K. C! f* {
for (var i = 0 ; i < itemiFrames.length ; i++) 4 H$ c- J! f2 J; |% d& H
{! O* K8 {3 f6 y
iframe = itemiFrames.contentDocument;: m$ e" X' {2 M
this.RemoveHide(iframe,objname); 3 _) a: K6 C6 J/ B l& W. s9 [
}7 X, f& U8 h4 n6 n: L/ z. ^
}+ s$ ?3 X. f" G( e" K
}9 O8 }8 n% N7 W( X1 F! j7 W
catch(e)
6 b" L% `5 h1 @7 F. K* w2 | {; B) U$ O& @7 g) @1 C# ^( D) n
if(debug)# _3 T" S) {( W) U. j" Q( K8 d, g
{
0 @. h/ v2 t; U% ?) b5 o alert(e.message);
3 b) `- x, N9 Z8 y, f }
" J3 y& ]7 {0 p( a s2 ]% ]$ M }
. P, O! b6 B# n; C }+ J F/ P0 O: W. h
' H n4 k. I2 J}8 G( l2 T5 ?# [8 c* m
6 z% J' m, f, d- e0 a- M" G
function getRGB(colorString)% \" m* F; H9 _
{$ q# ~1 b/ f4 U' w: A
var RGB = new Array;
3 L* E; Q" h; g4 ^ var tempSting=colorString.substring(4,colorString.length-1);4 p K/ ]% h/ [. ?3 o6 w
var tempArray=tempSting.split(",");
- t, L5 w z- s: `# B6 n: z7 E- V. n, }' i7 _5 G
RGB[0]=parseInt(tempArray[0]);+ b3 S4 l3 V. c
RGB[1]=parseInt(tempArray[1]);
( ^: _- M0 ?$ B RGB[2]=parseInt(tempArray[2]);: B3 O* l% W: _( e2 r1 A7 d
z, B. B, K" C9 ?0 S# l1 l! d( ? return RGB;# h% T# q( W# t
}: H8 E* E6 D* t( N6 i
function keys(evt) ) a. c+ N- W8 r& l; S* r+ i
{ 6 |* _% K0 l6 d" J) l) @9 a- m) k2 Z
if(evt.ctrlKey && evt.keyCode=="81") # s7 c4 x J# p7 E1 u# t% g
{
C! c' J. h- h CleanHideObj.on(0,1); i) K8 @( ?3 V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / ^ s0 k$ }: e6 L4 s/ B
9 ~8 r) ?3 l! F; \
}
' f0 I q# h& }) ]6 h }
0 H) p+ F0 v1 ]/ v: i! mdocument.addEventListener('keydown', keys, false); 3 H% x4 f; j7 W' c
GM_registerMenuCommand ('Clean Hide',
- _6 V/ X6 f* h7 X+ R# @; t7 A/ Hfunction(e){
# d" _# i l' ~* {CleanHideObj.on(0,1)% K$ A9 ~1 a6 J% m/ k7 @ k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; K' H' h( }% }- h% G0 Y1 T* ?- ?. T X});5 M1 A6 ?3 p( B$ V3 h
|
评分
-
查看全部评分
|