|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . y: B# V& P6 v0 z
% `: Z* g$ |" b7 a! M9 Y J火狐插件,用猴子2 h( A. I. z. B+ ?9 f" G
) i3 t; r' Z0 s* _* N. W' i
var debug=false; ' P f" H- l# D
var CleanHideObj=new CleanHideClass();6 ]8 _( u$ G0 d' M
' _$ A2 Q. l9 m: z& ~
function CleanHideClass()
' W2 ~4 L3 G2 W9 n& V, K{
: |$ S" `, c4 d! F! A1 p 8 S( {7 ^/ I, T h! i
this.on=function(id,bMZ)9 M- T$ V; ~/ c9 o8 H2 D7 b
{ G7 w/ Z2 b1 u0 q8 c+ u& H
* ~& k& `5 ]; V7 D if(id == 0)
+ T# h9 e+ V& z4 Q& J I# j {
7 X G9 G) l3 K1 M, N* x var page=/* document.getElementById("content").contentDocument */document;
: N5 q5 R8 |! X% m3 | A1 v. Z this.RemoveHide(page,"span");1 j1 Y0 A$ U9 J# I G) e8 F D
this.RemoveHide(page,"font");6 V7 _1 I5 R# m' a
this.RemoveHide(page,"div");
3 U* o: E; S$ h; i& X1 c/ Q- O this.RemoveHide(page,"p");5 I: G" G5 }- P
, B2 o, W1 m3 o2 _. t8 _1 o/ Z+ p }0 j. e2 U. b8 E H
) e8 t& W9 F4 J. k
}8 a- X2 A U5 Q
this.getobjstyle=function(node,prop)
2 Z1 B1 B0 W( q% I: I- g+ q {* ~" d% h1 Z! F6 z& D7 P2 c
try) \% f% i, S7 {9 H9 S) u' }/ V' Y! r p
{ X3 Q. R5 N/ `* t: D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); p, f. l( K% B9 u/ W- ]; A
}1 o! J" |' I; P# |8 o- y" C( h
catch(e)1 e! F! I/ B" p" j& @3 U
{
, t' p. o, m- G0 a9 d: h+ E if(debug)! y: E9 n2 K v$ L- r4 k4 x5 U7 O
{
; J$ O( y1 a" W# t alert(e.message);. l# A2 |! k3 Q, g, O& e, W: @0 _
}; c* y8 g$ t4 a' ?" K/ v" P
" G3 }& q5 h( D1 G" k4 j
return "200";
$ u4 p0 J# U6 j* f( I: Z1 O6 I }; p5 h9 s& e+ T8 G3 Y' K' M. n
}. K, J1 C. V3 h3 F
7 `/ k* s6 I9 y% c! |3 b
this.RemoveHide=function(page,objname)
( ]6 \: \6 l+ I8 _8 ]1 J {
, l, @& i, | P8 b+ c try
9 f& \6 Q Q+ L" ]/ Z$ M {6 E& ]# Z7 @ C. A7 p. C$ `$ N5 ]
var minValue=15;! H. H& \. f q8 f! s# r
var objs=page.getElementsByTagName(objname); 4 g8 K0 @6 F v/ U9 l
3 Z1 N) o6 Q% b6 K) N
if(objs.length == 0)
' ^5 ~; n* z' u. x {
$ w: D5 i; u0 K& t6 G if(debug)! k9 V8 x* |* u) Y, L( n$ |& X
{
, K% f, Q6 O" }; E alert("no object found!:"+objname);
) |. q; X- N) i }, Y; v7 ~) T6 o# @* r
}5 r( {! A& m/ C5 `8 A" N
else
$ I" d% u4 X3 P+ \. t& d8 `3 T {' g2 t6 B% X1 J! W; y* g
8 x- p: \" x/ u: f1 `: ^/ H for(var i=objs.length-1;i>=0;i--)
7 m; d2 _7 t( f/ Z) r2 S' s {/ J. ?9 m' [. s2 x9 B- V
var node=objs.item(i); 8 m! q3 p: D/ V+ M1 K
+ i$ F+ A6 e% L9 B9 ]
% E- U/ Y( h* ] if(this.getobjstyle(node,"display") == "none" ||
# g' u9 \6 B# |& \& R; x! ?! k this.getobjstyle(node,"visibility") =="hidden" ||; _& I: {+ `8 Q3 S* R9 [
parseInt(this.getobjstyle(node,"font-size")) == 0) / e0 T2 A3 G1 C5 K+ }2 i8 s g$ B
{
@/ G/ g* u7 F* z" y3 Q' X2 m( a if(debug)
$ m& O& D' I0 ]: Y {
/ S8 d" ~5 {6 n+ J5 k, N9 d" ] alert("remove invisiable!");
- N0 F6 Q' w y& V" x( }) E }4 O1 b1 C! o. e6 ^: G6 k$ i: K( ?
node.parentNode.removeChild(node);
! X- X8 ?" [! t
/ V/ d4 c! k% @- h/ j7 t: {. v }3 d2 j2 b3 U, [: n4 ^$ v1 g K8 G
else
2 ^$ J! t* _. W5 Y, ? {
" n1 O& F! g* ?$ p/ I if(node.parentNode)
+ ^. F# }6 l7 g1 b: l {
! Z. _* t# m8 g6 M, V var orgNode=node;
- K2 I( k9 N" p _ var orgColor=this.getobjstyle(orgNode,"color")
% r. S/ w; c3 q! ~ var orgRGB=getRGB(orgColor);
( ?9 w9 O1 `4 T0 v
/ M) E% c S; l1 E/ L6 }2 _6 A var parentNode=node.parentNode3 Z( j! ~# z _* Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");# t9 Y6 b, ^2 Q+ `' k
O9 i2 a0 @$ G8 `; F+ @: C9 O& _ var isLast=false;- Q% m; y) J8 n+ ~ r2 ]
4 h0 L8 ~; T; C- B J while(parentBgColor == "transparent")
' V( }5 f2 B0 t2 O, O {
, r: A# T Z7 G6 G
\& g7 J7 s. o9 N9 |; X7 T# _. t
$ g0 b, E2 B/ `2 Y if(parentNode.parentNode == null)
: R" S) v$ H7 g. A0 R {
( [2 {% Q0 v M/ [( j/ d$ b8 ] isLast=true;
* F# E& q) L8 O0 x6 Z* r# S7 u& Y break;
9 K( H, l; R3 K' v6 k8 y2 I5 P" N }
% B: j! M7 S' h `9 q: H parentNode=parentNode.parentNode;& h8 q- D' f9 C0 m* m
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 s, m- w c4 p5 N/ j* E$ k
. N$ u2 I8 d$ ]$ c% b' t5 e) F if(parentBgColor != "transparent") 9 N. G: q' g$ ]7 @: ?
{
- |7 m. o6 L2 E3 _$ [9 ~ break;4 O( t, e! s0 L2 h; m
}# S H7 a, K; P. y
}
3 p! v; P- y* g4 |5 K; { if(isLast)
! u4 y* A ~0 T" L& r1 K {3 [, ?& |8 V& g0 J
if(debug)' ?* a) B' |' A) [0 ]7 D7 x
{# ~8 V2 x" O: K6 B0 `$ r
alert("last!!");
( j/ z7 e* J& _5 o6 p }
# f# `, J6 }2 E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 o+ l2 ~: x6 y" I/ {
{0 `& H9 I, A# e6 |
orgNode.parentNode.removeChild(orgNode); # i$ ~1 n' e* O! x
}2 N9 J2 \: l( F* r; E: x+ m
}; x" A% X: x K- `0 g6 g) |- m7 l3 \
else" b0 L7 R ^1 x& R/ P4 x
{
7 c) N( J1 ~! q2 I/ \ if(debug)
0 B' m# R t6 Z5 \1 s0 r" X {
% Y1 }0 q! D3 r% V A7 E+ N+ c alert("compare color and parent bgcolor!");2 _* u# b' u& g) G4 a
}
: G; \: }, P" X2 G parentBgRGB=getRGB(parentBgColor);
. ~$ p: `! n5 H% J3 K if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& b6 Z9 v5 j8 y$ m2 j( M# l {
5 v! t$ L4 d& Y) i3 _# h+ H6 @ orgNode.parentNode.removeChild(orgNode); 9 V) Y" _* m) j, @
}
+ x; |! d* P3 Y }
, ]5 o4 `4 V! L# H, w }
2 d* V9 ]3 M9 j: `( i3 _ }
/ w. Z" A/ H/ o* r+ X8 E" H3 M0 Y }
5 O8 L5 g5 q- K% e/ d8 i* A } E& p# e% S" |$ L0 ]
( n( F' z! y; u( [. F0 J+ q
+ {4 D3 I5 O* R2 G' w" B
var itemFrames = page.getElementsByTagName("frame");
: N2 B; s9 I9 _; I+ Y& ]4 c! K% E# ~ var itemiFrames = page.getElementsByTagName("iframe");4 [" Z; w4 G% ~& j! E" Y' p
$ ^6 F$ J& I& d/ H4 [ var frame, iframe;
9 {% H$ @ S) u0 z1 o2 V$ i. | if (itemFrames.length > 0)
: g% E* ~8 l( V {6 f! X. ?! ]0 |# @+ ~3 I
for (var i = 0 ; i< itemFrames.length ; i++)
! H" c/ J7 `( ~( f6 j! K: i' x {
5 n. N( \1 u4 E; Q frame = itemFrames.contentDocument;
+ ^1 T: Y# x9 h9 ^$ o# N this.RemoveHide(frame,objname); 9 e" q1 S5 e" m8 d+ W. h- r
}
+ h9 u! J' z; E3 E }
9 R/ L+ N( z! C! e' |- X if (itemiFrames.length > 0)
2 B7 U4 @4 J$ z# o1 l" H/ {8 a {
+ j/ [ N) [$ A; R for (var i = 0 ; i < itemiFrames.length ; i++) 0 R6 M) c! c& R2 U
{
+ O E# Q% @: v( k$ j, m' Z iframe = itemiFrames.contentDocument;- E9 X5 w1 ~7 ^ E2 e
this.RemoveHide(iframe,objname); - h: {, M6 \- c, p
}
* B' C% Q1 ^' w0 f }
! q2 f/ {: p. n8 y }% S3 n" M% A: X# B k" G- z
catch(e)
, G6 s0 ~- T' o {3 A0 q6 j7 p, `9 V! i5 l
if(debug)
' o1 t/ x0 U4 `3 @9 I) [8 D# D {9 @# E' ]7 C9 I7 V- k, R0 Q
alert(e.message);8 O, o Y& X+ X, O. T! t
}
6 \0 e I7 x' y3 U7 _% k }
# y6 ~' D4 t7 S; q# Z }- G; \* f4 h' \. \. M7 |+ r
) M( p' {/ E. f! j0 C}3 k: o X2 z+ l# k( i/ t. J) Y! g+ S
/ o: P, V0 u8 {* K9 s" efunction getRGB(colorString), m* @1 B2 v. i. q% ^/ V
{: [4 Z1 U j f7 S5 ?+ l
var RGB = new Array;
; j3 W" U; |1 V2 A var tempSting=colorString.substring(4,colorString.length-1);, i3 x M5 r7 l& s: N1 x
var tempArray=tempSting.split(",");$ x) K) s% z5 x5 l
6 v8 h2 y& s# j8 X
RGB[0]=parseInt(tempArray[0]);
. W; N7 U; G) s RGB[1]=parseInt(tempArray[1]);
5 m. x+ o f0 r# O/ d RGB[2]=parseInt(tempArray[2]);( ?# d+ g0 ]/ p8 k4 J
. i1 `9 C- _6 w$ \& V( | return RGB;& ^: T) r1 u! E
}
" L; a5 k0 x* [6 j- ]function keys(evt)
- l. I( Z9 `2 v { 1 K8 n/ ^1 Z: |9 w% F, r( a/ ?
if(evt.ctrlKey && evt.keyCode=="81")
9 ~% q6 V" r% o- X; h$ Q$ L {
6 V* W; a5 T( `* c CleanHideObj.on(0,1);
+ p; z" `! D; s; @1 P9 I6 P( ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 ~2 G& I8 _3 x2 S, p. r
8 `; u9 O: [; B3 |8 w6 A# b2 | }
9 Z5 D, Q1 b) q" F/ {2 q) k2 S/ v } - O3 Q8 }9 i4 b' O0 X! T
document.addEventListener('keydown', keys, false);
5 a2 K' K6 I. `7 j7 OGM_registerMenuCommand ('Clean Hide',
9 r5 r6 `. T6 \5 }; j+ C. efunction(e){; z H2 n: U- j9 D2 g# ?% g
CleanHideObj.on(0,1)- Q* i. Q$ y) F% I; l3 c, d4 c" z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 m; G, D, k6 ~" d. G" e- ]});
3 ^) I' U$ Q3 m0 e |
评分
-
查看全部评分
|