|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 p8 J, ]' O9 }! f" ~
7 ?8 y' h- \) P1 D1 n火狐插件,用猴子
2 q( ~% ]/ L) H; c
$ F2 D: k! ?, O) H. d+ Xvar debug=false;
. V( n9 x# O9 E( d4 Xvar CleanHideObj=new CleanHideClass();
7 l1 B: J$ m& B
+ U$ W; }) \5 l ^9 Y' \function CleanHideClass()
9 `8 ?" O! ^, I8 k/ @, J: X{ 6 h5 Y' G* A% f0 j- z5 c4 t
% h* T+ U# d3 G2 L( ] this.on=function(id,bMZ)% X0 n/ \' Z4 D
{
/ Z7 ~7 i+ g; l, ? # ~ O- H1 C+ z: {! D
if(id == 0)
- Z5 v+ \7 Z4 X7 f) p {
! |- A* n% I$ ?) E: C3 m1 j+ y4 f var page=/* document.getElementById("content").contentDocument */document; 5 E: [' T; j) X1 S _
this.RemoveHide(page,"span");. N7 R, K7 p3 {
this.RemoveHide(page,"font");: `2 R; I8 z5 X3 `
this.RemoveHide(page,"div");
: S( t f2 I/ a: t( s" q+ W this.RemoveHide(page,"p");
) ]/ B9 j: k& V0 w; j& [! h; U 6 a5 E0 {* f4 c! }7 y9 Y/ Q
}6 M/ o6 |; ^% e+ k; C
4 C- ^! q, ^5 D* x+ h. o }
$ P6 [6 s! p5 k this.getobjstyle=function(node,prop)
V, c [' `' t% J3 N0 K" ~) h Q {
8 X* J% [1 E. m" A& D try
/ N* c2 V& f, e- h( \. p9 s6 ] {$ E0 x+ c$ O) S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& ?2 V& k4 N l% ?) m" g4 m K( q }
4 ~4 J F$ }$ q7 S; x catch(e)$ `' G S3 G2 x9 L: g* q. ]
{# Q8 ?/ U. W8 e
if(debug)
6 z4 w. ~+ h! q: T+ `% E- f8 o {
1 c" b3 @! ]/ a3 [; Y alert(e.message);: S- q7 L; t) {
}, U7 ^4 i% s# D
/ x1 n0 |. D( Z6 y7 H- z
return "200";4 U8 [; f1 ?# q
}3 O0 u ?/ N9 J& [" f
}% E% i/ y& u* [1 e7 ?
0 K+ q8 m- k4 ]$ @ g `, A& P this.RemoveHide=function(page,objname)6 t+ ]4 S w. k% P$ N, D- Z; \
{5 B5 |) `1 X. H0 q, g; }9 l' ^
try
" R% Y9 c; |- O5 j+ h$ `2 c* x {; b" }' p- d! C5 I- p: \& H. g
var minValue=15;
9 V4 W5 T4 v2 e* I6 Y* _ t var objs=page.getElementsByTagName(objname);
0 ?& M$ W* J) s/ f
6 ^# J& \4 {! H" d: b8 M if(objs.length == 0)
! S* s6 ~( P4 h# Y {* S5 q2 ]. \. a1 O
if(debug)
7 G% E- `: L# W {
. g9 S& P! U" I alert("no object found!:"+objname);
( @1 C# b) `3 F }3 [/ I& E1 |% r, h& h6 x
}
: N' ?& {9 x- ]1 P# ~7 R else
/ O3 I/ C! D3 s$ k" C( k {
: y5 T6 o* Z. F% m- s! ]! o$ q
1 E3 x, ~% t, q6 I6 H for(var i=objs.length-1;i>=0;i--)
2 U# U5 t( {1 M0 k6 K. G4 h5 S {2 Q8 o3 i6 \/ F# f4 {
var node=objs.item(i);
2 R( ~1 j7 n- {& X4 G3 P j# c + K- V; P% q( |1 r4 y/ J2 M
, `8 ^& ^6 ^& Y% L$ a/ ~$ N, g
if(this.getobjstyle(node,"display") == "none" ||
2 e8 @4 |0 B- z4 e this.getobjstyle(node,"visibility") =="hidden" ||
8 T: G8 ~# ?6 C* I parseInt(this.getobjstyle(node,"font-size")) == 0) u5 \# ?( t1 M0 W, U
{4 j3 H- }4 V1 S! {( H3 G% p
if(debug), X& `/ R8 M- x- i" r
{
* R, C% D- }" x5 j9 { alert("remove invisiable!");# V) K3 ^ O) o, w1 A' I! ^! V
}
9 }+ t/ K( r% E7 t3 a, j node.parentNode.removeChild(node);
) {$ O' l4 q- S8 J, ~/ ^ & U O( H/ k! m; X$ o5 y9 n
}
+ U1 @1 z2 z: F! b else ; e# W; s9 Q2 |9 Q: I* m4 Z7 K% v
{
2 i& s& s+ W# z. p0 z! V if(node.parentNode) 3 Q( C- l( z9 i7 f5 {# T }! R6 _; @
{# H r z2 m$ H# e' G
var orgNode=node;1 b B% q* B5 g
var orgColor=this.getobjstyle(orgNode,"color")
4 N# v- X& A) W8 r/ g var orgRGB=getRGB(orgColor);
) l/ b+ n" r7 ^) D 0 \0 K5 T7 g) n. I! e: U& s* K
var parentNode=node.parentNode
) }' a# Y+ k9 e! F1 o6 m var parentBgColor=this.getobjstyle(parentNode,"background-color");
, f |, t- N* D% A- ?4 }
! h& H8 o+ o$ G. ^; Z9 D var isLast=false;
- x7 f8 m7 I( \8 J6 p
m+ N$ |$ l. T5 w while(parentBgColor == "transparent")
" k; Z; n6 A( l5 K. H/ S2 W! A {
5 Q5 m$ \% @& P$ c* i/ ` 0 `2 t/ c' U8 H. E
0 `5 A8 T. n0 M if(parentNode.parentNode == null)" g: `) B- ]5 A* A" x8 u
{
/ h8 B0 f" R5 N$ ^& L isLast=true;
8 ~1 L }$ s( q- H1 } break;
7 F, s& o" l5 g+ r) Z }
1 J+ g( j6 A, s# P2 h1 E/ D parentNode=parentNode.parentNode;1 |2 U/ w3 O, d6 u5 G
parentBgColor=this.getobjstyle(parentNode,"background-color");' ~. m+ ?/ }* r- a) a$ [! w. P
. J5 u( Q" Z' o if(parentBgColor != "transparent")
& f. E( p$ ^( R, L) b9 ? {1 |: R! _2 J. i6 p. r! \
break;
5 N( _! p+ u/ L; r }$ p9 T: ?0 D* h1 Q2 Z. O
}
; }5 t& C6 D/ A6 B* _ if(isLast) 2 j# M; k! S. J9 n$ ^, h
{
6 |/ ^5 c4 n, U# M if(debug): e3 n* l. E" D; q6 |: U4 P
{; l+ b5 ?# G; Y7 E' V' K$ |% i
alert("last!!");
# v6 E1 |: J! ]# ?7 z }
4 Z# h# p0 H7 r$ o+ ^' C& i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 l5 `* c& e2 q- T/ E {
4 T+ |" n9 l6 g- s orgNode.parentNode.removeChild(orgNode);
3 C. P; C4 X% y5 ]9 i }
9 y2 |* n Y, U0 M, b }& R- e) ~- s( x' O
else
& k& \* M8 |+ A; ~8 x {+ W' ]1 [! v- l1 b) R
if(debug)/ F5 d+ Y8 [# g; |; T6 h% L
{. `/ a* M+ c% d4 j
alert("compare color and parent bgcolor!");7 o$ e2 I: v; t1 ]$ T) r& c# `4 \
}7 g) i, R- p! K) n7 l
parentBgRGB=getRGB(parentBgColor);
6 n; b1 Y/ _9 H x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 ^- t* P" m/ v2 l {1 g6 W/ l) e) q* y
orgNode.parentNode.removeChild(orgNode); 1 P% b- \: ]# r6 @5 Q( [
}5 V5 u' Q. Q5 z8 _
}
' j& D9 o6 W5 k# a+ L4 t. I }+ g' F& o- z7 |0 F" a2 J7 L+ ]
}) T5 C/ O$ W: z4 i' h* d
}5 x. f" e- R" }+ g: Y8 g
}4 h8 R7 _8 H1 e, g
+ P p2 Y. u* h# k$ G: C
& {( P' ~ z& `& f3 E
var itemFrames = page.getElementsByTagName("frame");
% ^: l+ Y# J$ P4 t$ b var itemiFrames = page.getElementsByTagName("iframe");
4 o2 }6 m9 ?9 N6 q. x - ]8 Y7 j! |- e0 ^, w+ h& i& H, X' l
var frame, iframe;! e1 P+ c+ f$ R. C4 h* n5 R: L' Z0 |
if (itemFrames.length > 0)
# A1 A8 Q& [/ K0 E {4 n9 u% a8 V8 k, K9 v
for (var i = 0 ; i< itemFrames.length ; i++) & @* ^0 j3 G0 }* T0 @ }
{2 U; m, W! L/ u1 t( H
frame = itemFrames.contentDocument;$ O" {3 [+ o8 T" I4 O
this.RemoveHide(frame,objname); # I5 {3 @& b' P9 H; B, ~" i
}
* \7 o0 Y+ u0 n4 Q }1 v" l* v; x/ w& a0 ]* I! X
if (itemiFrames.length > 0)4 [, p0 z( X- F0 u
{" S$ g) T: d. \) y
for (var i = 0 ; i < itemiFrames.length ; i++)
0 v/ D9 v* d% O& n0 n7 Q {7 L7 C& d5 W% F
iframe = itemiFrames.contentDocument; e& D9 e5 y" W! b/ Y
this.RemoveHide(iframe,objname); * Z$ B' i2 o8 P D7 ]) Z ?8 S
}
8 y, r$ @9 z4 ?8 Q) k) N }9 U& N) Z3 ?- e, I+ E
}
8 ^' H2 ~8 }/ ~, v catch(e)& v" O( O2 i- s. @) u
{
' W! L5 W, B9 {' L if(debug)
6 b; i* D. ~' e3 k+ p {$ H# b; ^/ G- w; p- Y T
alert(e.message);- h0 }+ I" c# E0 r# F( M7 Z
}$ C& K8 n3 d O3 H% C2 ^ s. u6 X
}* b9 J/ A4 ~0 b- U q
}
0 k5 u3 \: L$ K! f
3 C! d/ L [# d0 J* A7 `/ I}
3 h) s ]3 h2 g, ?1 K3 n7 c2 N2 L* G' O9 F6 M
function getRGB(colorString), x0 J2 h+ d3 {; {/ L; l! p3 R
{
$ {2 o/ F# t, t, g' {' X+ x var RGB = new Array;
, d$ b! u4 u/ H1 @ var tempSting=colorString.substring(4,colorString.length-1);
0 ?& p1 n' L+ k/ \, H \0 L5 _+ s, r1 v var tempArray=tempSting.split(",");
8 r! v3 F2 ?- Q0 c* Y- Y8 `! Q: C$ V6 d0 R( K$ N/ M
RGB[0]=parseInt(tempArray[0]);
6 q! C7 S7 @% ^ RGB[1]=parseInt(tempArray[1]);
9 }" F0 B( z& t J5 }. L; ~( h RGB[2]=parseInt(tempArray[2]); |. v! w" i# F2 D# ^4 V
2 Q7 G! M2 K/ T* |9 s
return RGB;; }, a1 Q9 U- G' D/ r6 g0 [/ O
}
7 [- I$ A' I# ~/ `0 m3 h/ w7 }function keys(evt)
1 I6 n0 o. X0 L6 N {
Y' F$ H) }8 O9 y7 ? v if(evt.ctrlKey && evt.keyCode=="81")
! z( O9 }$ q" _+ W& h { " G% w# I( S5 O0 r
CleanHideObj.on(0,1);
6 F# U- r- {4 ?$ b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 `/ A o* O% \2 u
2 ~3 I6 @+ C, I2 ]. L: @
}
- {5 M. M; B. }7 Q }
, Q5 X: A8 s+ s3 @document.addEventListener('keydown', keys, false);
6 s7 r( h/ w1 L6 l1 M3 A6 N: `! d; PGM_registerMenuCommand ('Clean Hide',9 B6 n9 ]. O4 h* ^% U
function(e){7 Q5 C8 j, o6 W0 O& I7 ~9 n
CleanHideObj.on(0,1)
( U4 u7 [8 q# v' c' K/ Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ m A9 K) O6 v& K( H
});, d$ K$ v5 C5 L* ?
|
评分
-
查看全部评分
|