|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % T$ [& O$ E5 I/ d
' G2 q. F# k2 G; k' f6 h6 _
火狐插件,用猴子+ `8 q) E h L6 p
, y' H+ z4 k6 s- s$ ?
var debug=false; 4 C$ }' Q3 H7 S/ S- b
var CleanHideObj=new CleanHideClass();! _. |# X; y# S5 K, E& N: w
1 f& }, W$ M% k: {. V1 M3 s
function CleanHideClass() 4 Z7 O6 X. Q/ L+ I; H9 s2 E
{
/ O2 I) r+ M7 P- J: |5 i; t) v - r9 a' j$ I3 a/ k9 `
this.on=function(id,bMZ)
; D7 Q7 C4 \, H {+ H# @' B: ^3 h+ k: V( F& D
7 K3 J2 _( _: Z6 q# _. g if(id == 0), L: h2 J: t& n% T' C
{
6 I; d( |: c& n6 n! \9 j var page=/* document.getElementById("content").contentDocument */document; 4 {6 N0 R3 H7 p. t9 {( B; ^
this.RemoveHide(page,"span");
, m2 @+ X- R6 a this.RemoveHide(page,"font");
' o& R- S+ i: O this.RemoveHide(page,"div");' N. ^6 W) E0 G) v
this.RemoveHide(page,"p");
) w, S# y5 b- J, z/ m 2 _- h) z$ V( r% T3 _3 M1 K* X
}7 s0 I, b( N ?( Y0 {/ c
# Y$ J& l: U# ~3 h& A$ q }
$ J: F0 U$ Q" K this.getobjstyle=function(node,prop)
( N H( k/ e& p+ [& g {. |6 `: }4 j9 e( M4 y/ t0 M
try; O/ D' E2 O. ]4 _2 R; \( }" {
{* u! p2 M. ]5 {7 Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& k& _1 ^- Z8 ^& i }
1 @7 z- m5 L* j8 j7 l0 C catch(e)
' X- ?/ X2 R& A. Q {1 S3 ?0 p6 V) F# q+ I# B4 L
if(debug)& W" v, e% d$ L# g% b5 x. z' r
{9 N; X* W$ G9 v
alert(e.message);
8 U5 g( b: }" Y5 U- T- @2 a }6 q. O& C( G; p6 k8 T8 p
: A; I1 t/ u2 h: }6 Y return "200";. L( O3 c/ c7 m1 D0 x
}
8 o4 J) X3 q' b1 l9 D }
1 s8 r; D% e0 d) q2 O v! j& |# o- O, v
6 E# g% S9 t e q, @" j# \: B* a& ~ this.RemoveHide=function(page,objname)
; v9 k `, \( |/ e- O {( v P7 [1 }! s& ]2 w1 a4 e
try
* o+ X$ I. x8 G% t4 F0 i' T! @ {8 E. W9 v3 g: v, x) `" ]
var minValue=15;; }2 h9 a7 y* ?+ {) q
var objs=page.getElementsByTagName(objname);
! A, U% x9 c5 m! }
p/ g5 W+ ?# e. Q/ j# Y5 u if(objs.length == 0)
3 f0 b) w M) P$ p {
, n( b# H; {; k9 o3 j if(debug)
# g% I4 g' ~& Z {
4 d: f. a5 N7 Q8 V+ u9 [6 E1 ~) C alert("no object found!:"+objname);
8 P5 J& e, l( a! c }
; K& N5 `* {0 K: J }
/ _; ~( I3 Y# p, V4 U else
3 R( h4 [0 Z8 L {$ T. Z) e8 h: K6 {: O
/ v, l8 u; | ^* j! B8 _ for(var i=objs.length-1;i>=0;i--) ( X" x) }0 l( z. K3 a8 c6 e
{% [" {' b7 q2 q$ f0 q- V7 o
var node=objs.item(i); : s/ V' `6 Y0 |# X0 p6 ]
- v0 S3 D1 | _4 x. @# f
! N. S e& {8 L- v G& I2 S
if(this.getobjstyle(node,"display") == "none" ||
/ l6 |; Y6 c2 M, O this.getobjstyle(node,"visibility") =="hidden" ||0 Z; `2 G! s2 Z6 _5 e
parseInt(this.getobjstyle(node,"font-size")) == 0) ) u8 T9 H0 Z* a
{: G8 y0 p: K! f9 _ D
if(debug) w# N E0 v, l3 ^' i
{! g% B0 [$ S, x/ A
alert("remove invisiable!");
2 ?6 N! q% p( t# Q. T }' [- [0 P4 [' j, r, j5 b
node.parentNode.removeChild(node);
) T/ a4 L7 `. m4 Z1 b& I 4 T1 ^. g) d; m8 w2 c4 _' h( Q
}6 ]9 {0 {! M9 j9 ]) D; G( b- O
else % f3 @$ l& x$ P4 [& I: d$ X8 q9 G
{- a- P$ X' T% Z% o) P( k, b7 V
if(node.parentNode)
) b( J# w$ s$ q ~ {- _! G9 \1 U7 ^1 j% b8 O. K
var orgNode=node;8 n$ \1 t( [! X' ]* _7 R1 A
var orgColor=this.getobjstyle(orgNode,"color")
0 Q8 K5 G8 F* K" p# {8 n# { var orgRGB=getRGB(orgColor); * ?$ i9 J: o* R) N( o2 B9 ^
, s# R2 q! } `8 O- S
var parentNode=node.parentNode
% i/ c; ?, f! w6 i var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 F) r z& ]) \+ |* Q, d $ S3 y3 K( T3 S8 p( |" M
var isLast=false;
0 O" a" Y- u$ s: J8 o
. s- ?$ l" |, |- ~# i while(parentBgColor == "transparent")
0 c. e" `0 V+ z5 |5 f9 z$ B {( O; Z% D+ w$ c+ @; F
- P( |! ~- u; ^( a
9 Q3 F$ ]) F2 P9 J) ]6 ], s if(parentNode.parentNode == null)9 Y( J7 x6 v) T* h# d6 [
{
- a2 |8 [1 x9 R2 A isLast=true;$ b/ Z/ Y* i$ k/ p) G
break;: s; ?# w7 G" }
}
6 Z! |* X' |7 J* A8 h$ O parentNode=parentNode.parentNode;
7 p& M/ Z2 J* d6 a2 A parentBgColor=this.getobjstyle(parentNode,"background-color");3 c+ S- ~4 x0 w, L/ Q! H. J7 ]' I2 W
) ?0 s: z j u0 v$ r. q. D" q/ x
if(parentBgColor != "transparent")
0 [7 N% a" k6 } } {8 Z6 R! }% O2 {1 z* b0 W6 s
break;8 K& C2 j, s, m% ` O4 n4 N/ G1 ]! k4 Y
}- c% H( u5 J5 b1 o) ?
}; S) k" H, w3 \7 [
if(isLast)
+ l; a7 k( T0 P9 y: Y. o/ O {
% d V6 V1 B* H+ l& h: A l/ t; M if(debug)2 I0 T4 g6 a+ Y7 X
{
, n: d' n; ^# m7 Q/ I. e alert("last!!");. @* O4 U e7 J, Y+ k& i* f8 q
}) _) |! G, @ n) S4 J+ G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 D7 z' \4 C5 H0 }6 b {" B0 `$ `4 t1 }9 k
orgNode.parentNode.removeChild(orgNode);
# d9 T, e' m3 `0 C' K }
6 Z9 }* e! N7 w+ `, L4 { }
2 F' W& \" v6 r3 b2 Y# X else
" H- Z# L$ K+ t8 S ]' T! E2 |" W8 ^ {' `2 c+ t/ E7 V
if(debug)5 d1 e+ w& }4 B M% B
{
: }) k" @: H( {* S1 W2 q3 V+ j alert("compare color and parent bgcolor!");
9 m6 z/ ^" a! g) i" [! z: T }( b( G7 }1 d" e+ J: e! l# L8 ~
parentBgRGB=getRGB(parentBgColor);$ a4 A5 D% ?" T6 c! }- p3 j
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 T5 z2 b/ ?- z7 n: d( X( c6 U
{8 N7 r5 e) u9 q$ l0 x# [3 n; D
orgNode.parentNode.removeChild(orgNode); 7 `1 {9 r2 h( K# i/ l4 ?1 l/ B, j
}* I I( |2 n# p# x/ A
}# r4 S1 u& s% M; {
}# c! P& A8 K& ^# u
}
- a" Q5 ~' P7 F( `. a }
- I) g" n" P& |& J& k, n }
" y9 v; n% p: o; _/ I7 a- e
Q4 ]4 ]" h& T$ I8 Q 1 b- s) A2 O% O$ b+ W! V
var itemFrames = page.getElementsByTagName("frame");
2 {5 k# _% b9 V& B+ k! y b var itemiFrames = page.getElementsByTagName("iframe");4 J7 i4 v% \/ y8 b$ V/ ~5 V6 e
$ ?. B5 a" n- |& Y- M
var frame, iframe;0 b. `" @+ Y- s
if (itemFrames.length > 0), i6 J4 \5 y F
{
4 J$ l1 L8 V1 y$ h for (var i = 0 ; i< itemFrames.length ; i++) & ~' o! @3 X- A
{
$ T( [: e1 H7 Q: x5 L frame = itemFrames.contentDocument;
" q- d# k8 s% z0 X+ m# E this.RemoveHide(frame,objname); 8 I4 c/ C/ k9 q" t
}/ {4 G1 |" \( R' G6 N
}
9 d, D8 L& ^9 `5 k0 V if (itemiFrames.length > 0)- @: s! |0 H8 s' Y) D; \
{
4 \! n( E! O W* m% f& ^; S for (var i = 0 ; i < itemiFrames.length ; i++)
6 f7 O, _* l' Q3 W! S+ h! q9 a, h6 t {" H, M- Y% W2 m! X1 v/ R, I
iframe = itemiFrames.contentDocument;
6 O* S6 J6 ]/ K, V2 v' i this.RemoveHide(iframe,objname); , I6 E8 y5 T6 Z# d- ~" _
}4 X, C2 b+ e7 j. t8 x# p
}( n0 a, U* L4 b7 Q$ W+ G! l f: i
}
; ^- I$ f$ s# o) h& @ catch(e)
( x1 n6 f3 _' I6 Y {
/ l i+ u, _1 x if(debug)
0 E5 W" T# k: z7 e {" Q- E! D. C6 `
alert(e.message);, G+ G$ m' l: J" v2 S: w2 n/ M
}2 ?6 E7 L4 I) S; d% ?
}
& k- C9 G6 y* L( N }- \+ \$ u5 h2 G; T
5 M/ D) r$ a, I}
" _3 U6 y( Y- F5 \! q( K' k/ c1 f7 E: M3 ^& I. }! u: l6 V
function getRGB(colorString)% G1 p6 N" A4 K( w/ w" }
{# I) ^8 S" J4 {4 u2 v- b
var RGB = new Array;+ U9 c5 M' V2 o$ p, |( Y. l
var tempSting=colorString.substring(4,colorString.length-1);
& L5 i. i; V9 K9 C; X% L var tempArray=tempSting.split(",");
8 H" {+ z& T) S) R1 R+ S; E1 k6 H3 e% m& A
RGB[0]=parseInt(tempArray[0]);
# Q* h( M+ X! c( y RGB[1]=parseInt(tempArray[1]);
% u+ e1 |) c: M9 M% i0 s5 r RGB[2]=parseInt(tempArray[2]);/ y3 e) V& z; }& E. F' G
$ `# s3 g0 H0 C7 w% N
return RGB;
8 l6 C8 C6 m8 q8 c. D}9 C) h9 q6 K: H1 x1 K
function keys(evt) 3 j( w, h& }6 O* H7 i) Q3 D" i
{ / z, A2 B( T5 \6 V
if(evt.ctrlKey && evt.keyCode=="81") 8 d* E/ q, _6 N$ W
{
3 `$ Z) {' x5 `! G2 u4 P D2 v CleanHideObj.on(0,1);% k2 i+ L3 O }+ H3 J* v9 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 z( f7 P# W/ Q. e; [ + v% R, P, a+ ]! R* x9 w* q5 w) y
} 2 k# O" [* V5 r% Z
} 8 M/ y- k9 ~* W& z/ f Q
document.addEventListener('keydown', keys, false);
" |4 s/ X: ^+ |0 PGM_registerMenuCommand ('Clean Hide',* N/ U9 N3 S( b( Q3 O
function(e){+ m! ^6 {! y b8 ^
CleanHideObj.on(0,1)$ z# K2 I6 |7 t; ~. M# M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" ^( h/ A/ R7 s6 H$ z% v
});# h2 X2 J/ n; u N1 f
|
评分
-
查看全部评分
|