|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( o* D* E- `0 W7 r" F0 a2 \' H
4 s* M0 P0 ~6 x2 ~2 d h% n7 J. ^. v& K火狐插件,用猴子( |3 _1 R/ }: e! d- O4 i
4 s8 q6 q: g9 `2 A6 h$ c0 N( Z% vvar debug=false;
. C& t$ ]) r* _( `% g5 Yvar CleanHideObj=new CleanHideClass();
( _7 m: \* U. U! Y/ R
5 m5 U/ Y: Z! B0 A% ~$ ~function CleanHideClass() 5 M+ l- |' Z4 m: {/ S9 y
{ 6 x" }+ _+ |/ f" Y6 L6 ?6 E
5 t2 _ i0 M8 k6 U& k1 A this.on=function(id,bMZ)7 _$ {/ F( I1 I6 E# R
{
5 n% u, x0 d- Z
0 h( A M9 p" c; \: F1 w2 ]. }- Z2 c if(id == 0)$ j9 F" d4 b$ E6 j1 p
{ a; h$ D& K/ k
var page=/* document.getElementById("content").contentDocument */document;
$ p" a7 h( _) q$ I x2 L5 T this.RemoveHide(page,"span");
2 k* a" `+ x1 Q$ Q+ I this.RemoveHide(page,"font");
4 M) @# E8 @ m this.RemoveHide(page,"div");2 X, K- F$ o& f+ c$ k
this.RemoveHide(page,"p");/ H: c1 b! J) j5 ?) ?
( @1 W; Y/ ~& t, T# [+ O
}. P! T( a' ^4 ^7 `+ [& @/ v) T) i
" n+ }+ \5 \6 W& E" y4 L A: |8 V }
# S2 E8 F% J# ]/ j* h7 E9 h this.getobjstyle=function(node,prop)% ]3 e0 }% Z$ X: o+ M1 N4 k! k
{$ m5 p! n) D' X# e0 @
try3 ?( K6 }2 c, u- q! u6 s+ i
{
) ^3 r) k$ k7 X) z7 ]- w7 y7 A+ D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# L# O3 q; p; o: i" H1 P! ~ }
, J3 `& d+ f0 r1 P( W s catch(e)$ K# o! [2 Q+ b1 g# H
{
; L, J7 l7 l% q, a9 O0 r if(debug)
8 ~# d8 R* d' U {2 `0 l% `, z& G! s# T" ~: M
alert(e.message);
- B! f( z3 G/ X0 U: S2 N }
3 g8 X% n, @9 j2 B4 R6 f
5 X$ a' {6 P" N* H- u" ?! p; n return "200";
! O9 ]+ k) y7 a+ Q }
4 R, P! C7 C4 s: C: G$ j9 d! N, l }
- ~6 Y3 x: E m, A 0 n% F$ j. _- H8 k! ?+ a; `3 V
this.RemoveHide=function(page,objname)
; p- i+ j2 E0 u& R {8 U7 {1 L7 a& l1 V! ]' f) D- `
try
, B: G7 s; x9 X# V( B {( e6 c" b) m4 }% h* `! p a
var minValue=15;
# i( j- }2 p8 d; _! T; v" X* } var objs=page.getElementsByTagName(objname);
' \0 j# [) j7 I; W7 v7 [+ I2 ~) b, r& @' W: v& M
if(objs.length == 0) + \$ P. t6 z5 s% u( P
{
& f) A" G. ?0 A" H& X( V- | if(debug)
5 o3 J* p% j3 u' l, x {
9 A3 k0 N5 \- p3 @8 w alert("no object found!:"+objname);
) X3 w/ a G: ^3 u3 k+ G; X }8 F. t1 v6 }" b
}
" Q4 Y; I- o6 Z3 Z else+ k! c/ D8 O- P9 f' z
{
5 O1 ^- c( q# ]
) D4 R% |4 L* g7 b for(var i=objs.length-1;i>=0;i--) # Z( R1 S. W& B( P( {7 Q, i
{1 \* d: H: f, G& V2 [8 B
var node=objs.item(i); 5 W6 X D9 K" b1 l- L+ C9 h
) E% U- O* W7 b2 T
% B& A% ]5 u$ D Q
if(this.getobjstyle(node,"display") == "none" ||
5 G9 Y/ B) c) k: J this.getobjstyle(node,"visibility") =="hidden" ||9 e# l+ n' x6 `3 d- H
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 [, s; e. n& U" c) E2 f% ~' s4 V
{* U6 j1 _3 F9 p: U
if(debug)" `; L# c( p* g, ^ b" q: f
{
" b, `( s* u$ S5 c# P$ h: r/ u alert("remove invisiable!");
* v2 R1 a0 c0 d1 i }, b9 u, g' z3 L( S0 q, {1 M% F
node.parentNode.removeChild(node);
. U8 l- l% K5 z9 r) A( f2 u$ D! d
1 z) Q( M3 g& k& U0 I }
/ W8 ^6 _: A# B: G$ B else ) d! n6 j3 |* c; r& O
{0 n( `+ o; B6 S3 B
if(node.parentNode)
) K' N. j/ ~( d {' h v2 s0 o# K( k/ @+ W
var orgNode=node;
* W) r- P; s5 U4 z$ y- f0 ?7 A8 }; c var orgColor=this.getobjstyle(orgNode,"color")
6 k1 f! I2 x1 E5 s3 x! C) r var orgRGB=getRGB(orgColor); ' {6 u0 g. a9 @# \+ n2 |
' h3 r& u( g4 b$ I; b/ F3 j' }( N
var parentNode=node.parentNode
3 U6 D* ?3 K+ Z; \5 y$ C var parentBgColor=this.getobjstyle(parentNode,"background-color");9 b1 u! O# a% x& h6 L; |9 a6 Z: s
: O: i( J" M) e: l/ @2 x @# Z+ L
var isLast=false;
/ Q1 H/ X L6 _7 G+ H3 L" a
/ ?4 q) r. D: \4 [ while(parentBgColor == "transparent") 2 k% [3 s1 o- H
{
+ |/ k u" n1 d: {) K
8 e! ^* \7 I6 r
) e/ W; y3 V- k1 y if(parentNode.parentNode == null)# ^2 ]1 P$ T( I7 o
{
0 s7 U& B! L6 h! ] isLast=true;
, q+ |: ~9 X; k0 R' ~1 ? o+ e break;# O+ f; L. U* }- o- l
}0 I# N; \% }" P. e' _: s
parentNode=parentNode.parentNode;& V% g& _' f; W, z( P( @* E N
parentBgColor=this.getobjstyle(parentNode,"background-color");, `, Q2 h. x8 j. J) d
- j5 `! J$ z- l) V if(parentBgColor != "transparent")
+ G5 d. s. F! }$ }: G9 }( Y {
8 T' B& l8 P% ?! P) q break;
$ r) m( T6 s& |) X6 { }/ ]/ d# H- R) L% U* z6 @
}
& e9 L+ c; o( f1 e/ [! T if(isLast)
+ m3 J1 ~, b. q3 L9 b* _5 |! ` {
7 O) f2 ]4 a' O/ [. k( _ if(debug)! e0 F4 k, V0 E
{
- `' L! ?9 I) p, g, [5 \ alert("last!!");
2 H( p6 a& ~) _) { }9 s4 @8 [% A/ _: `6 ^
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 B1 f+ B- z8 n4 g6 r5 x
{' ?5 |! M- B( v9 ]
orgNode.parentNode.removeChild(orgNode);
: N# N ]- [4 ?; D6 x5 u* @ }
; M8 O" T; `) b3 ^ p- Y$ @# E& y }
1 ^3 L0 ^! s0 f% U else0 Z5 ~: W* I) @# b" l6 c
{# z+ e. K8 M7 W5 W3 y5 i
if(debug)
" B8 {9 l8 l% W3 S8 P) S) S6 k {
/ m# _. O4 r' Y# r6 i alert("compare color and parent bgcolor!");4 r( X1 T5 C! L, ~4 l% u
}
! N) g7 ]( y* A parentBgRGB=getRGB(parentBgColor);
$ M: j) i/ z6 [- T& i8 E if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 V. s9 T3 s9 c- I. r8 P% L {- F: t( P9 Z) N, `0 F
orgNode.parentNode.removeChild(orgNode);
2 p+ I- F3 ?# P+ q }" e" l( _4 X" H/ R9 [' a: v
}# X K+ Z4 A1 Q
}
7 T; R5 |% I! t9 _* ? }7 \' Y- I" o! u& J, `$ W( w
}
/ q5 [2 k- s6 ^( d+ d( u( _ }
: `/ p, A5 ~* r 6 ?3 M5 q. w/ ?; v
9 `% Y4 q* ~" S- z4 y6 U
var itemFrames = page.getElementsByTagName("frame");! @% Z; ?& F; M6 }2 T. j
var itemiFrames = page.getElementsByTagName("iframe");) h. ?6 f" x+ M- {
1 }9 M+ @. a u6 I var frame, iframe;
0 Y! \2 n/ O# [ if (itemFrames.length > 0)# |, n2 s' [; a. Y1 t- y
{. o' j& P9 r+ J) y; y# r; r* f- l% o
for (var i = 0 ; i< itemFrames.length ; i++) 2 ^3 Y* K8 ] S8 j3 B$ j3 Z! j
{0 w8 w0 J: y y# K8 M( _
frame = itemFrames.contentDocument;6 y5 M) b2 b& i
this.RemoveHide(frame,objname);
; w+ v2 U3 ^# L8 Y T( r }; _- w; N t$ V# |8 g7 a: ?
}
, V+ @$ v0 o; q) {: J if (itemiFrames.length > 0)
u$ ~, r: |3 B7 E2 @ {8 x7 i q$ p9 j6 j
for (var i = 0 ; i < itemiFrames.length ; i++) / e4 C$ |$ D( X; v+ w) ^
{
; s' i) p q/ W! x/ S7 ^- T iframe = itemiFrames.contentDocument;
% m( q& \3 q3 b this.RemoveHide(iframe,objname); 1 Y+ G s* q' X5 c( c
}
5 ~6 b% d6 B8 _9 P1 R }
* M' j- B; q+ v2 @0 t$ g' P% R }
/ U; }% i* n' G! _1 w! x1 p$ W catch(e)
3 A R7 Y6 y' ~1 m( @ {& s: L4 i, g) G/ ?/ B
if(debug)+ K; _1 f0 i. \
{9 U8 d, ~1 H2 g# n+ {8 y5 b
alert(e.message);
) y4 w9 _, X B3 D2 l% G4 i, [ }
" d5 W; i' a& f9 u; c }. s7 D2 k' X7 w2 C4 d' f
}
0 B$ X3 |# M( Q4 b4 U6 I: `) z5 n
- N5 s& ?6 N _}
: M& _/ L+ u4 J% F$ o1 z# Q( h
function getRGB(colorString)
4 m* x7 |# y- o( R5 }{
: V5 X+ ~$ ^6 g: j var RGB = new Array;
( }& ?' `$ v5 ]; [& f var tempSting=colorString.substring(4,colorString.length-1);8 i* |4 j6 M) t6 E
var tempArray=tempSting.split(",");
; E. @; A8 m) v+ J2 v1 S @; Z, h& V3 Q& ^6 R) Z
RGB[0]=parseInt(tempArray[0]);
G3 X5 B$ [0 X5 V; s! u0 G# Z RGB[1]=parseInt(tempArray[1]);5 D0 g3 ^9 A& J `7 C# y, v3 n
RGB[2]=parseInt(tempArray[2]);5 h2 h5 H5 W2 T0 P
# b. {- ?) ~+ F& n0 O6 r3 Q% c
return RGB;% r8 T9 C3 L" ^ Q! o
}& s. Z3 D9 [! G7 T4 d9 [8 L
function keys(evt)
5 i6 x1 _+ H3 }+ G4 Y5 L' i {
8 g( i9 x- U' M6 a# F if(evt.ctrlKey && evt.keyCode=="81")
/ z A7 c. J' k+ D% s { ' y. t* d4 I- _' c1 U* O
CleanHideObj.on(0,1); Y2 Q# r$ ~1 m# M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . D& |* ]. S% U
9 s, t# j& @5 f+ K. e% P }
7 k9 k' J! J6 J }
1 g& r- s7 Q) V% ~document.addEventListener('keydown', keys, false);
5 h- x( Y6 w6 r) {7 K! n9 dGM_registerMenuCommand ('Clean Hide',& c1 O( b/ j H
function(e){
7 R1 ]( m! S3 O3 P" ~; bCleanHideObj.on(0,1)+ }1 `* r; M# o* o4 ]* s. l6 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' z, ?7 |+ o$ c5 x# `
});& M; t* J& J3 J, e0 ?9 `4 t
|
评分
-
查看全部评分
|