|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / B9 K# ~" C9 m( v8 L
8 ^! F* c% e; A. p8 l0 d! N火狐插件,用猴子 h- F- g8 I0 C. |
$ V* ]8 j2 n1 yvar debug=false;
8 h7 G0 L1 m; ^6 B9 Ivar CleanHideObj=new CleanHideClass();6 `' ^' O. T: ]+ k! j5 J
/ N7 `6 V. d, Xfunction CleanHideClass()
$ u6 ~% K% H" H{
4 Y, q7 k' b( U" |
. Q c0 o6 {8 i' L4 h0 G3 c this.on=function(id,bMZ)) E" J4 G2 E: g9 x0 q* {. F& ~
{1 N' R+ K0 A' V
# }5 K/ a* k8 }9 u if(id == 0)
+ H( }& ^+ g8 Q; h4 I {
: ]4 H0 B; u% h' W* z$ ] var page=/* document.getElementById("content").contentDocument */document; & x$ w& w/ y$ O j& g
this.RemoveHide(page,"span");
$ \( [; S/ |$ o2 o/ ?: \ this.RemoveHide(page,"font");
" o D/ d1 {7 L& x+ ?% C this.RemoveHide(page,"div");+ e2 p# C; g4 \) W/ T5 m5 [
this.RemoveHide(page,"p");
/ R( E1 |- z0 D- d 9 h2 q# e k! I0 f) @
}
8 ?* m* F+ k Q3 J& e
' B( L6 L0 t- D; B' W( z5 L5 p }
1 e( k8 Z4 u( z, ~ this.getobjstyle=function(node,prop)) }- O( g* h! u; x$ N( x( `3 N+ r
{
( Y* J+ N) [3 C/ r try
2 p7 D2 }5 T1 C; f, i8 S, p( |1 M9 A* u {; [! E/ d1 ] ]' J, P7 c3 \8 s2 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! x, f- ^. ?" @' e }& }" a4 ^2 c' h. E% Q* }
catch(e) }$ E; |' k0 `3 h" ?
{1 U8 W" g3 f: Q( D
if(debug)' R5 ^7 r/ T3 \5 }5 u5 l! Z7 Z
{1 Z4 a0 U* P+ U1 G
alert(e.message);
$ Z3 m5 Z2 @8 |& F! m }" N- b% p$ i# d. e% U
! R' |( l! W/ t7 F return "200";' p" N7 U( x, h' X
}
" \2 U# i% k/ J2 u6 Z3 q }6 e- A( Y. ]* Y
+ U; ?6 _& \+ p. G; w% F" _5 J this.RemoveHide=function(page,objname) a' u# g; p B+ ]: e. @: j
{& z9 X( }% r" x# t+ O) O) o
try
% [8 Y+ N* c" n# P+ g* {1 z {
+ b$ m" D. `. f1 {, V( B: j var minValue=15;
/ s6 P, ]1 G3 _& S% P- G' }+ E& c8 F8 c var objs=page.getElementsByTagName(objname); & w/ Z& A. G1 z; v! X
( P; |& ^! W& B% h/ [& t if(objs.length == 0)
7 s% P m0 z7 |' G8 z4 `, D {6 k( D( L+ f. X9 M1 k2 W
if(debug)
1 K; U5 J9 J& r8 }- ~1 X4 S {
, l- d7 u0 \- p$ {1 Z% }- i( Y) f alert("no object found!:"+objname);5 A3 D) O G- D6 m: l/ W( U
}2 M/ m y" Q1 u" k+ a
}
3 D3 [6 v. E1 ?0 c# h! ? else2 _0 b" D* d9 {) q
{+ U7 g) F; h3 a/ Q( L
* u- T4 c9 l1 j( ~0 E, [
for(var i=objs.length-1;i>=0;i--)
6 h0 E( @$ |0 E0 i$ y. e+ A {
0 `$ O: x; }- H T% k var node=objs.item(i);
- v. u T5 A+ `) v. { # N( K8 m8 R1 {2 k5 V' v( ^! |# Z4 h
1 N% {, D) p# u' Y if(this.getobjstyle(node,"display") == "none" ||4 F+ G, w) Z' z. }$ W0 h
this.getobjstyle(node,"visibility") =="hidden" ||1 L$ h! F/ V) [3 i( g }
parseInt(this.getobjstyle(node,"font-size")) == 0)
) A. x4 C2 b2 p' |' e' s& d {2 b- C% z Y3 N% [0 ?0 s: F& C
if(debug), F/ b' U- V/ t8 m$ ?$ t" J) G
{) D! t6 m9 d( {/ k
alert("remove invisiable!");
7 A( ~; |* _ e- y* u& H' e }
+ ?8 ~! S. x6 U3 u E node.parentNode.removeChild(node);
$ y* c/ Z3 S* ?) b! O* U8 y. D: |
, n; n8 A2 n6 X: w' ]: L( S, U }3 v" o. ~" Y8 B1 Z; T* k
else $ O4 ?' t# V% E% C# z# \4 F
{5 t% `. V$ ~5 W7 Y& ]
if(node.parentNode)
) z. v- y' A4 d( y! V {3 j" v" ]; m% c6 I1 c
var orgNode=node;. I" S+ P0 j; x1 k/ n" k
var orgColor=this.getobjstyle(orgNode,"color")0 _ s* ~* b8 e" z
var orgRGB=getRGB(orgColor);
/ |& J* W9 P c" B6 _ 5 v8 Y C! M9 v6 Z
var parentNode=node.parentNode, |1 F7 P/ x: N9 H) y' |
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- n1 s# B5 T, A0 T. r" P- Q 6 b( F( a9 e* b% L5 k
var isLast=false;" f) B! b0 `8 _- \+ C1 b* P
6 f8 [; C% ^: W9 s% I5 K# }9 n
while(parentBgColor == "transparent")
( _3 h! d( E+ A {
- f! e" O$ ], t" j1 p5 \
2 {3 B6 t$ ]& _; p# J. M+ j
, X& t+ i8 H5 X! D if(parentNode.parentNode == null)
1 o/ Z7 ]! E2 p. {, X" M {
; @4 ~& Z4 a6 Z" D/ l& M isLast=true;
! h2 k2 e( E6 c4 x break;% b' r" h' ^. J3 q( ?
}% n' {8 S; h8 g6 {: ~
parentNode=parentNode.parentNode;' P# t" m2 } Z! R# l+ j+ A8 P
parentBgColor=this.getobjstyle(parentNode,"background-color");6 W5 b; v% D. s, ^1 `9 E2 ~
& n, J: A+ c# l3 }+ w if(parentBgColor != "transparent")
4 w$ Y6 n8 y9 c {
* M+ E9 l( i8 g- O m Y break;3 _3 U! i. n; P- e; }8 p
}
0 n0 z; a( k0 q/ C* S) h }: p9 J2 ~! V: Z/ |: @; e
if(isLast) 1 n! E( }& i" V" ~! n4 O
{4 H# L% G' B; k0 @5 u% L) b
if(debug)( d# [. ^. i' s) T N
{
$ m, N; n1 Q) N; a! I! ^ alert("last!!");' q7 O* X0 c E5 A
}
& Z& P8 |+ z, w- M" n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" G7 J9 v3 A, Y5 Q% a3 e {8 H6 ]' |% N. ^
orgNode.parentNode.removeChild(orgNode);
- K# W1 W/ G8 G7 r N( M }% J3 t) ~, \& X1 l$ a! P
}9 e6 x+ q* f+ {' i
else
, ?: H$ B5 ~& t7 k- { {6 y. A) e, f1 [7 t
if(debug)! ^2 x3 v* Q8 l
{, ~% t! T) L" B
alert("compare color and parent bgcolor!");) i" J8 ]& A& ~. M5 z
}% h3 ~% l: q1 w# B
parentBgRGB=getRGB(parentBgColor);0 E; R6 r+ y# }/ R) U! n! n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 L* s& I( ^- Z* V
{2 D- l+ z/ z$ @6 N1 y
orgNode.parentNode.removeChild(orgNode); * d, H7 L; E% a+ T9 F0 w1 D
}% ~9 i5 X5 \% ~
}
% H" A$ y, [2 K( L+ F3 u }( _! S0 m3 w" `
}% D3 B" A! `9 r" T7 h
}' h% ?: P7 L( C! u: O0 |+ s
}0 a& [" E, I6 a
) h! u- K) u) W' V
* K# j6 g* a2 w8 g, d) c! L- Q
var itemFrames = page.getElementsByTagName("frame");
+ k& p. b) D' d, Y; P/ s6 w var itemiFrames = page.getElementsByTagName("iframe");
& b" ^' C" ~2 T2 O) ]9 K# ] , ]/ h5 i# v" v% g$ \
var frame, iframe;$ r) m* k+ O- Q( `# m. S U' W3 `) [
if (itemFrames.length > 0)
- O& \# Q2 Z/ Y7 b6 a8 m7 m {
( O8 L- _+ x# L* `8 I for (var i = 0 ; i< itemFrames.length ; i++)
+ F1 l' B# y. F% N( {5 @+ K$ Z# v {
- g P3 ?* g) x6 t2 w frame = itemFrames.contentDocument;
# B5 g5 H0 ] Z4 r3 ~ this.RemoveHide(frame,objname); ( f! w) k4 Y9 G8 }7 p
}
$ ]0 |9 [. m6 @& V }; T3 V" e& T% B
if (itemiFrames.length > 0)
- k/ M% |, {' g {# y9 x$ ?; V1 Q7 b
for (var i = 0 ; i < itemiFrames.length ; i++) ( x( ^! j* i3 ]$ r
{( V! S( J# ~" z: `
iframe = itemiFrames.contentDocument;8 I- R5 i. T+ L9 s
this.RemoveHide(iframe,objname);
3 P4 E# g8 ~' c" a }
1 B4 `. p( Z/ b7 K& }$ a }
% Y! a6 ]4 y2 K7 d4 p5 B" h. F }1 V* K: n" x8 {. K4 ?* ]
catch(e)! R6 i% P8 o8 t; j7 a( _
{
3 K2 f' n4 o+ u% M9 P, G4 D" D; L4 d if(debug)& v- W' y* ^9 j; M$ x' I. Z5 E
{5 G3 s$ ]5 I: L R N
alert(e.message);
# F3 [9 q0 x! o y6 q }
9 c4 a( l3 A: O6 {, z8 { }
3 W1 R K- J2 S' T) r( D4 |% F }
' [, u q; ^+ ^) p5 K' I% C
# h8 `" o' k }- S}) l7 q7 i) ?6 k4 w9 X8 K+ ^
& T% `& G! R! l/ W. d4 J8 G! Kfunction getRGB(colorString)
8 y% Q) b8 `5 ^- T2 l, `{
* d0 B& c3 L' n var RGB = new Array;
( D1 U) `/ s5 ^. z var tempSting=colorString.substring(4,colorString.length-1);) l3 u; ]. D! C c3 k. y8 N3 t4 t) B2 i2 h
var tempArray=tempSting.split(",");
0 H- E! ^9 {5 h3 x V6 Q7 }" Y7 p
RGB[0]=parseInt(tempArray[0]);
6 Q! c- C' P& V7 I RGB[1]=parseInt(tempArray[1]);
N. n4 A( u7 ^. j8 Y1 ~; v RGB[2]=parseInt(tempArray[2]);
8 h/ D/ o! q3 ]# y6 u% `
; Y$ k5 }% P$ h. P" `& U; q return RGB;
8 n. y- {' \+ n: D}
5 Z O. l& F& I5 _8 }$ F! afunction keys(evt)
- B6 p' M' j" A. J/ R { 1 m" P' U; }6 d6 _/ v9 E. A+ J% `
if(evt.ctrlKey && evt.keyCode=="81")
6 c/ C- ?7 s! A: Y {
5 `6 e0 l7 N8 f! d5 [0 e CleanHideObj.on(0,1);
) Y( z$ ^- @; Q0 W! J$ H) ^4 B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 A' A4 m5 ^9 d7 b
/ b/ J! j" d' f. X% z } 2 F1 f! U; l' V- n# F3 J
}
- h$ E5 ~8 c6 U* i- w" v3 M# F. ~document.addEventListener('keydown', keys, false);
# ~- C0 P! O- i# e1 O N" WGM_registerMenuCommand ('Clean Hide',
Z. Z1 [3 q! j v+ {function(e){& S0 _, _ U. f# ^( V
CleanHideObj.on(0,1)
" A( n" x; A3 D7 I: }( `, valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 j; s% A: V8 V/ y2 q
});9 U, B* R6 h0 h+ v. P4 D) P
|
评分
-
查看全部评分
|