|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + O: X1 E, P' {) `! B
+ z% U" J8 J; W: B
火狐插件,用猴子
S4 L9 d8 l4 |' o1 v4 G# h1 P$ i: p: w; `4 G
var debug=false;
6 F( o- y. r3 @5 n- lvar CleanHideObj=new CleanHideClass();
# m: s( G% p. P
4 E! A, C1 h! D Xfunction CleanHideClass()
6 r6 d( [0 P/ o5 ~: J: ^$ y{ ; u* l7 n {9 h2 L& X& g) n
, l5 g' B" \* i, z/ J9 g this.on=function(id,bMZ)
0 e$ L# p( ~5 H5 d {3 J/ g2 j5 ?/ Y- Z$ D$ a/ O7 B
, l& @( _( |" g/ P6 Q x7 i( [
if(id == 0)7 E! c' J: b8 x) D$ q4 U
{
1 B3 w) U( B1 e( x0 Y6 k$ ? var page=/* document.getElementById("content").contentDocument */document;
8 f* e. I" A& U! l9 H. I% E this.RemoveHide(page,"span");' V7 `- ]! v/ v( X+ @$ p0 i6 u; o8 N
this.RemoveHide(page,"font");
+ v. D$ V6 E/ i this.RemoveHide(page,"div");
) }5 o9 F! Y+ I+ i3 h# u this.RemoveHide(page,"p");/ E) M" L6 }/ T1 O
6 o% c3 a& Z3 [ }
, J) N7 y6 ]' J/ V& Q: c. h A
. t% g9 B; p' C4 f1 b }
* ` Z4 Y4 e$ @9 @+ \* N4 q this.getobjstyle=function(node,prop)0 r. F* X8 q: S! A0 L
{8 {% t: Z# m7 w" c m: V" R
try
4 W+ Q- t0 \8 }! m, Z* s7 a- a {, R, j$ w; [1 m4 O6 b3 ? Q1 Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 g! U. X. G( w }7 p. ^8 Q1 c9 l3 V: X0 E
catch(e)
8 ?& @ D' c6 L" s' O8 N0 L5 D! | {
4 s7 Z% j6 `$ X: A* c9 J if(debug). y! }" H& ?4 k( Y$ g
{' U( C+ o# u1 _$ @$ U. @; w' w
alert(e.message);
4 R1 C ?% j- X8 F4 M5 [ }
: Y/ a! K6 P% p6 f3 v( h5 e
% z7 o2 V2 r$ D, ]5 t# P' x' y return "200";. T2 I' |( b4 c, v( X8 H! G+ O9 h6 Z* a
}( G) r( \9 n% y$ {3 }0 E8 D
}- v4 P# Z8 h* e+ x) U$ y
, ~- ?/ s, z; E e this.RemoveHide=function(page,objname)
. x2 t0 s7 o! I, y$ T/ |2 b {
3 e. ]/ B) y( z1 ^) S try
7 a4 `, Z6 A5 g# y/ l {
, {. F/ |' F4 b var minValue=15;
9 X0 t; H) e) m W' C6 y var objs=page.getElementsByTagName(objname);
- E6 T8 l: b" f! y6 O7 T' p! z& K# l* V" ]" l: t. G1 f
if(objs.length == 0) - g- Y" h; s3 E+ ~$ l- A$ K
{8 M2 u$ o! o0 L: a& ]3 Q
if(debug)3 u+ {$ e3 O4 k
{
7 I j) i6 d$ T c4 J! Q1 h- B, x/ k alert("no object found!:"+objname);. b! P( G% L) G7 D+ t% S; ?+ C
}
, N# ]0 f! D5 H8 ^1 I, K }' P4 B1 } l. W. o( x1 z; k
else
& ?( W% ]$ z( q9 C {% _8 o2 Z% i9 F3 `! i9 F& _- C
. |- y1 k( V' z0 r- V) X for(var i=objs.length-1;i>=0;i--)
# R# @. }7 B" H7 x {
6 B3 j, L+ ^! d3 S" z var node=objs.item(i); ; n2 R0 m$ x+ d7 a
# x4 n8 f' ~' M3 w2 L" p/ y% x5 S+ i
/ [4 \- l2 t2 \ A
if(this.getobjstyle(node,"display") == "none" ||
5 M, F- ^3 Z8 p1 \4 j this.getobjstyle(node,"visibility") =="hidden" ||
) g' l% b5 z* u/ U, Z parseInt(this.getobjstyle(node,"font-size")) == 0) 9 ~6 Z* E, R$ Y2 U
{# r5 l/ f) E1 i+ Q @* S0 M
if(debug)
+ C; p# Y0 A" n" P Q {
: `+ `0 i6 O; D+ ]) T alert("remove invisiable!");6 _7 w2 f b- [7 X5 i" M7 k6 A$ n
}3 n' ?* f" V, _4 w1 _# A/ C
node.parentNode.removeChild(node);/ h- w& i& T- a6 N
' U& G8 W' N5 W/ x
}# x* `- l2 j. ^( x7 P# Z
else % t# b& z5 c) k/ a$ D
{
* l/ }* U5 x V6 o' W7 a) r! x if(node.parentNode)
! x! [0 c' Z( j, k {$ i1 |9 ?% E9 l& Y6 i
var orgNode=node;/ z, g( Y& l& a: P0 l0 g" g
var orgColor=this.getobjstyle(orgNode,"color")
2 t' D# N* o( n8 q var orgRGB=getRGB(orgColor); / P9 B: ?/ F4 ]6 Q+ s# P5 E
: Q B3 M" G* U3 x8 F
var parentNode=node.parentNode
& h& y* W* N$ W! h# ~! o! B var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ G3 h( I4 W0 A \1 g 7 s6 n' X4 y9 v; n& U) @
var isLast=false;
( [0 u: P! i4 E. V; t! G
9 r& b! e# ]6 @* H0 ~* v while(parentBgColor == "transparent")
' y) M$ \5 w8 M$ r: j {4 E9 L# Z7 f0 Q6 E# n8 Q
8 f! j; u) j( e, h6 d N4 H
; \0 w% D9 z+ f if(parentNode.parentNode == null)! T: G- g3 P4 N/ [ C+ ^
{
. I& Y4 O9 C+ }3 ^ isLast=true;. g+ h/ G$ K, E" P3 _8 ?! Z7 w
break;4 b! H9 M1 e7 V. c# v- n
}% d! b$ p$ y. x. q" |
parentNode=parentNode.parentNode;
1 H* T% S% ^0 W$ ^ f) W parentBgColor=this.getobjstyle(parentNode,"background-color");
$ ?- S3 y4 }, }: g3 C, K9 X" X, p" P
( o E! j1 E6 g8 S, S% `. v if(parentBgColor != "transparent")
# a% g. e8 @% K J; S- `) ]: a; o7 s {
# d9 e1 \: j! c1 A break;
2 |# b* Y7 c s# K) f }1 r2 l: E5 N1 P6 P1 T5 U+ }
}
1 J' v' G) I/ X- X- } ? if(isLast)
P* E4 u# U! K {' F# P1 e: S3 K1 S) z8 M
if(debug)
6 Q( U+ V, O# b1 @ {
" e8 x; r2 v: f- i" @. h- n+ p! v alert("last!!");
& }! C& \6 s! A. m# P# X: o+ z }* T" Q3 t& y& z* z9 z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). z% g1 H, f0 ]( Y& S
{9 }; n, R3 G% N4 V) d- J
orgNode.parentNode.removeChild(orgNode); " u8 ]0 x* d* M
}
/ y$ N2 W# ?7 z- ~ i# \8 M }
9 q1 x) e% @' I7 J ] else
9 A7 o7 F1 ?( ]) A! V {
# A2 t' x6 H3 a6 a2 T; X if(debug)
1 D8 D% o6 r) q5 J {; z& N6 c, W) D7 C! J( l% _
alert("compare color and parent bgcolor!");
) C+ l1 \8 j& f8 q$ f* Y: I }
: I8 J* ]) y% v" m, \7 D; L parentBgRGB=getRGB(parentBgColor);, k9 S/ Z, Y d9 N. [# z# L( m$ V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" t# y, F$ { j {
6 ^1 C: T+ u3 s w0 J orgNode.parentNode.removeChild(orgNode); - a; V4 g- v6 t9 q7 n( I9 U# X: W
}
- F* G3 a( n% R! L, u' O7 Z% q' w& b }
- [) O7 P8 g8 m: x }! \1 x0 y7 D/ c5 k' d- j
}& q' S1 Z: T" v' O8 E; G3 I3 R, x' o' f, e
}+ y: {: A) L8 e
}8 s1 N7 L; w! b* _$ [! v3 z
6 h( G F T8 }: y4 g: v
# |8 k1 q7 Z6 b' R3 \ var itemFrames = page.getElementsByTagName("frame");
2 F! Y3 Q/ d9 b e! G- z var itemiFrames = page.getElementsByTagName("iframe");
/ B" E1 T9 g( m U' s) u2 }
1 F/ p1 {0 I7 s var frame, iframe;6 ?: H L" h1 U# G3 \
if (itemFrames.length > 0)# ]$ P$ Y* q3 W* }- r. H
{
4 X3 R! E! I& O' u5 {' \- y for (var i = 0 ; i< itemFrames.length ; i++) 0 h/ u4 j4 A# Y- \- O6 q
{
: X. n( @& u/ S frame = itemFrames.contentDocument;+ f7 K- U% z$ M/ j) i5 f' m
this.RemoveHide(frame,objname); ) y5 F- Y2 H N+ n# I
}
$ ~& H0 [) H J }7 b% B1 }4 W' }2 W1 T1 Z/ q
if (itemiFrames.length > 0)" b" ?0 ~: q8 |) V
{
8 f3 J5 {) z6 _4 Z- V4 ^ for (var i = 0 ; i < itemiFrames.length ; i++)
3 ] B3 A( t' w- J/ U+ [5 g {
. z) O# B5 U) E: c: ]6 t3 B iframe = itemiFrames.contentDocument;3 c; A, W9 \' @5 j: C- c! k0 I+ ^
this.RemoveHide(iframe,objname);
& J1 B" r4 n1 c5 w2 ~, T }5 |+ D- }0 z4 U) F! t/ a4 t
}
% d& M% T/ c: w0 M }
e" T& M7 v+ Z' l( v catch(e)* f+ K) f& z+ g: G$ i, Q$ w( s1 O
{
# f& B- z, B# E8 m, d$ d% L3 q if(debug)
, E, s2 Q# M& n" O {2 n/ J) K" h9 A! J9 H
alert(e.message);
/ c9 T6 s6 L8 y2 y0 w a }
5 Q8 t) D* b( f. ]9 k$ i }- E# S, a& H5 ?- U6 D' h' @
} ~2 l8 X, k! D9 h+ n5 K
7 G5 d! I9 Y Z' p6 ^" j* A# }: O5 T
}
) S; {- C k+ r- @ p# y2 }& t9 W9 j
* U: F9 w/ @. y7 C3 Gfunction getRGB(colorString)5 P( P+ }7 x# J4 [/ {/ ~6 {( @
{+ x+ K, O( G+ G' F' F. M
var RGB = new Array;
& E6 g1 K' a6 j var tempSting=colorString.substring(4,colorString.length-1);
8 U. ~ V' u& J( q, r var tempArray=tempSting.split(",");
8 @2 B6 O0 d* D0 ~: i
' @% r: r, r3 w5 Z9 @/ N RGB[0]=parseInt(tempArray[0]);7 m. P' p# S+ b# q( T1 ~
RGB[1]=parseInt(tempArray[1]); n$ _; L5 X& n2 X: G4 y u8 S
RGB[2]=parseInt(tempArray[2]);
2 s( D8 U: s# A3 K# D- c
/ V6 j6 f7 |$ G1 U return RGB;5 k; X2 f' h- p( K& P* m( ~
}
( {, t6 t9 b" a" e8 P8 c: G% ffunction keys(evt)
8 P( K1 q$ ]- p/ c7 }& t. a {
+ L1 T$ t, A/ X- g) D if(evt.ctrlKey && evt.keyCode=="81")
9 ]) l' ]1 [: D3 | { + ^' U% j: u0 X7 R
CleanHideObj.on(0,1);
. b! a' x5 k o alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! m: ?) n# C& P, N1 K+ C& d4 y1 X ; @9 u* c x, p
}
; o8 p9 f. x- o C! C! { }
6 ?6 X# M- ~* ydocument.addEventListener('keydown', keys, false);
% B w) h+ Q vGM_registerMenuCommand ('Clean Hide',9 |% _" N/ f: l2 U
function(e){3 L1 k( X& F: i j
CleanHideObj.on(0,1)) n6 X+ X" V( J. o( I& E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 ^, i- J& ^- [ F/ `});
' `# w: E, `! r7 S0 m/ |0 Q0 o |
评分
-
查看全部评分
|