|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 Z0 v' ~: \+ f
) V1 \+ t. S$ S! z火狐插件,用猴子! g5 E1 i Y, U7 o
- o$ e8 Q2 I. ^$ l, }
var debug=false;
; \7 j4 F, ?) d( \7 `1 wvar CleanHideObj=new CleanHideClass();
' j% [9 E+ Q, v! n6 T, I \; ^) h3 q$ D) P, I Q) @$ A+ y
function CleanHideClass()
2 ]" K2 D1 U9 e9 B9 [* S( O{
/ o. V4 b6 x5 X% b: X# ^' ^. p" G $ u2 C8 B# K% a' {+ ~
this.on=function(id,bMZ)8 s, _5 m( e, g& A) P+ {9 ~
{1 P& ^. c+ q& p8 b% M
- ?9 ~7 u3 j/ a( L3 ]6 ]! _ if(id == 0)& h) {+ B2 b# A+ `' o
{
* q- V' @/ u9 ]2 P var page=/* document.getElementById("content").contentDocument */document;
2 u# l$ R5 F% ]2 S' r this.RemoveHide(page,"span");
# ?0 ^8 F$ H( a( G. V0 b this.RemoveHide(page,"font");2 Y) @" T" W% x4 ?' D
this.RemoveHide(page,"div");
9 p/ y; x/ N* [3 J+ H this.RemoveHide(page,"p");: A; Y* N$ {" V, ^, N: O
, Q! F- \; h( w* s: l, B }
+ m7 Y2 I( s3 v& [. B( u
6 M. e" q" f0 D1 j8 j }
3 {/ g: D n2 m/ w/ u" X0 N this.getobjstyle=function(node,prop)
0 a+ B6 }7 r, C1 a+ z {
% f) x3 \% M1 k$ E8 M9 [: U, e try
1 R8 r% G. c0 @( }2 }% C {. ^1 B _! X) V+ W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' R& w% \. V- v+ z
}
1 l1 j' p5 w- t catch(e)
# _ M0 L( x0 _ {
! n: q2 m! x, K9 d+ K7 Q: Y if(debug)
+ S. T( g. t' F4 u7 E {7 T2 h- F0 @. _7 ^
alert(e.message);+ s& h W' @- w2 A
}
- r5 O4 I3 E. ] ' x+ v g/ X' _# h4 V! Q! q
return "200";) {3 F; E; @* E* [+ H0 ~
}& O+ y. q2 p, |4 g" h
}9 D( m, b. m3 G: a% q. s' C* ^
. G4 h. x* `9 ]2 x6 l9 g2 `, Y7 {
this.RemoveHide=function(page,objname). g$ E5 O7 C$ \$ o# e( I
{! K6 O& l! {* c( ]5 f9 R. g3 c
try; n4 Y1 N Y, m# D' [) e
{
, B$ z2 V" X/ e# S0 u$ M+ ] var minValue=15;
2 e N9 I D; I9 g* x/ ?! N2 v var objs=page.getElementsByTagName(objname);
0 Q; k; p/ C E5 U% p' _# E+ {, U8 d7 Y. S+ I) M" i, F
if(objs.length == 0)
t- t8 T$ j H2 L- ^7 f' ?# I- _' U {
# D4 ]8 n& i9 X8 p- o5 i if(debug)
/ |5 }) E1 q% i5 c6 q {5 ^7 S) t# E! @5 u" e% c
alert("no object found!:"+objname);4 d; r$ R, u0 S8 @
}
# ^ Y( L7 R: _' ^' @" y/ _ }
$ O& f$ Z [) m' }8 p: @: f0 M else
1 J, u: ` w `) E% X {& Y0 A( V: x8 |" V
5 z7 ~% _' n J
for(var i=objs.length-1;i>=0;i--) # q: z2 O& w1 D+ d! H- H0 G
{
1 _! i }+ k/ ]5 F* _+ m var node=objs.item(i); & D: k! S+ i4 R3 N
( U* }* P2 v% L% h 0 `/ E( n n/ s% z! Z2 x
if(this.getobjstyle(node,"display") == "none" ||1 [8 i' j# L. w' K' x! o
this.getobjstyle(node,"visibility") =="hidden" ||
" a6 I& c3 `! I6 O% h, M' s- ~ parseInt(this.getobjstyle(node,"font-size")) == 0)
/ S0 m& W% ]) L$ b0 } {* K, s, k! }3 |7 e9 V
if(debug)3 h4 i. H4 u0 B+ D
{
/ X i. q0 s5 z( Z8 ~5 `- C6 e alert("remove invisiable!");
, X. v" I! r6 i- M8 Y% F4 D }
; i) _$ |( U+ w node.parentNode.removeChild(node);' T5 V" f+ l# s& o3 o
% {/ y/ ^; h, w
}
- ?7 f. K7 W0 | V$ C else
: Z8 {0 ], Q v. V2 X6 Z7 ?/ B {
9 E* T- w$ [: T3 R& b& C if(node.parentNode)
) D8 } s6 ^8 S& D {
7 S! N3 q1 X- D% m7 \$ D9 \/ S( k var orgNode=node;; B; w/ b, C- }+ h0 x
var orgColor=this.getobjstyle(orgNode,"color")
2 f+ R; Z0 J- T: _ var orgRGB=getRGB(orgColor);
5 e7 Z' e* T' h7 d% \9 F
6 m3 N4 P0 o, e: O" M( V6 y var parentNode=node.parentNode4 {: ~8 t, Y% ]9 }, R) t( h& B. T
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 o* R1 m( _4 b9 l3 i
. R$ i2 A( Y$ M* b8 [$ E) H Y- h' t
var isLast=false;4 K3 ~% |$ ^: L. B5 @' _
; |; _) Z+ |( l% |/ _$ [
while(parentBgColor == "transparent")
4 x9 \2 C3 d! O& S {% C4 B7 g5 y T7 j" k
! N* V' X) \0 I
% X# _. ~/ }5 t% Y
if(parentNode.parentNode == null)4 \ C ^( N. x
{' b8 H" k" f; A I# z* ~$ w4 H2 u' |
isLast=true;
, b+ y) M& ]& l: l2 | D0 p! b+ z0 j break;
% m' b, A' c( [) {0 J }
3 P3 u# I/ P0 L, x) W) `- D parentNode=parentNode.parentNode;- e/ B( D6 p: M1 o. W0 `
parentBgColor=this.getobjstyle(parentNode,"background-color");. V& O# N9 j' Q
c. o: W4 T/ v/ n( W7 O if(parentBgColor != "transparent")
9 P0 ^( ^3 F( N7 g( J' N {
# Y/ W- F* a( H2 E# F' @. ] break;
, R8 h% `* K b- r }
3 Q% ~2 @$ {5 d) H- _0 c) k7 @3 L }
: p. Y2 v4 F$ _ if(isLast) ) r0 x9 V: @: e9 r! R1 f$ R
{: a b6 }; n. y6 e7 s
if(debug)
' m. K& p2 e! q5 ^' u( P3 s {% f. f) r) G5 x4 U# e
alert("last!!");
& N6 u0 ]4 T/ u" R. z/ N5 N& U }
) U( c/ V2 v5 J; A$ X+ O V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 ^& \; Y. _: ~$ A9 Y6 M9 ?# ^3 u
{
# K' H4 X G. G q m orgNode.parentNode.removeChild(orgNode);
# k2 _4 a9 J4 x& T5 P } j4 G/ }( Q8 J3 T4 ^- f2 S8 l
}
* D h5 F* S- A else1 d5 t. m+ c) ^( g- ~
{, J6 A7 t; Y/ C3 O) g
if(debug)
$ I& N& ^8 j/ \: A5 {6 S' g {$ f4 D% _: t5 _# `
alert("compare color and parent bgcolor!");, U2 m2 }$ V$ H% Y7 X& q0 f
}
/ d. {3 A, P" X parentBgRGB=getRGB(parentBgColor);: O* s* b) v( z2 q9 y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 Z. ~+ p6 m1 |, R( D
{4 a& X' l1 r1 R/ I# v" y
orgNode.parentNode.removeChild(orgNode);
, I8 O# m5 Y% _% x+ {$ n3 R6 h! x }) c B' q' p% s
}
% U4 d. g- C' m1 D, T1 n. f }3 Q/ w* e3 R1 `2 ~4 ?8 n( ?( l2 G
}
W% Q* S1 [. m& I3 u }
8 w5 A* a8 F& W* C6 |$ a) l }
7 l. g. D$ D7 k7 g 2 J$ G* H* U* j+ U/ [% I
$ H7 @* K y) W* ~: [ var itemFrames = page.getElementsByTagName("frame");4 x' }4 g. g% e' Q5 V: v) c. W
var itemiFrames = page.getElementsByTagName("iframe");
6 a! Z l% S. d& B% d7 U * E" A1 Q" T9 Y; o) F+ F' D
var frame, iframe;
+ O' G, I5 D1 | { if (itemFrames.length > 0)
- [3 c$ l+ W4 T7 ~ {, ^2 E1 j) [2 N% \
for (var i = 0 ; i< itemFrames.length ; i++) ! z( I+ z7 ^; s
{9 {& o/ i/ ?6 e9 v5 p
frame = itemFrames.contentDocument;
- G [0 \ ~# r( V. D( D this.RemoveHide(frame,objname); ; l4 D G4 _4 w; D
}, X9 H3 @0 E! y/ Z& z; S7 w
}' C4 S4 d5 E) ^2 ?; g
if (itemiFrames.length > 0): d L; Q8 x M
{ s# D5 g7 U% ]8 J& u& u
for (var i = 0 ; i < itemiFrames.length ; i++) 8 r7 ~5 O/ [% J x
{
8 s4 E Q1 z7 d" e iframe = itemiFrames.contentDocument;0 Y) a( @! |3 j/ T! Y6 ~
this.RemoveHide(iframe,objname);
/ X& j8 m0 e2 O }
' y+ U# P' Q* z }6 N; _, s* }+ \4 b
}
/ Y2 _- }- D7 D6 h8 D4 G- j catch(e)! X# S8 \" \9 Q. c4 B
{
+ J* e3 F: E6 H( T* q if(debug)1 A8 Z. \ H6 _- j- v5 y% N+ [
{
+ z% r. M" g; ]# \4 ~' F6 { alert(e.message);
6 L1 {. f5 v# R: W }
$ s. d6 q$ }4 B6 H( d }' j E' p0 ~5 P# W
}6 g8 h. w( E5 A
! H9 z6 I2 p0 e
}/ t! V( C% @! Y3 m5 f. F5 M( }
" `- p" s& k" xfunction getRGB(colorString), S; h+ z! N f1 U( Y. W% V
{
. G: |+ |5 F1 B3 v# K var RGB = new Array;
6 n; }" s ?4 u/ Q; | var tempSting=colorString.substring(4,colorString.length-1);
7 s" _( @! b' ]+ _ var tempArray=tempSting.split(",");& K# e3 y* A& E: k9 ]* |
- e, W7 O; D% p7 K9 [8 ^ RGB[0]=parseInt(tempArray[0]);
) U& I5 K& q( X, m9 A/ |- `2 L( J RGB[1]=parseInt(tempArray[1]);3 j% w ~6 M0 E. _3 [. C3 d- R
RGB[2]=parseInt(tempArray[2]);
4 G1 w# x0 Q2 M; I; @8 g 8 n* o3 _% H g2 C5 I
return RGB;7 ^9 H. n1 B( \' E( F
}/ [2 _5 V) p) Q4 ]8 m2 n: C
function keys(evt) 4 n3 U& F; M8 Q5 R& Y# V' Z
{ : {2 W, S2 z7 h1 [/ J* s
if(evt.ctrlKey && evt.keyCode=="81") & S6 |% L5 I+ P% [3 D1 @* y
{ $ I5 Y% {) K1 s( X& ?
CleanHideObj.on(0,1);
. M% s9 v+ k# r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % c' U$ H0 u- B7 Y! h' o! i
, t1 h* x: _1 x- S% { } 8 v7 j+ W. {8 ~% G0 U
}
6 u3 |+ ]1 v5 J4 c) q5 @+ jdocument.addEventListener('keydown', keys, false); ; o- a( f; a* S
GM_registerMenuCommand ('Clean Hide',' |0 z6 Q$ p& Z- I4 w/ w0 j# s# O
function(e){
5 ~& w8 {. r$ {, X- [& ECleanHideObj.on(0,1)1 X, k, P* @- S6 h% o" f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( {% E3 g) [: X c5 o
});
+ t. y' x X% P: r s' i: ^( q. E |
评分
-
查看全部评分
|