|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 A4 s0 O3 [, Y% @5 ~
3 P8 D0 G* z# q0 i* a+ j3 b火狐插件,用猴子+ c+ L2 v: ~9 H; D
6 A7 n- r# j, F6 t/ H7 w/ Nvar debug=false;
- Z7 r7 b2 y4 o" m. I% J( r* |var CleanHideObj=new CleanHideClass();3 S6 y2 |/ [5 J' S8 a& N% x C
: x# }* p8 l3 v# e3 S7 {0 |function CleanHideClass() : d" c9 N: t+ M3 A3 i! s
{
* b2 C2 V: W3 P
: H5 J! ]3 G; `8 L, C; x this.on=function(id,bMZ)
. {4 e* w, [; q1 j- y1 I) D1 r {
. E" W3 e; I8 Q1 Z4 V
& S& c1 p' H( m1 k* {" x7 P if(id == 0)' Q B. @/ o- I( C5 c# W
{
7 I8 A$ O, i3 f* K var page=/* document.getElementById("content").contentDocument */document; 5 |0 d2 ^6 D: L; @3 I
this.RemoveHide(page,"span");
, a4 I r# h5 C. t this.RemoveHide(page,"font");
1 `, k2 T% X2 F+ U" \% H, M8 L this.RemoveHide(page,"div");# @5 E; I; n. j8 x* i# I1 I
this.RemoveHide(page,"p");& S, `$ g! q% b1 A" c6 Q
( ~ z1 J% f8 V1 [ G }
; D, P" Q# O0 {# `# s
- q; ~! ]: s+ k. v- Y9 M }
# B6 c0 @" w) o' @) R* i this.getobjstyle=function(node,prop)8 x/ M2 Q6 ]8 h
{5 q9 Z" Z( f# Z# ]# p1 @
try" x( U& g e; ?( B
{ e6 a, m# G9 k/ C7 F
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- i" ` f1 J1 A6 U; [ }
- n4 i% y/ @0 q9 R1 z6 q catch(e)& l' G7 F" r2 Z/ ]; n
{
8 E3 Z: H+ Y$ d; T7 e! [* r if(debug); o, Z. B p6 c
{! p" K0 M5 J* ^- n: i
alert(e.message);' e) }/ C! _5 L, ?' \* s; T
}! T3 {/ b" n7 N3 B! d/ c
- i; I$ D+ {# ]! Z9 }9 |$ a- g return "200";5 E+ C) x z- s6 I8 j
}
7 h5 T" F0 t# M% q }* j5 W% N% ^3 m$ }5 Q( {$ m
# f/ O8 _+ w' v5 q' u/ T5 A this.RemoveHide=function(page,objname)& Q2 Y5 H2 u" B1 s2 ~. Z0 J6 U! Y1 C
{) D6 P: ?3 J; C
try
1 H2 K: A- e$ t( P: z {
- a* L. q5 Z6 C var minValue=15;
, D, R7 h5 N5 {& g5 y var objs=page.getElementsByTagName(objname);
# O5 a" }1 U" T* S$ Z' s
1 F; o! s2 M6 ^$ a p) X6 S3 j if(objs.length == 0) ; `9 ?; @2 _( [, q& p9 W" m
{
K" W- v- J4 T( h if(debug)
% c; c- |2 I2 K3 W7 L2 ~5 N {
0 F; e' s9 e$ \ alert("no object found!:"+objname);
& |+ \8 L8 }8 Y$ M+ U }' r3 i$ P& f/ e9 t f
}4 L0 s( H8 Q# p: W9 Q
else v( _3 _9 @1 F3 w$ d' i0 ?: ~
{3 G! r+ _# |/ V$ u9 J
/ N E0 u" d3 M4 h! M$ ]0 o' s
for(var i=objs.length-1;i>=0;i--)
/ o: d# F' U; j$ G+ z {8 v8 {; Z: t* l+ |. o& ~6 q5 I7 O- P1 V
var node=objs.item(i);
8 D+ y) V8 A' Q9 W2 j
, N: {9 }. n2 [$ ]
4 W! D/ P3 K, F# z: T8 ]1 C if(this.getobjstyle(node,"display") == "none" ||
9 Z1 A5 i a( n! v, I this.getobjstyle(node,"visibility") =="hidden" ||+ I) t' R4 R" n. d6 l- k
parseInt(this.getobjstyle(node,"font-size")) == 0)
# g; Z ]0 I6 `; _0 `* A {
% X0 C+ ^( g! [/ g& K; l- Z- F if(debug)
1 R# r: N$ Z4 l% b' ? f) W {
$ u: x, z0 L7 l alert("remove invisiable!");/ W9 B+ _ @% K
}* X. s: A9 K& C; A" ~$ Q) J# i0 [
node.parentNode.removeChild(node);7 y" b, n& n7 R
# o$ i# ]7 \1 \/ P: I
}9 @0 c# i6 v6 c) X* N; M
else ' `2 x; N. m6 X. E" b5 X- S
{* `+ @+ F; u5 V0 D3 m) u) k
if(node.parentNode) 4 B, w' [/ F, j: i& o
{
$ r" a* |' g# p3 Q var orgNode=node;
* N$ G# M6 w# t& q var orgColor=this.getobjstyle(orgNode,"color")/ e5 j( ~: c' E. W
var orgRGB=getRGB(orgColor); 3 ~% y- @: O# U. i
8 b9 r3 M" o; Z, V! Z: O
var parentNode=node.parentNode
# t7 F% Z. ?1 e0 [+ s5 O( O5 m5 }# j var parentBgColor=this.getobjstyle(parentNode,"background-color");
: ?$ i3 G1 i# ?; M# q/ t& [( x. L
- O: ^( p5 w( B. b& y7 [( _ var isLast=false;, T5 t" t' F0 n: X; r4 p6 E7 F
1 l2 a+ v7 w2 Y: E2 A+ E2 ]5 W- i while(parentBgColor == "transparent") / y; I9 X' ]* s1 u* q; V5 h
{ @4 p8 p6 G. X+ p& g; Q' z, {
3 A% u6 x% @* j# X* R) a- M7 @ 4 B3 r1 ?: _& } ]8 \
if(parentNode.parentNode == null). x* |/ F% ~+ B H
{0 b! J5 C, V" G ?
isLast=true;
. F4 B* |3 G. I% D a* V/ X3 _ break;
9 ]% j; U7 U+ N- C& K: N }0 P# Z6 f/ Y& A
parentNode=parentNode.parentNode;0 c& H1 S( o; J+ [2 e2 L. f
parentBgColor=this.getobjstyle(parentNode,"background-color");8 h8 j/ a2 l% A% O0 I, \
4 r: E I5 [ Y! p5 m6 O if(parentBgColor != "transparent") 2 w# Z- ~/ N9 x6 i' D1 O0 e+ `1 w( N
{
5 v, J6 u. V4 o5 U0 L2 v break;
& y2 y' X$ |% s) w1 x$ { }
6 v( L& o5 i8 M }
: \2 g) I* w t/ Z' q if(isLast)
& o3 g- F0 Q, @- S* L/ C {" w. l( V; |; X' T4 p
if(debug)! ^" d4 e( N: r& Y- }% i) r ~
{! ~6 s( T+ {2 H
alert("last!!");# e0 {+ \: F# E5 N x- p
}# d. W3 B+ P) `9 N# V+ u: \
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ y* S# X* b7 x( `& M. ?+ q& s$ R
{' k4 K* J- J0 m/ b
orgNode.parentNode.removeChild(orgNode);
' W" D. O7 P I' R8 z% p# t1 {+ O8 D* d8 ` }$ h3 ]9 L" T( t }) J8 Q! K
}6 L, |! N8 W. Y! q, O# M
else$ L% b6 m- P* o" E1 V9 [
{
" n0 n' r* m' q8 @- S5 @4 y if(debug)8 |8 S5 v# l" b6 h- K
{. h- _; ?, r7 W5 v$ ]
alert("compare color and parent bgcolor!");3 O7 T) P1 o6 |7 K
}; p9 r3 X, k9 g% H0 w1 c* k6 w; h' F
parentBgRGB=getRGB(parentBgColor);
+ W) N, I g1 s( R1 n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 w: |4 Z7 Q* }$ X% Q% Z
{
, v# `* ~' x9 Y: o8 I! A: w2 p orgNode.parentNode.removeChild(orgNode);
+ s- _# h S8 T. M0 J2 F: \6 T }, |- T0 Z6 H0 k" z7 l
}8 [1 c! d7 w& w
}
" m \2 I) T* v/ l2 T }
; z- x( C6 t, Y1 }3 } }) n% T% B) X5 G" x
}
0 \. n: I. d' }# ?& } 2 o. t( o) Z2 i2 ^
/ u N, Y1 p/ D var itemFrames = page.getElementsByTagName("frame");
: S; D4 w a# {* o var itemiFrames = page.getElementsByTagName("iframe");+ G7 \1 {. p1 t& ~/ p/ @
$ V, ?/ w8 B* N ]/ H
var frame, iframe;
. @/ `& X- ~% q5 T if (itemFrames.length > 0)
W3 |; N0 l- w% k1 `: f1 | {
$ Y8 a! N* ^$ N' Z: j! k0 { for (var i = 0 ; i< itemFrames.length ; i++)
+ q/ B( y# o- U5 D; X- h( C4 K {
) u/ ^6 p" T/ E; z4 t frame = itemFrames.contentDocument;. T- t, E% r/ U% G* ^' c# b) K; l
this.RemoveHide(frame,objname);
* a1 N+ [, x2 [( d" J! L$ a- u }6 U6 `' @) Q j4 u9 H4 h' H' m
}9 w& j" J+ x6 c: }# r3 J
if (itemiFrames.length > 0)- I+ P& s3 ` y: K# m8 v* @" T( u
{
( \7 H5 Q. {6 q. V for (var i = 0 ; i < itemiFrames.length ; i++)
+ c1 b* M4 x; [* @2 q0 n {
# T" Y" [, X/ C- k iframe = itemiFrames.contentDocument;2 R6 X f: K+ z7 X$ C
this.RemoveHide(iframe,objname); ! P7 i2 T2 D' o0 e$ Q1 u% P
}
% `, J8 p7 t( r/ [3 E- A% `# G }+ f8 q) u, r3 r; l3 G _" f: d4 z
}
3 Y8 ~8 A1 `3 \) h) M- v catch(e)( {+ T2 d3 ~7 {4 A# j( ^
{
& L' t4 k6 ]' c/ r2 s if(debug) m8 o1 o" K E0 u$ \5 y) I' T
{* d ?1 w/ T6 w, D3 G' s f
alert(e.message);- [% `/ l+ E8 v# w
}
) S6 F" L' j$ m; \ }) I; E; h0 x' n2 M8 v0 f
}: }6 ?1 [8 x; |9 ?9 y5 J
& n6 _3 C0 E! e# _# I" O
}- {; A/ U( \2 E8 s4 x
9 I+ B& O$ Z s# D9 ofunction getRGB(colorString)! O* B4 p2 s# I
{, u6 K" G% k* f& W8 U1 A1 ~
var RGB = new Array;
1 ]6 O, a* L$ s) i/ _ var tempSting=colorString.substring(4,colorString.length-1);
& K! Q: U1 k; u6 |1 A- K var tempArray=tempSting.split(",");
0 R& X K' n" D+ t0 z
( j1 z z" V# V, ^: Z3 ~2 D& m RGB[0]=parseInt(tempArray[0]);
) T* s7 V2 f' [+ l/ N RGB[1]=parseInt(tempArray[1]);+ T5 O% X j! @
RGB[2]=parseInt(tempArray[2]);: C& {( s1 L j: R, u6 F1 ?
; z9 @* D$ ?! X# S1 {& u9 Z
return RGB;% z9 W5 h+ d6 X. I( ~3 V: {
}
, d0 e& X# @: q4 V: ?, E; f# A) G2 efunction keys(evt)
( X0 O8 u$ H6 O1 Z3 Q {
7 s$ p6 @7 h5 b3 h& z( P- e if(evt.ctrlKey && evt.keyCode=="81") 9 A/ {/ l" R, q& C# S5 S0 Z5 k
{ 8 p4 R0 _9 ], D; h! C9 q
CleanHideObj.on(0,1);' ?2 ], d: T v; M& N- Q; j r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % f0 p- Q! q( q, g$ {, @
9 T: l5 U, y; [( M' b
} + p7 q, D. h {! C4 Y' _4 N
} 2 _9 x5 Z1 b' N- R0 r9 G a/ C
document.addEventListener('keydown', keys, false);
1 W: D7 I+ G' p( H9 CGM_registerMenuCommand ('Clean Hide',
+ T3 j' o( w, b( h. }& dfunction(e){+ r: I) o3 T1 b+ ~1 j8 Y
CleanHideObj.on(0,1)% u0 w* ]' X4 C. W/ u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ C/ z! B7 V9 o; i});: N7 g8 y1 B5 L. q: x [" ?
|
评分
-
查看全部评分
|