|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * w0 n7 \0 |# z7 H7 }
7 n( n: I9 y. G6 g: R火狐插件,用猴子* y6 g. @+ b+ S& }1 ~& J2 B
* Z+ x5 o+ _5 \) d' ]2 pvar debug=false; 8 Z I, F. H/ {( ^8 t7 U
var CleanHideObj=new CleanHideClass();
4 l2 ]7 ]" v* e( s) I
( R9 p* A# f" C. D. w3 m7 g& s. a. @function CleanHideClass() 8 u/ X. a) n, N b2 g
{
- Q" i6 \1 v# O t! o, [7 o8 s
4 K0 l6 q; D8 S' t this.on=function(id,bMZ)- ^- Y, W; M% k/ p! {/ I
{
$ ^1 p) A1 w/ w- T5 | e- f- w% S
2 _: |* G4 P: Q3 N. b3 i' { if(id == 0)
5 I) m$ z X$ L* M- x {
, ]' _9 H, z; q) R; F/ y7 b) v4 g var page=/* document.getElementById("content").contentDocument */document;
7 c0 W* Q1 j( _4 P, d this.RemoveHide(page,"span");6 [9 B/ G- ]) q0 R+ G
this.RemoveHide(page,"font");
8 b) N7 o5 h3 u! U this.RemoveHide(page,"div");/ h( K0 B+ Y- T: {$ O" [
this.RemoveHide(page,"p");1 N0 K$ k, X6 i2 W% n* o8 W0 I7 y
, b7 X2 U. y+ r4 j }
( t( n! J+ m Q" s4 Z L- E& R
0 J' f) ?) y/ m- D. r }
; f) R: A$ H, w# I* O% v* j' r" w; e this.getobjstyle=function(node,prop)
' G% o8 B( K* z1 J {+ g) H0 e9 m' P/ b! c
try0 i/ x/ T$ d. ^3 P! Q
{
& j: [8 W7 E) O+ m# V. ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' K# A( V$ g$ W0 e! z0 v" j. [
}
+ J: Y: R" P3 g9 s: L2 S catch(e)
1 b$ W3 @9 i2 m {
7 {# M3 P) ?5 { p if(debug)
9 l4 ~) t* w1 V* t: ~( h {
8 N! z% ?& {% S \. N6 ]( c. x alert(e.message);7 |+ [6 o2 e# X4 c: q
}
5 z6 U/ _5 e+ ~ * e% I# G6 L% D2 ]
return "200";
7 `$ s7 i6 V' J$ N9 i+ d }
1 l# s% _9 h, E5 Z }
2 v# N7 W# r8 s
9 |" M& h0 H- W# i9 C+ E) @ this.RemoveHide=function(page,objname)+ W/ T; E; S0 G( x' \6 ~# m1 F9 a
{/ K! ~8 r: k& m
try
- b( E+ a. c6 [' ^ {
% {& T# ~, C) p, C' X var minValue=15;
* z0 a a0 r0 E; X( u% b0 K3 `/ v var objs=page.getElementsByTagName(objname);
5 A% a# i0 l$ Z" K& Z: \; M) M4 I% @! k- k/ e5 L
if(objs.length == 0) " o5 Z! x, m/ S& v% t. x
{
5 n! i, \3 Q& D/ X; t if(debug)& v/ C: |" O& ~( U- A, m* L" n
{; u5 P' }! D: `2 m
alert("no object found!:"+objname);
( O/ J' a0 J0 Z, \7 k! i) B; ` }
4 Z; s5 e3 Q, ` }% u! y0 J& B; t9 R: [4 {* L
else
/ T, n, C+ G8 C1 w+ a( T7 m {+ ^: D- f" R$ W) Y
( o: ], p, {" t2 {' U( n! R for(var i=objs.length-1;i>=0;i--)
! Z% G! ~3 v# J8 f; `% \) v1 z9 a4 ~* u {
9 s7 _; k" P2 r var node=objs.item(i); 5 d+ Z: Q# `# m9 l# P+ h3 G) v
, [ H( j' N/ H) Q; A, I
( i: Z. R ]* M2 i8 A/ ]9 Y
if(this.getobjstyle(node,"display") == "none" ||- [7 u' G2 c5 E
this.getobjstyle(node,"visibility") =="hidden" ||
/ I2 p; _; E4 U2 N# k, m parseInt(this.getobjstyle(node,"font-size")) == 0) # }; U( F1 x* T: I, z. t: T& L
{
- s0 w" e7 E( ^# {! t$ i if(debug)
6 {. o7 H2 W( j+ T5 M; e; d) y' t {6 U; x5 U( V$ m
alert("remove invisiable!");* W- X* H+ H; @+ c* P
}/ |. v% d% s. |! B
node.parentNode.removeChild(node);
* k6 K; U+ |: c! ?6 @ $ [. u) j" ^& X/ K3 K2 _
}' L- |+ Z6 Q+ N1 e$ T2 K! V
else * C+ @9 r$ O3 r! l) I( H5 R
{2 o+ k# K+ ?6 V% e! j* R" u+ C0 W& i
if(node.parentNode) " n( E- F% U0 s: E: A E- Z! W
{! v2 W8 y# w7 i: ^+ j( p' r0 Y
var orgNode=node;' X" ?8 P/ ]% }( f% z) g) ~
var orgColor=this.getobjstyle(orgNode,"color")
4 P+ q- u C: l' l" }9 j var orgRGB=getRGB(orgColor); 4 I( m* F. \# t9 u6 _/ u6 Q1 |, s0 {
' q) E) R% S/ e6 v& c) F$ i var parentNode=node.parentNode
9 K1 d7 n$ v" |+ O var parentBgColor=this.getobjstyle(parentNode,"background-color");0 C- e) K3 S3 P, K6 P* |
# H' O* ]0 a4 {/ ~
var isLast=false;
* g7 `2 V( T; a" W2 W, w" N* @ Y; e
/ E$ f# a8 u: X while(parentBgColor == "transparent")
; t; a$ u# h7 S {
- M& n2 ?. _# z8 ]/ w/ y( p # m' I, S. f, z/ r8 i: p
* N) I3 t: x7 ~7 t- v
if(parentNode.parentNode == null)3 v( s# ^& g5 s7 H$ R5 ~
{ r% P" M! h. N& N' {$ N) b
isLast=true;
6 `9 k ?: V- O2 U+ U break;3 {- G& K% a0 x" `1 `
}
+ v' }0 _ Y. U5 a! l4 p parentNode=parentNode.parentNode;/ k+ Z6 }4 A) L( L) x" n
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ p' E" I$ F/ ^7 n0 ]& }" L0 x# f/ Z; F6 h, [. D- k3 z
if(parentBgColor != "transparent")
' k( c2 Y( s# Q [& n1 K; n8 V {
( W! L0 S/ E4 L2 a7 k break;9 y3 g" P8 l5 B' c# E3 a1 q- u
}9 X2 j2 f- p: R; R# i
}" n+ B' s3 `, |5 [3 V, e
if(isLast)
" l1 i( i. H' y4 Z$ j0 L% I [) t {
# G. _* s& ~6 }6 d5 \* v( X if(debug)
% y8 i& C" d/ n5 `% A {) h) c8 h _8 |2 M
alert("last!!");/ _* {% {8 a# G/ _; s
}7 \# s4 G% Z/ n! ]/ _% w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ F0 L" l* ~) L0 B) a {1 X0 L V4 ]7 e c! q
orgNode.parentNode.removeChild(orgNode);
, N' ^, `) `$ Q- ?5 a }
+ _& I% G- B% |7 M" ?: Y5 F }% G' L# Z, D# ^3 [) n, n8 l
else6 i X' U( T9 _- [6 V7 F9 N
{
7 K4 I- X; @: p1 O: m if(debug)
- `( s( Z. j7 q0 ^+ @ {
9 e2 A9 x7 q* ~ e- U+ W8 y2 r alert("compare color and parent bgcolor!");# j- A. K! U+ |" _# _( O; j
}
% U2 o% E. O+ l9 W9 j parentBgRGB=getRGB(parentBgColor);7 o8 l. ^! U2 p* x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& y M# o% t+ f. W3 E# X- e {
; B2 s! K- w6 s t' c# W( ] orgNode.parentNode.removeChild(orgNode);
1 p8 B! O' h( F1 ~ C, `0 O- z: Z }
6 j; `. M" ^9 i$ W }
. H1 ?, m9 y) | X }$ @ b% n( {- ^+ f2 K3 y
}
$ ]% p5 q( F( l }
* s6 v f. n3 v# @# F) |$ X5 o }
( i: n* p; Q2 H$ T# L: T- c4 U9 B" `
, T- j; z# C5 r& {8 C' ]
, t2 {' ~! o0 R5 d3 a var itemFrames = page.getElementsByTagName("frame");
* T; E. X4 o& v8 u4 L var itemiFrames = page.getElementsByTagName("iframe");& [2 P: H& L6 B2 F: c/ k9 w6 l: |
9 ]/ ?) N* ^' ]1 K3 D" W- L9 X
var frame, iframe;
0 {6 o) w/ H( ]8 {0 d7 f- ?6 o% V if (itemFrames.length > 0)
8 u2 u8 g; X6 `. Z8 a {
& a R( ^4 m; c) M0 A for (var i = 0 ; i< itemFrames.length ; i++)
6 U% @, p/ q8 \2 g" J {
; X; i, K# ] t$ l# }7 ?2 X frame = itemFrames.contentDocument;6 B3 O: B* b( h0 m
this.RemoveHide(frame,objname);
! ~+ z) Q2 D: W$ `+ j }. X5 n. a0 Q. q
}
; }6 x6 c3 x5 y6 ^0 q( ` if (itemiFrames.length > 0)
( G& [0 }9 W: ~7 f {5 H! Z0 d7 `, i D D( {& f
for (var i = 0 ; i < itemiFrames.length ; i++)
$ d6 x; J+ w3 \0 K. [: { {* m% i4 u) }' ~3 J: f/ z# F" T
iframe = itemiFrames.contentDocument;
. Y0 X) ]# E4 ]- V this.RemoveHide(iframe,objname);
1 m+ z4 t" F& m; f* k }
( Q, n! [" r* V- _" [6 F }6 P- _& w8 }5 ~. p1 m( j: V
}
+ b7 w2 W+ M! V1 E8 y* X# ]6 }2 q catch(e)
5 G' v; E2 A+ r {3 b4 R6 T. \! I& s
if(debug)* G" B" D2 m" c6 {/ U' o) c5 {
{
+ C' C1 Z/ w/ H7 E/ d1 q alert(e.message);
4 K2 r# Z" m" w3 B. p }% P, g1 ?' S0 E1 }
}
2 e, j: c' k8 `2 v }
" c5 f3 X# q2 a% s. ]) ]" ? * c' |. k% \$ D# N: X: m
}+ ?! t+ k8 _- P6 Q4 K ~- K
- x0 Z. i2 ~& u& E
function getRGB(colorString)! L# l9 K7 ]- g' f9 C5 w
{5 E/ t9 f& F, ~5 L5 j @6 X
var RGB = new Array;5 R) K: a9 h; I# U% X7 E9 @+ d
var tempSting=colorString.substring(4,colorString.length-1);
) r% A2 | Z: m+ w" L+ g: ] var tempArray=tempSting.split(",");$ m7 }) |5 t% A4 V2 F
1 N8 i. L* D2 c& V. l RGB[0]=parseInt(tempArray[0]);; _) S% ]* C# j% t3 r" i; u6 C w
RGB[1]=parseInt(tempArray[1]);. n" H. [9 D: S. K# {/ S9 a
RGB[2]=parseInt(tempArray[2]);
5 V# M; u6 s- z1 o0 ~+ k5 | - [ @1 G8 Q f
return RGB;& a" u8 j5 U9 s* L* K6 d7 U
}$ b0 f- f4 a( M4 }6 o( f
function keys(evt) " B- a) P! Q I$ A# B
{
" l- r1 w+ T# m' V3 y* N0 {+ Y0 i$ S if(evt.ctrlKey && evt.keyCode=="81") ; L; t5 v! z$ A! k& ~' M b* \, w0 r
{ 6 N; @8 }: \. e" W
CleanHideObj.on(0,1);8 S0 ~& Y4 E6 }3 h$ M1 ]% X4 N, }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
h x r1 l7 }2 r ' u4 x: _2 B$ ]
} & I, e0 I9 D5 i a& |! G" |
} 5 l# n7 Y- S$ R; [1 D* G n
document.addEventListener('keydown', keys, false);
8 }$ k1 M* }1 f' s, V( v, SGM_registerMenuCommand ('Clean Hide',
5 Y2 l& O2 m" J" s0 i" `' afunction(e){3 l$ B$ h4 g3 o* T0 f# k) U
CleanHideObj.on(0,1)5 d" `; ^; x1 x: ? |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, u, T4 e6 f6 i) D6 l; W. }2 H
});2 z4 Z) U) Z" v* T9 z9 y: A9 c
|
评分
-
查看全部评分
|