|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 y8 x q- R7 N0 e c8 h! }6 u
2 G8 j) j0 ?0 i' v* R+ V+ d% `8 y火狐插件,用猴子" t# J$ S/ t: \1 s, C' u. O
+ _! Y- [) ?4 @var debug=false;
$ O% R( K: v6 @var CleanHideObj=new CleanHideClass();
/ v! q0 _$ K3 W6 l& S8 c0 P0 `1 H! T, i# K* o# [ m! ~" c- m
function CleanHideClass() / _; z4 j: K+ Y D3 n/ X
{ : k+ E2 N2 I8 u
' ^+ R- r u. m9 g
this.on=function(id,bMZ)$ @& Y8 O4 T& T1 U0 \
{# A7 _2 k: t2 [% E: b+ O8 n
& C- A3 D8 I/ H- @4 Z; R4 D if(id == 0)2 Q4 c. t$ |* v2 K3 o, X4 V' d
{
: m& w0 Z4 [3 W var page=/* document.getElementById("content").contentDocument */document;
6 Q$ G4 |- ^2 o5 V this.RemoveHide(page,"span");$ S" L0 U' g4 N1 m
this.RemoveHide(page,"font");- G" O1 n4 M- o- Y3 X5 r6 o
this.RemoveHide(page,"div");
0 M4 K* F! m3 ^* G& n1 c this.RemoveHide(page,"p");) Z5 y* j8 [ n* M. C0 |
" n5 W0 u9 j& u- z. c9 A }* j# }/ Q' C9 G. G+ b
4 Y+ t m3 _" j
}$ S' z( G9 U# k$ i8 S
this.getobjstyle=function(node,prop)
; o- i, X9 H& J4 X0 K8 ~& I4 o {( w. h, } a& A5 m0 R" l0 J6 c
try6 L' `" z3 N9 h
{
7 U0 a3 e: R' r" O0 {& N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ X, @/ l! l5 a: L: h
}
( p1 K% B3 Q3 [/ q catch(e)
9 I6 s2 \; N4 C$ E! x! P {
7 Q" `, R0 s: I if(debug)9 M+ B5 U! I0 E8 v& V4 y
{- r- _1 Z* r2 Z
alert(e.message);
- ]: O8 Y# V# C, F* |/ o: U' i; u" ~ }6 i" F4 \5 b' K3 S1 a! B- B
( e" E. c8 s8 M0 ?1 w6 h. ?6 s! p$ R' ] return "200";
( q6 S7 P- `; P/ l) I( p }
5 C# f* i# h8 h1 u5 r. b4 l }
: U4 N2 r! N2 ~2 h 6 f/ D) {( M1 ^9 [
this.RemoveHide=function(page,objname)& [0 ]5 |9 c" k! T! W2 D( K4 l5 y: D
{
% m0 W, c& i9 U* z try
: ]+ p$ B, h# C( Y ~- q6 s2 X {
! w) ]3 J+ `- m& _2 ^4 d' c$ S var minValue=15;
6 e8 B7 i# U$ [4 b var objs=page.getElementsByTagName(objname); 6 G3 I0 v* \2 R: n* x9 }
* Z% ?0 T/ [. T( g7 R6 O f8 y
if(objs.length == 0) 9 Q; |+ [5 d; m! {) y0 C& |! N
{
. m: n( Q& w( \3 K5 d if(debug)
9 Z7 |% R& Z9 y( M {
/ T) q& G/ `; W9 y7 D: K6 ? alert("no object found!:"+objname);
& j6 i7 w R8 S% P. q' H }
. G$ B$ a$ S2 K }* s0 }* q- Q# {* A
else* \7 y# f- T) G1 N& i# Z
{* k0 L. k% q3 I0 g
" H% i& W6 }* ` for(var i=objs.length-1;i>=0;i--) 0 |) f z. R6 V% y& h
{9 I; J" D" f u k2 m! R
var node=objs.item(i); 4 r. D# {$ H' v! W
; t( D4 c& [/ P2 b, K, F ; `% o. f; K$ L
if(this.getobjstyle(node,"display") == "none" ||
% r8 E1 o% c, y' ^# j% h2 e this.getobjstyle(node,"visibility") =="hidden" ||6 ?( p: l+ T( n0 F# y
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 s; O' P+ p! k* z$ a6 R+ t
{+ B% ~( @, `4 K
if(debug)" R a+ U* S# G0 Z) W; e
{
) H$ V D1 c* b f" h, K alert("remove invisiable!");
3 o% n( z) e, m: b! u }
8 B# Y- y+ l: L* f7 w node.parentNode.removeChild(node);' P/ f5 Q* M4 R/ u+ Z2 N( `
- R2 A- \0 x, c9 N2 F1 c }
) f m1 B9 T+ v" u. o b else
7 k/ O7 ]4 P0 F9 n1 ^ {- L9 m% t7 I! j/ z. `1 r: f: j! J0 o
if(node.parentNode) 7 b7 G- ^4 z/ k) [
{5 W6 }' s+ R* {$ m, ^
var orgNode=node;
" w* E: ]$ B* r var orgColor=this.getobjstyle(orgNode,"color")
+ N- A: K+ A) F1 c* W" l var orgRGB=getRGB(orgColor); 2 H' z0 a6 F+ O! J9 p( @
5 v- G( E5 _! z var parentNode=node.parentNode. @/ K9 J) z Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 C7 E0 I: l; D, }( T+ f/ M8 F
7 G" l+ \3 a8 s3 X var isLast=false;
& C* `5 r% [: ^3 E 6 d: r+ ?: A/ d7 z" _# z2 A. k
while(parentBgColor == "transparent")
2 Z# V! r% R" l {
, Z* D6 Q" u' j8 [( @9 g
" M0 O/ G! I8 _ l. G7 P8 C 2 T' P; }" v) c" M
if(parentNode.parentNode == null)
+ G. A9 e) I' Y0 q/ p/ ~0 X2 O {9 @) E6 R' r( {
isLast=true;2 A& C# Z1 Z7 N0 |) s; j a: [
break;' [. j1 D1 u2 s# W
}
) y) |5 X( [3 ]- V2 k- X; {: L! _ parentNode=parentNode.parentNode;
2 E, \. n' L9 y, G# ~6 s( d parentBgColor=this.getobjstyle(parentNode,"background-color");
8 {0 I$ A0 R- W$ R- `/ a
; \/ a9 p0 W$ t2 r; \# a& Z ` if(parentBgColor != "transparent") % t) e$ m- e9 B
{
8 u# x/ v' p/ ], f2 ` break;
7 x/ O5 V3 ?1 R }+ k. s7 p# q$ n
}6 e) b# \1 z$ E2 F; N
if(isLast) # V5 a& \+ ?5 `" x* u* _
{
3 ?, U1 U0 ~; e8 X M if(debug)
/ Z& c$ J4 ?( C% R0 J- U3 i {
- _+ |3 V' o3 d$ I- }4 ]( u alert("last!!");2 }9 I$ R. h% @, a0 ?: [
}
8 N$ B" R, r6 e1 \! h3 k0 S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& @% u. q) J/ y7 Z
{
7 {0 Y3 y; W0 j- Q3 E- N orgNode.parentNode.removeChild(orgNode); : V9 I5 K- o" {' ]+ @5 I% `
} G8 j4 ?/ X% g
}: w) d( `3 b7 r- d! K7 h! h: T/ C; j
else1 @1 T% k5 Z# W
{: x3 ^! L* H: [( n, v# D8 F
if(debug)
4 t+ q6 N ]( D: A; C$ s$ X, M {
+ n2 K' h3 T* c' A/ K: z alert("compare color and parent bgcolor!");
1 Z# K8 P: B- B6 t$ w* L7 n: O- c+ b }( Y) M( s0 V9 N
parentBgRGB=getRGB(parentBgColor);
' a1 u) S+ I! r1 C: t5 Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 k3 d& J+ e* R" M1 i {
3 t4 |0 d6 S6 }; B& p( u orgNode.parentNode.removeChild(orgNode); 1 i4 }, @, i, M* K- ?9 o; F8 E
}
; R' g8 G1 q7 J( K6 Z; R }: O7 V* H$ o5 w* `* G
}3 a2 |& A7 Q9 y9 I1 b
}
* L& N3 w g$ | }+ ]; v' e( ^6 C1 o! I7 D; W5 M
}
6 F# t& u2 }" x
4 P; f, }, a3 { i: x. g+ A7 A/ @' X) F) e
var itemFrames = page.getElementsByTagName("frame");
! v+ Z( A0 v$ q* h; L( h ? var itemiFrames = page.getElementsByTagName("iframe");
2 M% _, C- w# a# | ' q. k# _1 Z6 \1 U2 K
var frame, iframe;: t# x4 ^9 @1 `9 x, u0 Q
if (itemFrames.length > 0)& G) |" L1 H% A( j1 y
{+ t- F1 Y+ h$ _% R9 \6 E) V7 L
for (var i = 0 ; i< itemFrames.length ; i++)
% v& L6 K }* e8 Y8 l: E {
) I: r E) W" V( F$ S9 ? frame = itemFrames.contentDocument;2 |5 J3 I; i- D e
this.RemoveHide(frame,objname);
3 V5 F/ ~2 ?* u6 J }* ~$ g* ~1 {9 G2 {
}
8 f5 Q# V* b& Q8 d% I if (itemiFrames.length > 0)
5 [& ?! B3 g( y- E/ {0 J {" S u# Z$ v5 B9 J# W
for (var i = 0 ; i < itemiFrames.length ; i++) " N& V' g3 ?0 U$ c
{
% Q& A7 v j3 f8 o. e iframe = itemiFrames.contentDocument;) r( Y1 b$ u" \9 {' C' A; B
this.RemoveHide(iframe,objname); - i# c1 |+ M" o C2 R! S V
}
# p$ R! {6 E+ }% x }) o9 ~" M- D# _
}) ~$ ~; Q7 \ ^4 K; n
catch(e)2 w- [$ Z7 s' Q6 H$ g, J: n# t( A5 }
{
2 D4 c$ a; O6 J) c; V, u1 k! n/ f if(debug)* _7 h7 t; H: f$ L
{
9 d# F! J& O) q; t alert(e.message);
; Y4 K7 _4 M. p }
( T4 Z/ ]2 b5 y" K9 [ }
) V: S6 C8 Y, m( X }. h) s: {6 [! X7 q! c: G- |
2 R$ N; a7 k" B2 |0 X
}
$ X$ [( b; @' K! J& G/ T) K& F5 C0 W3 v3 ~: j4 ?+ i$ D9 a3 k
function getRGB(colorString)
6 t, H/ M: \* K$ W) T{; ]2 G* X3 Y+ u/ a1 `
var RGB = new Array;
" D! M+ h" T8 B3 E% b3 q var tempSting=colorString.substring(4,colorString.length-1);
- {6 C. \; l K% f7 }( g var tempArray=tempSting.split(",");
9 X8 v' |/ k$ k" O% Q/ x& x5 k' T
/ W. R+ \: O( r; X! | RGB[0]=parseInt(tempArray[0]);
! o/ `2 t8 C4 a v RGB[1]=parseInt(tempArray[1]);1 [* a# W/ p& u; `
RGB[2]=parseInt(tempArray[2]);4 V3 u t( Y. x
# @/ z4 ]- Y# T! d' d+ T4 E return RGB;& l; j7 S5 @) u& K% C* {& U
}. [) _$ I, i1 q! R( ?4 K: O
function keys(evt)
$ P* v- S4 C4 F. ~. e {
+ u9 V- [, k+ l- w& d! d; i if(evt.ctrlKey && evt.keyCode=="81")
$ _ M0 ^ S+ G x/ y( U { ' E9 a% ^* ?7 {3 Y5 a2 D+ e
CleanHideObj.on(0,1);. r+ B, D/ s! ~, d3 ~. O$ a5 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 a, A* e* f( v1 |& p* w , K; ^/ H, ^) X7 F" K1 U* M, U% j
} 6 }8 F# }: Y1 A& [* O u/ C( e8 n- V/ W
} ! }: c k: m% Y' v* U; p/ t
document.addEventListener('keydown', keys, false);
* Z C- V0 z, K6 _$ ^9 XGM_registerMenuCommand ('Clean Hide',+ O/ l$ r) K& b
function(e){
" i, w: w) Y& U' jCleanHideObj.on(0,1)
5 S7 p' I# k J$ l2 Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 X% D. Z$ X- j' ^/ N0 s. b9 W});
& I2 q* @. m% H5 L9 @, O |
评分
-
查看全部评分
|