|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . Y; u7 Q& z0 b7 n9 S
@8 T _6 H* q, S$ h5 D- y: Z火狐插件,用猴子; [; q+ s( _0 s
" ]8 t$ N8 j4 B% A- o# R4 [. uvar debug=false; * \# n- H6 B6 e9 N- ]
var CleanHideObj=new CleanHideClass();
9 j- `% r6 Y% c2 I- P3 i2 d9 ?, o, z3 W
function CleanHideClass()
9 I5 N/ A; K7 t7 }8 C0 [9 e. s{
3 N; k5 b4 y r( u0 `! ~
' H$ {, r3 U9 b8 k this.on=function(id,bMZ)8 S4 ~& T1 l X) V
{
& T. Q8 e4 _. X" R6 T4 C% F
: F0 D# D+ ~6 ^- [ if(id == 0)
0 L& i7 \/ i; b- W {7 k" A5 Y: ? f
var page=/* document.getElementById("content").contentDocument */document;
$ H% B# H. R* N5 {% X this.RemoveHide(page,"span");$ K* m, F$ b9 N5 r4 C
this.RemoveHide(page,"font");7 T+ J# V. s' {: _/ r
this.RemoveHide(page,"div");
* Y, U. `' X; n this.RemoveHide(page,"p");+ ^. I) _2 a7 }0 ^! i( D$ C! g
$ M. u$ R* F1 C1 U: e }3 @/ e, \: ]! o6 {
* a( [6 {" Z+ [9 X" ?' v
}; I' C% W0 f! R8 F% K. |4 v
this.getobjstyle=function(node,prop). {/ \5 G$ A) W2 u/ u+ i
{. z: F0 m& ~2 Y9 E1 x$ j
try
/ w# B; u/ O* c. i' b {
% C2 ` W8 v6 O8 N2 w1 k( ` return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ _, `9 O: E' Y5 ]8 W2 l }) ^1 h$ h6 }- S8 ~& C+ l: L) V2 u
catch(e)6 b* \' A p1 f2 G3 b
{" g5 e* d' J4 D% y: K- K
if(debug)
2 d. w" D" s) r# r9 c {
" |6 J9 r, v" @9 K alert(e.message);
$ f0 ]" x; c+ ]8 g- t. y" O+ S }
! V! y4 R7 h" [0 u2 `# q4 v4 M + [* ?& W4 v9 V: K: I
return "200";
; Y0 ?" E' \0 a5 R. P1 S8 C7 x: x } X( f n- f+ p8 K" I' ~
}' a o' Y" M; E; ^: U" U+ z! p
7 e7 M/ w0 v4 y; q4 J
this.RemoveHide=function(page,objname)! k" j8 n( i; b9 V) Z
{
2 H7 P6 h6 g( C* Y/ a try7 ~4 Y2 D; A4 f
{
( p* P0 J7 e7 {8 }2 W! ] var minValue=15;: c9 Y$ j: ^- d/ V& `' R" M3 f/ W: a
var objs=page.getElementsByTagName(objname); ! M; f7 H: S; Z) G8 M
5 V J3 ?- A# r' f8 _! q0 u/ W if(objs.length == 0) * \# K* W9 A3 ] k* |# y' | d) F# F; ^
{
' z2 F- t$ e; M4 z if(debug)8 x4 X- h" _; Q% K/ _! ~
{6 T: s; H7 L) D$ S! x! M8 c c
alert("no object found!:"+objname);
8 q" g* s4 _) }: g7 R }( x) r. Q0 Q- \( y: J3 }+ ]) A
}
5 R8 s% \; [ ?6 y8 S4 p8 N7 }% x& D else" k* `' |6 ^& E+ n* K
{
3 `9 b ]8 [4 c7 W: Z: L9 C9 y
/ j- I9 l* f6 S for(var i=objs.length-1;i>=0;i--) K k! Q+ {5 k2 x4 k5 K
{
9 \; c7 U) c: c$ [6 @ var node=objs.item(i); % d) K( V% L& c4 X5 q
% V0 i' @8 W3 v! i$ n
8 `' ?# A! f% H* O# y2 | if(this.getobjstyle(node,"display") == "none" ||9 O' M9 r7 k/ a% ~8 z1 Y
this.getobjstyle(node,"visibility") =="hidden" ||
) a+ w4 R q/ z: D parseInt(this.getobjstyle(node,"font-size")) == 0)
0 b+ k4 ~; p6 q9 e0 T" t# ]0 D {
% b9 e+ L4 M' {" J% j; t3 T5 g5 U if(debug) x! g/ c3 ^7 K2 _0 Z L3 B: i
{" q& X/ G' U, F8 l& a. ~$ L% r7 o
alert("remove invisiable!");5 Y v+ N5 g8 I3 S( e
}- [9 Y, d+ Z! c- ^- C: g) S
node.parentNode.removeChild(node);
7 K2 ~9 D/ H) j. E X8 f+ V( w
$ \ |, ?1 [. v2 S+ F* l R3 { }
* A( v9 X- V, ^" A else
+ c+ c9 x. ~( F& n$ u( r {
% ^, J# M& Z- i if(node.parentNode) % S. f' w7 ~7 }- B" o
{
5 q$ W7 Y% e8 U$ V# W+ t7 V var orgNode=node;$ R& w! Y9 q, O1 d6 F9 O
var orgColor=this.getobjstyle(orgNode,"color")
2 g( n$ v k; g& K: I$ H var orgRGB=getRGB(orgColor);
% K4 r, L d& h: e0 R9 L ( t7 R" z2 D5 z5 N2 M- D9 j
var parentNode=node.parentNode
! C& d9 F8 b8 v( N5 f( V var parentBgColor=this.getobjstyle(parentNode,"background-color");
( }1 F5 k3 ]9 Q- I: j' k! k
( Z( K0 B& n* [8 m2 z0 C0 L var isLast=false;
# X- _, t! \+ W: ]) n/ G' {7 A' u , J- u! B# Z' k5 C
while(parentBgColor == "transparent") ; E; Z3 F* d1 }: h0 Z
{. ^, `8 G- _1 t
3 M8 h+ }& Q4 D3 T
8 o: L- s- W }# n' h if(parentNode.parentNode == null)
) @$ U. b: `; @" s; X {
/ G( f' E6 N, ^* G, }/ ~7 k5 a isLast=true;7 y0 g; G1 i! n+ v( {9 p4 X
break;
, i$ ^) s% J& w% C }
8 L0 g/ [; D" b/ H% a$ X parentNode=parentNode.parentNode;
0 x1 D/ C3 H9 a/ V* A parentBgColor=this.getobjstyle(parentNode,"background-color");
5 Q7 a. _4 q; s# j% L j( T7 q7 [) }
if(parentBgColor != "transparent")
3 |* l% j3 Y+ F {
/ ~1 V+ ]7 @! \$ H break;! [8 R5 y! f2 n) j
}, p, S% a3 A- G& ~, G) u; i
}: [( C0 [; O* j/ s8 l/ C* F
if(isLast) 3 L0 `, Z8 t5 l' e m8 a
{/ v' J# m! `/ U5 Y R. S' o
if(debug)# Y2 y+ q) z6 \% _9 M& q: j
{; `0 L$ d) R7 j
alert("last!!");
8 l! h# j% }1 f$ B }
& I+ z% W) y+ F- {8 E6 y. } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 u3 u" s" S7 S- e% T3 E; \ {; I+ Z2 S9 r- k( p3 [4 ~* m( w9 H
orgNode.parentNode.removeChild(orgNode); # v0 ]3 ^, ]: r0 W5 w
}/ e& ]: E8 Q1 ^* O9 A
}% d+ V' v& }* D0 @
else @* b- |2 ], ?# y
{ x9 Z2 R% I* z6 }
if(debug). N& m9 \( m) V2 Y
{* @# i+ I5 a d' j
alert("compare color and parent bgcolor!");2 J) m" m+ b$ D# X6 r+ S: O4 q
}( c0 n( v1 N* x0 x7 N% N
parentBgRGB=getRGB(parentBgColor);
/ |: l% X. e5 J6 \. z% N. P3 ?. |& d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 e1 h! ?% V( V) ] {" U6 a7 V8 \! |5 K4 G) \7 n
orgNode.parentNode.removeChild(orgNode);
: \' E* W+ j1 o, L( ` }
6 O) V0 p$ o$ s* A( y0 t }
$ N( a5 c2 e1 m7 R# z }
* l" x! l# M$ T' ?. U }
, z; [3 ^' @/ Q) A% \! P; z |( ` }; o+ v0 a: i7 I8 ]* V! K" `+ ~
}
) P# W% y1 A# m4 r% u" K, Q % l8 }! C0 z5 _
. P9 k$ x2 ?- _) P* N/ W. ` var itemFrames = page.getElementsByTagName("frame");
1 q% `8 C7 R) V1 |) s( A0 r var itemiFrames = page.getElementsByTagName("iframe");
) u* R' k7 p- Y1 g% ~9 [ " ]8 L( M) {- ~$ E; e, W
var frame, iframe;
* q; r2 m2 ?' Q0 x+ s4 ?2 A( G if (itemFrames.length > 0)7 H I& k" {9 Y/ }
{8 X9 Y- L. g* d/ y$ H( H
for (var i = 0 ; i< itemFrames.length ; i++)
- I- U2 h% |; i1 m5 ? {
3 [5 c; {+ h$ Q frame = itemFrames.contentDocument;8 Q" }1 ~3 {3 E8 f7 @! ^
this.RemoveHide(frame,objname); . M- e! I5 V" t' e* X% S- {
}' Y0 z8 E, G( U1 h2 {% B4 K. J
}! n( l5 k! {) ~# {0 m
if (itemiFrames.length > 0)
) K+ m5 x* q. s2 V4 C4 b { p! p1 p( x- I. Z$ F
for (var i = 0 ; i < itemiFrames.length ; i++) 3 N+ N: @4 @! V# R; U
{0 V. D' Y, A/ z+ Q& M/ T+ S! |0 L, |
iframe = itemiFrames.contentDocument;
# s, _. X+ v7 S. I e4 F* ] this.RemoveHide(iframe,objname); / u7 F) l3 B4 v1 F
}0 _) O% T G' Z0 M4 S+ n
}' g2 B- f! ~3 M3 W- o% t7 ]% M
}
; r! R- S1 j. b% X3 O" L6 j catch(e), S8 z+ V9 C) @! m) N- k, ~
{
% u; ]5 o/ y+ O if(debug)
8 Q8 Y4 `, ?* G {8 m _+ |+ H }- Z) t T$ F& A C
alert(e.message);- x; Q+ S4 R( Z/ H4 a# b
}+ Q; W, q8 n( L2 h8 v5 S9 ?
}
6 Y6 f$ K8 V- e+ A- \& A }
+ V' X% Q6 ^5 h$ _3 S y
) {; O4 [# n$ X# i( V}( k$ m* ^4 ~- T3 i
; K( _- u/ |3 X4 r* y8 X* tfunction getRGB(colorString)
! W# R/ z0 M7 i' R% k, P) Q) Q. }{% J: E2 [5 S! l4 c+ C
var RGB = new Array;4 @( {+ {! w) b4 b! y+ n3 x8 m
var tempSting=colorString.substring(4,colorString.length-1);- n& E- L$ d1 J' y/ m0 h! b
var tempArray=tempSting.split(",");- t4 T# [6 p; R! X5 \2 S+ a2 K4 S; G
8 y2 S& V5 w$ |+ t RGB[0]=parseInt(tempArray[0]);
8 d8 V# s/ W1 Q! t RGB[1]=parseInt(tempArray[1]);1 [3 t/ ~& ]1 v
RGB[2]=parseInt(tempArray[2]);7 L! e `& ]; f S l- h
; w5 K i" R. n/ z return RGB;& R6 t3 x" u s+ I
}
2 T( b8 `0 w6 R) r6 S2 i9 P5 kfunction keys(evt)
. H1 J( V4 b8 e/ y. l" p( Q { + T3 d( b& c& z1 ~
if(evt.ctrlKey && evt.keyCode=="81") 3 ] v6 W; V- K3 P; I6 ~( \
{
: ~ n' S+ S3 O CleanHideObj.on(0,1);
8 ?0 w' A! f/ k5 P6 ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 T% u+ C: ~1 Z" ~( w: M# t% B9 z
) n' S8 s1 R9 F# N
}
7 y# D! Q2 E" Q! O- ` }
5 M$ J& a5 N; V2 P* Z& V' Ddocument.addEventListener('keydown', keys, false);
! f6 D- i# h5 CGM_registerMenuCommand ('Clean Hide',0 h( a! s% f' T. V H4 o3 n
function(e){
+ l8 X2 c' |2 u$ V9 O$ x1 M5 [: T, ?CleanHideObj.on(0,1)
6 m1 T. S3 F. [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
d$ o" s# `$ J5 t7 K" S8 b; ~});5 G. d1 f2 ^9 n9 a
|
评分
-
查看全部评分
|