|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' R9 o! [) G. x" x
# g/ k j# E5 O% E7 H+ U6 y火狐插件,用猴子9 Y& |% ~/ V" c0 S) a
6 s% ] O, Y/ l/ w/ C$ ]var debug=false; : P( F$ p0 }0 a( A6 }
var CleanHideObj=new CleanHideClass();) Q9 C/ E& K* X
4 w. e' T2 E) z9 d2 h# B; Wfunction CleanHideClass() . Y: v2 k) E) |: f8 r& T, E1 x$ }5 j
{
! N+ d/ i- f! @8 y l/ u7 v
1 @1 w; D3 O1 x! C% D6 e2 g1 j# E this.on=function(id,bMZ)
! b, }8 w6 J& N! J, } {
% F" H- P9 V8 y/ ?" e$ t+ ^4 y8 w
) E. m: A& Z0 o U7 X if(id == 0)' k* T. i. y+ d0 U% x
{3 Q; q+ Q0 D- L+ A/ K
var page=/* document.getElementById("content").contentDocument */document; ) |8 _. f2 O& }& x+ y
this.RemoveHide(page,"span");
6 D" i- @, }7 V% H9 x this.RemoveHide(page,"font");
/ W" {8 f7 B3 G( o, _7 ]1 @ this.RemoveHide(page,"div");
" o3 D1 s" {! v1 h# x4 L this.RemoveHide(page,"p");
/ [: V+ `7 \+ N
- j! Q0 F) Y+ d \- o } C0 T0 p; Y @: P9 H9 V& T
+ r1 c2 E; S4 F* r# @2 J8 ? }7 W9 {' L8 R+ [5 ^' Y. S
this.getobjstyle=function(node,prop)2 B/ x- L6 P0 W, [
{. b4 T2 A& \0 X) x" R' ?8 Q+ ~
try
0 X5 D/ w$ X' b4 g J {$ [: S2 }4 A* C7 a1 k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# _: C" f x; v% `
}
1 N) O# y5 a% V1 n4 q$ T% Y catch(e)7 `4 X1 a( B5 p1 U7 Y, K6 N
{1 ?) F& [* a0 o5 L$ a( E
if(debug)# v/ e$ u7 `4 e' s$ O) h( B4 z
{
( P( G, _0 x3 y# g alert(e.message);- B- M4 E1 j: P0 p' L4 d8 m0 Z
}
5 Y; i+ u1 A# ?2 J 9 ]. J3 n, g0 k
return "200";
. N) l% Z, s- A( z6 {1 y9 w5 h }/ x0 L# l9 T$ J, E% W4 }
}
( ?% L( P) c$ h* O/ d0 K * X8 d- N( Q2 u! {
this.RemoveHide=function(page,objname)8 L6 ~+ X- l! y
{# O8 q) u/ p0 w, u; }' A
try2 U; o. O, `8 B
{
E/ L. [' I5 i( h var minValue=15;8 {- V7 m' G7 S# e4 Y
var objs=page.getElementsByTagName(objname);
5 J/ C- g* Y- e. y. u) U& k. q$ b) |$ R( W/ ?' `
if(objs.length == 0) 5 a/ ~; i% a( |% z
{ n. g; ^/ d7 Z% ?6 A7 c% @
if(debug)
0 w2 W, t7 p) g/ E3 t( g {
u3 N. n4 w& \$ w4 r2 l alert("no object found!:"+objname);9 {3 }9 e5 M/ r( Y' y
}
) n. F$ J3 v) O1 S6 g1 A I# ^ }
' u) d3 E) }( g0 W' @ else+ D6 M. y, ]3 S
{
: g3 j. Q7 ^; a' N( v - R; N8 {% @1 B: l
for(var i=objs.length-1;i>=0;i--)
8 @3 n7 W ^, ?; @+ Q; V, ^: H {' p1 r- s; A$ @3 Z5 o3 }$ W
var node=objs.item(i); ' y0 [! Q2 q$ Y# |
; j' m. f) F+ b
4 W! z7 k: D, _% y
if(this.getobjstyle(node,"display") == "none" ||
' ^" q% ~& @# N this.getobjstyle(node,"visibility") =="hidden" ||
4 u1 t. H/ G. z- X: x. \, Z parseInt(this.getobjstyle(node,"font-size")) == 0) - Y# |0 @ }; c
{5 p* O! r+ L2 O+ R( V9 k
if(debug)
9 Q9 M5 I3 E; v2 }3 @ B2 { {
& P7 B9 p4 `1 b$ \ alert("remove invisiable!");
! {9 S% |3 M8 q7 i% W3 S }
; W* F* ~8 i/ ]: A3 d0 v+ X/ o a node.parentNode.removeChild(node);
3 w6 i# ^- g1 d: {8 s E3 n1 r. R7 m 9 e" y! u/ M4 d z7 Q
}. M& A: Q( @/ x4 |7 _1 k
else
: u$ Y* B2 ]8 V, G( L9 Z% [0 J1 Q# k {7 U: G. ]! I. k3 M$ N: {4 S# W
if(node.parentNode)
, S- g1 B V# ~; M {7 l+ B8 g( t/ A. ` d
var orgNode=node;
8 d! J9 ?0 }( `( I var orgColor=this.getobjstyle(orgNode,"color")
! K2 U: C( ~$ g) ~" N var orgRGB=getRGB(orgColor);
9 q+ l: d7 A/ L$ X
1 K+ S6 @5 C: l9 s* t var parentNode=node.parentNode
" z; e9 p/ D9 R var parentBgColor=this.getobjstyle(parentNode,"background-color");0 q' D: m% z! u
$ ]; l+ g0 v% @& q. A5 E
var isLast=false;( l8 I8 o/ N0 M: Q0 B% |! j
9 u' b* g8 I. ]
while(parentBgColor == "transparent") - B8 G8 n$ C7 l) X$ T5 [6 L; B
{" a+ z5 ^. N5 U5 [; G' f% C
* a$ @+ F3 y; Y* N* \! G
, {$ L! o) D' r) K& j a if(parentNode.parentNode == null)
$ `. q: T% W7 P+ _: l {6 G R5 j; t6 [
isLast=true;
$ N+ G' `. v) ]: u break;0 j' d, ?3 l% d9 l' Q$ h
}! @. k4 R+ E0 @# J8 f! e2 w2 g
parentNode=parentNode.parentNode;$ X; N7 |9 [9 Y6 N
parentBgColor=this.getobjstyle(parentNode,"background-color");$ Y8 j( t) b8 |7 D7 s& x! s P) i9 R
* q0 I( ]4 U0 P( K8 R& `/ l
if(parentBgColor != "transparent")
W5 h$ D- L& L& ]' ^/ g {+ ]- J1 ]& o' W1 Y# R; ^
break;
, J- E9 O7 s6 \) N$ T$ _$ w }
$ ~) G8 r& h3 {1 m }. _3 }: G9 a& H5 f3 d9 w# R
if(isLast) ' h6 \, p% C1 O
{, [3 N( A Q+ K: C' r
if(debug)3 k5 ]& J7 S4 u1 ]& s4 }
{ C8 G0 O9 ~+ r1 l! r; U# q. S
alert("last!!");0 z. P; V' p& S2 d6 {
}7 L6 C' t; P( i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 k' R/ Z0 c0 c4 D- b
{; g6 n4 v9 @" `) h9 N
orgNode.parentNode.removeChild(orgNode); / G$ q' u2 c" T2 v. B9 `) `
}' [* A2 a% x: T% p; v! ~
}! n! z/ c2 z2 [6 g4 {
else
2 K; R& H$ ?, v! h c0 @3 g: ~! ?1 t* K {
4 @) U; G! [& x/ ` if(debug)
/ n7 Y! C2 x! S- Y {
7 ~# D* Z0 N/ }$ R2 S) @ alert("compare color and parent bgcolor!");5 n' M% X% M& v3 z; ]/ Z
}$ ]/ N/ A+ B' x5 L2 m
parentBgRGB=getRGB(parentBgColor);
9 ]- x' p% W' m; l3 j4 i9 o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; d' l, z# D' Q# g- j1 Z0 b! t {
) S/ ^6 F, J/ e- n6 } e) y4 I orgNode.parentNode.removeChild(orgNode);
( I! [8 {5 g* a; U7 F }* B& ?1 }" r- I* \
}4 `# W2 y8 o, v3 A" d& C
}0 M i7 M: o5 c) q9 g
}6 s+ X7 a) G& ^' K) `
}
5 X5 D- [% j* f8 X' x8 U }
( Y3 F7 {$ |' B( Z / n& b& {$ Z, E% X. ^
0 v( P6 @$ b! L" D& j# O! L9 r var itemFrames = page.getElementsByTagName("frame");
9 {6 a* I) _+ T, ?/ { var itemiFrames = page.getElementsByTagName("iframe");
+ c7 S4 Q8 i2 P# e% e3 R, w- h
, d% K# Q- u: f var frame, iframe;0 ]6 Y. O$ v9 f+ l4 M
if (itemFrames.length > 0)
1 l6 j" C) I- O; Q$ O {
3 g1 t$ I8 `+ E4 @3 t& E for (var i = 0 ; i< itemFrames.length ; i++) * y* s5 X( u5 }1 t7 e* O" G
{1 U' \# G# ~ }% ~0 @% i
frame = itemFrames.contentDocument;& y, Y. n; ?' Q
this.RemoveHide(frame,objname);
. _8 M. ~2 C% [2 N, x- `3 { }3 j, p* s# ?- i( C& v! w
}
- @7 \" M" L* B7 {, N& a2 e) x if (itemiFrames.length > 0)
% y8 U3 A4 s+ n5 a8 ^( Q {
: ]5 ~) q9 `/ ^6 z4 K' j" B for (var i = 0 ; i < itemiFrames.length ; i++)
8 r& L% r+ y, E1 x { I3 f* m0 p3 h/ j8 |+ m
iframe = itemiFrames.contentDocument;% e0 C; G2 C% Y! G1 Z" c9 Y
this.RemoveHide(iframe,objname);
8 T X y1 Z& ~" z) G# ]- c; Z- U }
6 t" c) L5 i6 {* g+ Y$ l }* n8 h) @9 k& f" w; D9 o
}
! Q, u9 `5 L0 e) y+ J6 I catch(e)
, ^% B7 c1 }) K/ ~ {; q0 J, u& Q( A: r$ v* E$ ]/ R/ ~8 y5 j
if(debug)
1 d: g0 a' V4 g2 L1 @" v; ^9 e {+ e( g" f, L6 c3 o
alert(e.message);+ o* A$ i( C+ s. E( ?( f/ Z
}8 V; O4 ~: G- N
}/ o }9 [+ Z1 f
}
: L, B# l+ H; l! f0 E
- u! v. Y/ t8 i}9 r- d; T8 G4 ?2 m# U" f
3 T/ N6 c! ?& u! E- t9 @! _/ \2 {function getRGB(colorString)% t" z8 k; R0 h0 [) L* w
{' k+ X- h9 G' t+ J( w. F
var RGB = new Array;; Q E# a5 L9 T; |& _
var tempSting=colorString.substring(4,colorString.length-1);. w: e T' D$ E, V, k! Z
var tempArray=tempSting.split(",");
- O) ^: e+ s$ W9 B# ?- A+ D
) |( k7 y6 r$ \4 u+ ]( Z$ Y( \- y( ~ RGB[0]=parseInt(tempArray[0]);; ?5 ] N: y4 g1 m% q$ u
RGB[1]=parseInt(tempArray[1]);/ O2 ]( D/ p {6 ~9 E
RGB[2]=parseInt(tempArray[2]);1 C& `, H/ p! |: I
( C/ ^- E% g& ?. I6 n
return RGB;
% [: y- _9 a Q/ _) i- m2 z! D4 n}
+ _+ Z& P: F2 {$ I$ K; C$ ^function keys(evt) - p' q' ^, z4 y, o P
{
2 `) N; W# r, C- i8 ^ if(evt.ctrlKey && evt.keyCode=="81")
. {1 U9 ~" o3 x {
* V% O% i- ~) j CleanHideObj.on(0,1);
. |- G( x+ ^- K alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 B6 K5 K; g' k$ s( z" ^7 e! @ : k2 e. x4 h. l( T0 ^: ~
}
2 T1 F D3 C( C$ I0 Z& ]0 { } 1 n' C7 z# ?# c7 j
document.addEventListener('keydown', keys, false);
8 f, F6 a! ~' N! X6 ~# DGM_registerMenuCommand ('Clean Hide',
0 m/ w% \! B9 y$ vfunction(e){4 V5 C% [# T/ }5 g
CleanHideObj.on(0,1)
4 S8 W" D' y [+ D) g' _* ]& `& c% a1 ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");. \" F5 s1 t; R- W9 t' t. _
});
9 A* K) Z' M- g) m |
评分
-
查看全部评分
|