|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 s: b6 b2 Z# f
+ J6 T+ n+ b5 J
火狐插件,用猴子' D! d+ q3 p$ j' a3 }
6 n q3 M6 a0 Z, \
var debug=false;
* p% B i' S; g8 A( d [$ ]6 |0 `var CleanHideObj=new CleanHideClass();. v+ S- b; g7 y7 B G6 S3 M
: ]" ?: t9 Q2 d& Y3 V
function CleanHideClass()
" S8 z u% h! i1 [# u+ y{
6 l" f, w1 m" Z, S
' I8 Q! m$ j: B2 G. U this.on=function(id,bMZ)
1 u4 i! `8 {1 d {& o: C% V- ~9 x- c h( r
0 t4 r8 t/ K( i; S) d# K
if(id == 0)( B! p9 [9 [0 T: z2 @
{
. H# q; ]& f2 p, g9 P; b7 w$ B var page=/* document.getElementById("content").contentDocument */document;
" o f, E# r. q3 Z this.RemoveHide(page,"span");
/ u; a; |0 @- S9 j+ t' i; N, z this.RemoveHide(page,"font");* U6 E* v& ~' z6 m. X/ n" T9 Z3 m' e- s
this.RemoveHide(page,"div");6 p# l( S s3 q8 y
this.RemoveHide(page,"p");
: k% e0 ?6 D& [- O
" z# a% w) c" t2 M }
9 D: r$ w! K/ z , r- U: o9 u# ?0 b! d
}! Z1 q2 v7 E& ~+ p- W0 |6 B4 S7 h
this.getobjstyle=function(node,prop)
' t& d/ l) r( _ {5 {7 Z6 i" f$ h+ {2 u
try
; V: Q- ]6 }$ X1 f& M {
7 h3 z% l, S! j; w, z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# z# K# Q; M9 ^& _7 e }
# Y5 x5 T( l" w9 F2 ^& B catch(e): X9 h' K' T( M
{. a% m/ I; _9 m5 f- q, Y3 M
if(debug)
: X) f2 D1 l6 q0 C0 C! J$ E {
* s% d- C3 V' E3 A+ P+ Q% t" b alert(e.message);- j w8 p! D" J$ c0 b! x
}
9 \5 y. W( Z9 V3 B8 i: _! |$ A
+ l. ^% z0 A, M2 h. P7 U9 i. T return "200";, t4 u( W2 ~* g/ W8 ~, c
}
) T. Z1 |9 _2 `1 I1 n; N( t }1 D+ d3 {0 d/ R# L7 k
6 P& b# ~' v2 V3 X8 {8 d; k v
this.RemoveHide=function(page,objname)
1 [7 o! e; e4 f* v {
# G( Y* u: @; G. H1 V try7 S" _6 s$ {5 r) V! b
{' q2 X. g- l; L1 S. D, g- w' r
var minValue=15;6 F+ U6 [4 {, M3 N( q
var objs=page.getElementsByTagName(objname);
3 ~( g9 @1 G' e$ i9 \0 S, z5 a+ x1 Y# Q: y# ?! H
if(objs.length == 0) , M: O4 z* K6 ^: M: I9 c8 Z
{9 ]' a0 n0 j: p
if(debug)) s7 a3 o0 Y5 U4 p& P
{
; y! i5 ]# `. I1 T( _2 ? alert("no object found!:"+objname);
7 |7 \6 H6 K# r+ ?, | }/ h- k* f3 }* I' J, z& o
}; ^" d4 D7 E4 t4 S
else
' D$ W' V" w) x7 l1 i: W {- L( C i' |, X6 z' u7 A! M. ?/ U3 k
- u3 v# y7 {/ Z$ |4 J! k# o+ b
for(var i=objs.length-1;i>=0;i--)
) n- K7 ~- d: w4 R {
! Z: X9 |6 l7 u8 }1 k1 \ var node=objs.item(i); 7 T0 k$ E/ u% ~% z5 @. M! ^
# ~) ~8 L8 I5 l: K4 g' g" v& g
7 E+ i. d& h1 A* S9 V% g( S9 W if(this.getobjstyle(node,"display") == "none" ||
3 O7 z5 H* S r: q3 `& S0 i+ h0 M# g this.getobjstyle(node,"visibility") =="hidden" ||- c! o2 n* U( [* b0 x
parseInt(this.getobjstyle(node,"font-size")) == 0)
" a5 l, P3 R& L$ @9 Q) H {3 H* B- F, f, N- |7 J m
if(debug)' u& J, K! B- x4 E' d
{
8 l# ]% j7 m) e- o8 m+ n alert("remove invisiable!");
0 t- M+ ?& C/ L1 K6 g9 g }
: T2 A# ?* k6 d2 K node.parentNode.removeChild(node);
( L! r( Y. q# |3 ~$ Y) b
" x4 k/ W! K _9 x" i- w2 [* S# ` }
+ e; N% h6 _, ~' Z l else 4 G1 e1 z& J; v) y
{( ~, q1 S1 V8 ~) ^( ]9 y
if(node.parentNode)
$ b3 a5 T' j% P3 i4 ]4 A, | {4 |0 q/ E& N9 R7 `1 k: S
var orgNode=node;' B0 r) [8 t- G9 Y8 t7 v
var orgColor=this.getobjstyle(orgNode,"color")
% d$ S7 e+ o9 F9 j" @; _& ^# }, O var orgRGB=getRGB(orgColor); 6 [& F3 D* T9 { f. Y% [* h
1 R/ U* e2 I+ w: j1 Z7 ?/ i6 F" J2 F4 Q
var parentNode=node.parentNode" a, a0 e- A! N" b7 d
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 W3 b i! ~+ a. ^. }8 `9 { 4 g+ e9 n3 g- H
var isLast=false;
7 V: t" H; H; j6 f! L / c" U; V5 S: ^( Z. M: o% o+ w, A
while(parentBgColor == "transparent") . K5 ]' b! a9 r
{
, W: A: X2 I4 ?# s* o & b* O( w% t3 n- @- t( B% Z- r
1 b4 ? O- g0 }" E
if(parentNode.parentNode == null)
9 _1 E6 S8 h- ~; N {; x: F4 N7 O) D; b/ e
isLast=true;
g# O2 p) A& @8 K' x break;
1 @! P/ Y8 ^' m% O; r; I9 r4 i6 g }
+ r3 k9 K) k; @$ `2 ` parentNode=parentNode.parentNode;
# P+ m {5 X7 E# x) H3 \ parentBgColor=this.getobjstyle(parentNode,"background-color");
9 e) c6 y/ A" T8 x7 j/ N9 e
6 T7 k* b7 g0 \; I$ l% E/ ] if(parentBgColor != "transparent") ; `7 O- T S _' Y2 p8 ?
{) v3 c+ b% L" L
break;
+ k. p3 E; b+ j' P }
; M" r/ A" x( o7 x0 f }
7 f5 A% p& C2 q6 F) v if(isLast)
+ a! _% w1 C/ T( h( ` {
' \2 p/ c ~' G4 c1 r4 n if(debug)
0 P$ v; a8 r* N( h% j( T7 j6 d, [ {
" m8 d+ j8 _( f5 u" w; x3 x alert("last!!");! |2 {9 W- G0 b$ c$ W4 j0 t9 y$ k ^3 O
}
/ }% b' k- J- y& _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 m# N$ k# c7 l1 w {( Y" Q r, F6 V# C' k: X& {% H8 y) k
orgNode.parentNode.removeChild(orgNode);
/ F% m; t" b" z+ k/ O" @ }- b: f5 d0 D! M" S& G( _: T
}# f7 C; }$ z1 B' D4 w& L+ T) X
else
. C, D& w) w4 V: E) | {' T$ V* g/ I; {' _
if(debug)
% P2 o% l3 `3 k {
3 {) N! r- G( W alert("compare color and parent bgcolor!");
* L* j0 C8 v( f/ t4 j! M& | }
$ D1 } M+ G4 h4 L' t parentBgRGB=getRGB(parentBgColor);; {0 j! i0 U0 \. X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ B, G! p5 q/ X1 \/ a# e {; ^* P; x2 O7 Q: o$ ?. ~% d
orgNode.parentNode.removeChild(orgNode); ! F+ _ G, d( N# p/ r2 y( ]# N2 _
}
( [. R! V8 o/ x3 O }* `! {$ e* m, y% S$ V6 s
}# ?! a5 A3 p2 f% F% P
}$ W X& P$ x) Q$ y9 }9 i0 H* s
}
6 [( Z! P' q3 |6 H }1 t! b2 ~% b% W, G1 ?' t
( w9 i0 ~) r1 ^$ _ % _6 V$ C% J' u6 Y( t4 I
var itemFrames = page.getElementsByTagName("frame");
9 ~ e, C6 \! E8 C9 w. k: L var itemiFrames = page.getElementsByTagName("iframe");
" H) _! C8 w6 A |8 G 5 X1 X3 Q/ Y9 W+ ~; b
var frame, iframe;
+ c$ N- [( C' @8 g) l" n" s if (itemFrames.length > 0)
$ @) u' U! I* P4 ^; a {' z4 | b2 y" b
for (var i = 0 ; i< itemFrames.length ; i++)
; \2 p9 p6 U z1 J Q) U6 N {7 B1 C9 M( L2 x" k+ E) \
frame = itemFrames.contentDocument;
" \ h" b0 K; u$ H+ k# d7 u9 ` this.RemoveHide(frame,objname);
0 Z8 a9 L# q4 ^& x }
; ^" L: T# P8 j& @0 U* t } F$ ?+ ?/ ^$ N( t
if (itemiFrames.length > 0)1 v, g, B! Y- Y3 f
{
& s) z9 h4 e* J for (var i = 0 ; i < itemiFrames.length ; i++)
+ E$ Z7 r$ a+ a; l" y# @6 X {
: q5 S3 g% Y O3 ~ D' w1 z. h' ] iframe = itemiFrames.contentDocument;
" o# @( V' b6 D this.RemoveHide(iframe,objname);
: v9 S. L: k: H2 v }
3 X* z5 @, Z& }/ R }% H' a( g* T! d+ t' a% W
}
8 O. U) f" R1 i5 |* |6 ] catch(e)- j! ~/ Q s" u/ o7 r# Q$ w
{7 O& [' s- g$ \, ?
if(debug)
# e% Y; L; @9 H/ u N# c/ }1 Q {
0 P! y4 I5 ~5 A/ j alert(e.message);
; \4 M) V' e" o' v! e* x }
# G4 h4 X2 j0 I5 l8 p }
. Y6 Y9 \( A L$ z }
\2 P& u% J3 k& `. e) T , c2 y# J u6 I7 ~
}8 ?0 k5 ~4 L0 |6 ~; b3 D
( F2 e0 V/ M6 V* _6 ?
function getRGB(colorString)5 `* {9 V8 L4 M# \- s
{
) e3 _: j2 Z; Y5 C; v. q" m, k var RGB = new Array;$ x; E' J s+ }8 J) d
var tempSting=colorString.substring(4,colorString.length-1);
2 M3 f1 N1 o4 `$ U var tempArray=tempSting.split(",");
8 a5 `% g3 l: y* [: @1 a/ v- W( D* }* G4 T/ ~) r
RGB[0]=parseInt(tempArray[0]);* b @# A9 M; \
RGB[1]=parseInt(tempArray[1]);1 ^* y5 x! q: ^7 s! V9 \
RGB[2]=parseInt(tempArray[2]);# ~' d6 i' S6 e* `
# O. B" a7 |. w: D5 Z return RGB;* g! g9 z( a0 |2 I
}1 J/ n" O9 v* I8 S7 p" c
function keys(evt)
& e0 @4 @1 J5 C0 X1 w8 j5 \ {
0 h6 j+ C& c; S if(evt.ctrlKey && evt.keyCode=="81") ( |! [4 r/ o+ o5 b: k" s
{ 0 }( {8 \+ ~( |; {$ o7 {
CleanHideObj.on(0,1);
9 T. _' a+ n6 }( b9 C( j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( z- e/ m) {3 x, I0 G- e) K9 Y
! H; \) O0 y; @6 C
} # z6 m5 i3 ^4 K
}
) V! E( J! ?$ T. @3 Ydocument.addEventListener('keydown', keys, false); ! Y$ w4 d6 M9 M/ r4 g4 P
GM_registerMenuCommand ('Clean Hide',5 w, v7 j8 H5 i% D
function(e){; W9 j6 j4 d1 l# z/ j$ c
CleanHideObj.on(0,1); D7 O! d0 i n+ Y; R4 M3 k/ z* l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 v- s/ z: W( m) E B- ?});
6 R' c( x# p+ w+ z6 D$ ^ |
评分
-
查看全部评分
|