|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& ?5 a3 \, p }- L( X" J* Y0 ?4 }( J" M7 k' r2 E
火狐插件,用猴子1 M" h2 M5 Q( H3 e1 O6 B2 a* X
; ?4 s S2 {2 ~8 ovar debug=false; % a3 E! v) X8 J/ A: X( O) o
var CleanHideObj=new CleanHideClass();6 c9 i+ C+ g7 a( U3 m, B5 J
& Y* Q9 D. l% }3 Ofunction CleanHideClass() % K% S4 P! [! X7 \) _
{ 6 T: L0 w* M5 } g9 h+ Q( m
7 U" e, a% X. K S% G+ P1 _
this.on=function(id,bMZ)* g) z6 W- d0 s0 U9 C
{
* O& f7 t1 e7 Z$ J' ]7 j
- b# M7 }$ z+ }) _& h" l if(id == 0)
, j& {9 c" ?) [7 Q+ a- c& N2 S) H+ ^ {
$ M/ J7 e, T' r$ H ]' i6 o+ S var page=/* document.getElementById("content").contentDocument */document;
# X( z# }. V( v% z this.RemoveHide(page,"span");
2 M5 j7 U) L3 _7 |7 Q6 S& V0 U this.RemoveHide(page,"font");
5 G/ _& Q" y9 B! _) T! V# H this.RemoveHide(page,"div");4 u8 A) P* E }
this.RemoveHide(page,"p");1 t: a6 G4 k% }) t/ y
6 u t# ~. L0 z7 t }9 O- {0 r. n* `7 L5 f# j) t
( T, v2 H8 y$ [: ^. B2 [ }1 X# O" {3 O3 m, X' J- B7 z
this.getobjstyle=function(node,prop)
8 S' j# }# B& Q {
1 N7 G2 h& u! B9 z- W, r try
' P3 m8 A1 K7 j$ z8 Z {
4 o0 x r6 |2 m7 q+ s: [8 U9 x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# d6 H0 X8 t* u, o" B; K/ m }4 V6 s V) V2 |! c; M
catch(e)" U6 h' H" c) Q9 y
{
! h! E# }& B7 o if(debug)7 H) P; b5 a6 e6 e
{
2 L3 p# ^2 G1 H% x8 m" W. @ alert(e.message); m6 e& ]# A9 }* O4 I& o' g c3 M, [) K
}/ Q& @5 `7 o3 V' O' m3 S9 U
$ x. I. Q4 t- J! {- D5 i5 S/ Y9 W
return "200";
/ m5 `4 Q$ X2 ~- L# Q, s4 U }$ V/ b- y- I O7 q/ {3 H- e4 v
}
/ r2 \* U- s% X3 P) _ $ C' X7 @' ^- ^6 G' e
this.RemoveHide=function(page,objname)
) O7 y# [) s& i( B4 }3 t {
6 b( J3 \, p0 { Y try
2 h# _3 F' z: d. i {
. o6 Z& j) o V* I+ X8 z5 ` var minValue=15;
0 L1 [) k# a' x8 z. }8 J var objs=page.getElementsByTagName(objname);
5 A" l! V: e+ L, b- N, u# Y, p x7 R; R: a$ l/ i8 S
if(objs.length == 0) 8 b5 `1 k1 L& |0 h5 F* f
{
: c2 `0 e+ h6 k% T. U v if(debug)
! u# n' H4 N$ c& k {% _( l) T: \7 ?7 G! c) ^ E
alert("no object found!:"+objname);# q' w, A/ p. @" z! P0 |
}* s3 }' Q# V2 Y, \6 ~( Y7 R
}5 r) |% }: h, E
else/ R* j4 ^: j+ }8 }, y
{. W4 E& w5 {1 e
2 @, V( R( B& I# p( q. P
for(var i=objs.length-1;i>=0;i--)
. f" t2 C4 D6 `9 L+ [; d {
) {( F+ b. {5 v H+ p var node=objs.item(i);
! |* N/ T" C6 b' w6 Y& Q) z . K0 j/ v' `) b2 n, P
$ w# d$ P8 B& o6 M* S8 }9 [
if(this.getobjstyle(node,"display") == "none" ||% J& t1 h( S; F4 A/ Z' A5 ]/ c
this.getobjstyle(node,"visibility") =="hidden" ||4 }# u; s4 j* v5 L- |
parseInt(this.getobjstyle(node,"font-size")) == 0) . _* `1 |& C6 t1 e9 D6 Y
{
! N7 H4 D# W- Z( f5 }/ s) S, d if(debug)% ]( P, x& y- _) D
{: B* R0 A! t) |" R( z. Z
alert("remove invisiable!");
+ n$ q* Z- A& G2 P8 ~ }$ I. p5 ^2 G! }; C2 x3 l) l
node.parentNode.removeChild(node);! w7 { u0 \( c4 ^
9 E7 ?8 ~. m* |2 L* N9 B }- z' v! ?0 K4 H3 F# _7 q
else / S+ h% s& Y N% h% Z7 z% n
{8 _1 Y9 n5 A* y' A# w1 _# c5 \/ [
if(node.parentNode) : v8 n6 A) X6 W0 v
{# }# y. X! v, M3 @6 S0 D
var orgNode=node;* M" I# r8 L/ D: J) T) M& h: Z
var orgColor=this.getobjstyle(orgNode,"color")2 H7 V4 J( A, m/ I0 V
var orgRGB=getRGB(orgColor);
% v: d% A- Y5 {, u; i' s 3 C$ R9 |1 g2 v4 j
var parentNode=node.parentNode
- |$ Y9 D( e- H* m2 Q6 L var parentBgColor=this.getobjstyle(parentNode,"background-color");: V: f: ?" {$ \7 _: i7 O
! W$ B+ ]" {( I) l% j) ?9 I, O5 j var isLast=false;1 Y! w9 `/ c$ l2 q) `' p8 \ b1 l
. j; f* k u; j( R* T) z. i1 k) M while(parentBgColor == "transparent")
2 Z, P& k" ?/ d6 f {
% `; J+ t* Q9 g: \( b
0 J* B* d2 N, i8 m: i4 D 8 S4 L y; q& s& C* g
if(parentNode.parentNode == null)
: }9 s2 r7 P5 K. P3 ]# V {
( a; ^ e( L1 T2 R isLast=true;
- P6 e! k0 C" H3 V8 i break;) R9 i2 T0 ^. ?) }+ E5 G0 @- k
}
" s1 q. U( v3 { parentNode=parentNode.parentNode;
) c9 E% \* ^4 } parentBgColor=this.getobjstyle(parentNode,"background-color");
" O' t0 L5 O; h# y/ P
" c c6 a8 H2 m; r3 ~" ^8 ~1 b$ R if(parentBgColor != "transparent") ; \- X! J9 R7 q2 ^, n# i* z
{* A4 t/ H+ a6 C+ h0 \- c
break;* p9 A, ?( p% }1 U* O$ n
}
: T3 k- f4 d$ d! J7 a4 \- U }
2 t! ~8 |" k6 E$ M1 D$ U if(isLast) 6 T/ h H7 V6 I6 O7 C
{: i# R7 P- A6 @7 A+ A- Q _3 s: P1 a
if(debug)
" u! d3 \9 d$ ~; S2 N- Z* k {
( o& E: L9 S7 c5 {6 t alert("last!!");
/ z( _7 @9 m! d }
1 Q) z) p5 T; c0 R) S, L5 J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& ? f/ V5 \) `; ^( T& H" g; ~0 o {
" \/ Y9 m& k* J l2 U" b orgNode.parentNode.removeChild(orgNode); $ ]* k! v& @0 U, F. g6 m
}
4 `- E! m4 Q9 P1 m: s }
6 c" M8 B/ s5 Q9 J% _$ b2 P/ j9 k else
* U! e; t9 e7 u; r7 P8 C, v/ P {
$ `; s M0 d. A. {7 A$ O if(debug)
5 ]$ g p4 e& R8 ?* X {: K2 g0 T0 a2 Y, G% S- e, @
alert("compare color and parent bgcolor!");
5 ]( o C0 D" ]5 L, X: c7 | }, e4 x2 P A3 _! i$ Z
parentBgRGB=getRGB(parentBgColor);
; |( T$ q8 R% w) e& F- C# G& ~ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 k* j0 Y" |4 U9 E& V$ c {9 T7 i' z" m9 ^
orgNode.parentNode.removeChild(orgNode); . T) U: C3 G- d
}* Y! ~# n1 e {, A! ], f
}
2 x6 A* N% V! ~7 G. H7 ~ }
0 ~+ Q1 D% h4 x! m. v* C Z }
: [' A% Y5 O% |2 m }! k! o7 Y9 C7 u- p+ G
}& J3 Q2 J! }. {$ j6 g
) k/ M+ _' {0 ~- K' V3 D' ^" ?5 Z: o
~: g6 g* R# f var itemFrames = page.getElementsByTagName("frame");
, S0 F3 L' d' ? var itemiFrames = page.getElementsByTagName("iframe");- S; e5 B0 U- B# j7 _8 Q9 t1 g
+ K7 l$ d7 l3 u7 x+ p var frame, iframe;
/ l8 T0 ?7 }. h" t- z4 F7 ] if (itemFrames.length > 0), \/ }4 \5 g3 M* v9 S! x
{- G( ]! [. W8 o7 F. U6 S
for (var i = 0 ; i< itemFrames.length ; i++) % ?+ y4 j U/ i- \ A* K4 q, S
{! V% B" @ f. X' a: x* f/ k
frame = itemFrames.contentDocument;
! }9 A. W$ i% O3 u this.RemoveHide(frame,objname); 9 h! l+ N W. u8 M2 k6 z
}( ^# `$ Y6 ?) W6 A
}
" {9 `8 a6 x3 {- N0 b if (itemiFrames.length > 0)9 N4 Y1 ~$ G( C
{
. |4 ]6 Q: ?8 _7 _' `3 G+ U7 c for (var i = 0 ; i < itemiFrames.length ; i++) & \# d% p, c" w, `2 ^7 {0 g8 w+ o! k- i
{
( d3 B7 U ~- Y+ X& r- L iframe = itemiFrames.contentDocument;
- C5 W. N8 u) w( P! z9 L$ ] this.RemoveHide(iframe,objname);
' E [* Q7 x/ O- x' S+ T) j }" ?3 a, w/ H# ~% l: o% a
}
4 B/ J2 D7 l) E# I$ ]. l5 Q3 y }" j% i9 F& C# `
catch(e) D d" X6 v7 P* u- _: q# n
{3 Z' y D( `$ ^+ q7 b3 P. L2 a6 T# @
if(debug)6 z7 J1 C* I) d2 M e% m" g2 w- s
{
& \/ h4 T/ g9 l2 Z alert(e.message);4 i: l" N6 f, J8 \4 T; L, M
}
( X% w5 F1 M6 \% P }
7 F' D$ U1 ~( n! Z% m }
. H+ [' S9 S* `: x ' y3 }# H6 F5 Q, t9 l9 x. L
}9 |0 m e: @/ g' H7 p
1 [$ p! G& |# w% ^
function getRGB(colorString)7 _ Y1 f! c9 l+ J1 M% n
{( ~. F- h! m9 _ i
var RGB = new Array;2 Z2 v4 A$ [2 {
var tempSting=colorString.substring(4,colorString.length-1);# c- E) E+ g* p2 t0 K, g" v
var tempArray=tempSting.split(",");
) j: t( H$ A# H m6 i2 q- k! v, m
RGB[0]=parseInt(tempArray[0]);
, f- _! |5 N$ \4 ]$ X# G RGB[1]=parseInt(tempArray[1]);9 c6 r; K: B. v
RGB[2]=parseInt(tempArray[2]);
. _6 D8 j |; p$ q
* p2 h/ A: c: U2 M1 h return RGB;. Q J w5 M" W( v, K
}" M& Z' ]6 {& c* `/ P* R, R
function keys(evt) 2 P' I+ b0 ^$ f
{ 8 Q6 i9 L2 F% h6 m% X
if(evt.ctrlKey && evt.keyCode=="81")
: d/ ~: B' g& J& G& b) G {
" P' i7 {+ B, h4 C2 Y CleanHideObj.on(0,1);
/ p: _0 f2 m" b" M; ]7 q' \: V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ ?. a3 v0 Z. k/ S, A c( Z - i+ `+ Y: W' ~' h6 R: R
} - h7 ^9 I! X+ a N1 U
} 9 C0 w6 q; {3 }# h
document.addEventListener('keydown', keys, false);
! K7 B' K9 ]' f& Y% E9 I6 d2 ]. cGM_registerMenuCommand ('Clean Hide',
) W8 x3 ^, E4 {4 Nfunction(e){: D2 h, |' Z1 v/ j1 I
CleanHideObj.on(0,1)4 q @+ i8 Z' b C# ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 Q' s+ w! n) a. S2 Z3 [$ N});* N4 B+ U2 h- J4 F, Z, M t
|
评分
-
查看全部评分
|