|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ d1 x- q. t( s- ]
) n0 ?7 {. ~# _4 Q: h
火狐插件,用猴子1 T/ O6 s" P! X. i" q
' u7 l% |, H0 r. p0 `var debug=false;
/ A* V; _9 w, G( d5 X+ tvar CleanHideObj=new CleanHideClass();
& Z, g: m3 u# R7 K3 w( B: `6 v5 H+ y. X6 ~; }5 O% S
function CleanHideClass()
1 R) o5 Y- {" ~{ 0 ~) ^( d3 Q7 H- w9 h& C
+ m" j" L, b# F- X
this.on=function(id,bMZ)
g8 t; B; p% d {
O8 l/ \2 e/ i _$ e0 x! v
( b# I. [' C: x5 H/ h if(id == 0)
6 e1 p# j) _+ `$ K3 B+ f# ` {; y. u* Q# Q* ~7 q: U. i/ C
var page=/* document.getElementById("content").contentDocument */document;
+ G- E. _' W+ {) ^3 A: |; P; r/ D this.RemoveHide(page,"span");! A% k# ?- E* ^# g8 U) q
this.RemoveHide(page,"font");
) O/ Y' k; I4 X5 Q this.RemoveHide(page,"div");
9 J& R, G" D! R this.RemoveHide(page,"p");
% x% m6 z* n: ~ 3 x$ S4 [3 ]# a0 c. ]+ x
}
/ k! V' A6 u+ U
1 n0 [) o9 Y8 e9 i* G, R8 N1 a }" M! U. c: r" C5 P
this.getobjstyle=function(node,prop)
; D2 [- d% [! ^, Z r {
1 g% f; R- t. ^) e) ]% m O/ e1 \" U try
, B8 ?) F# f$ e {
; c# p' ?% r; l, P2 V: G7 v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 c3 c) c; X; ^" C: Z }8 _$ F$ K& ]6 w
catch(e)
/ d5 X) D3 S2 c/ i- U {& o8 p; }! J. U. g
if(debug)% `# V" a1 e- s0 X4 N) Y9 p
{
2 Y2 D0 R4 S9 Y alert(e.message);( V( b2 U+ W/ G6 C( g6 f
}
: i. Q2 R# k; _9 S " X x2 h& C) I
return "200";
& ?. P( ^0 W% e; L4 Q# S }0 `; b, B# W# B4 L; c
}( ^3 |$ \7 x5 {2 m
8 z+ C# \8 l8 |; O% j, C: J
this.RemoveHide=function(page,objname)
5 P- F* X! p: _, Z# k* V {
|7 o: z$ i) v/ ` L9 R$ t try; ?+ b" `( M% @- Q' H
{
. J/ F4 F' p: m. V: s6 m3 I var minValue=15;& i/ Z$ E; h3 M2 k! m
var objs=page.getElementsByTagName(objname); 4 K2 G! b! G: |: Y! \4 B3 r9 z
& O7 N. h% G$ I! q if(objs.length == 0) 7 W4 S; @" d: t- }0 `
{
/ \1 T% i3 l4 a/ I if(debug)
S! {3 `* h% Q5 \+ v2 x( G {
- W" V0 m% M, S5 W1 a: w alert("no object found!:"+objname);/ L, U7 j! o8 |" u+ e; y6 W
} _9 b& w6 s; l" D( E. V" f6 |
}' U1 ~1 }8 ?' S) Q
else$ ?4 I; t$ d) s" d3 W; }
{3 O6 n$ ?- |8 o- w5 p4 H9 l) {4 a
3 i! Q/ \! K; k
for(var i=objs.length-1;i>=0;i--) 9 ?0 @. W0 h; {# Y$ W$ i) _
{
) c% D2 E7 g3 q, v8 ] var node=objs.item(i); + q. ` a2 e! U
2 @3 x* B* ?4 B6 s2 n/ ~6 L
Z9 o3 R( s& o6 E- S4 \ if(this.getobjstyle(node,"display") == "none" ||3 t0 P1 ?5 j _. T2 X) X4 N$ S
this.getobjstyle(node,"visibility") =="hidden" ||2 n: q. ^- x0 V" [) j4 C
parseInt(this.getobjstyle(node,"font-size")) == 0) A8 M* w1 [: e' Y1 f+ I
{8 Z) d% e. L- [: p3 q9 \- Q3 C4 P! @
if(debug)
" c6 Q1 V2 h8 X u' E5 ] {
/ t" W' e0 c1 }, H- _ alert("remove invisiable!");9 _0 H9 H) w6 ~- z/ c/ F
}) ]6 p, h5 m& z: M X1 f5 E# w9 {
node.parentNode.removeChild(node);6 G6 o5 Y/ Y& _( {9 {# Y+ c' s8 C
& I$ f" B+ X: f, ?' C6 z }
5 c4 F; h) ^: Q3 O else 5 u: E3 w# e; I* s
{
/ r/ D" j0 {, ? C# m if(node.parentNode)
% L1 t$ W% G+ V& G( L. [' U {: |# Q+ p" m" M/ Q' ?" y
var orgNode=node;
- I% S x2 _, c; m" R7 M var orgColor=this.getobjstyle(orgNode,"color")7 Q5 F0 r- B B0 _
var orgRGB=getRGB(orgColor); , P8 j T/ L K; O6 Q
* U3 @5 L% V. V7 N' h9 c6 N8 e var parentNode=node.parentNode
. F) L1 U7 J5 t0 S" f4 ]6 X var parentBgColor=this.getobjstyle(parentNode,"background-color");1 C. n% C9 b% l! a8 v1 }
' K2 j/ |# o# F8 d- g
var isLast=false;
7 r0 h0 n7 Y9 L [2 c' D, x$ ? 6 K+ K k5 A0 ~6 L
while(parentBgColor == "transparent") 5 G. e* ^0 D+ f
{, ?6 q# j! B: G8 {) i! U: C' T2 X
8 e' L6 H* r, y. c8 b" t8 s - p! f& P e+ c. ^
if(parentNode.parentNode == null)# H2 E& v7 f7 W' x
{
$ x% |$ G" J' h8 a isLast=true;& _" f! a! M) u5 d" Z' G
break;* i+ ~/ B6 g* ?: x' n5 d! P' T$ c
}, j7 W7 U# B3 Q5 e
parentNode=parentNode.parentNode;8 Y" @8 f( ~; n
parentBgColor=this.getobjstyle(parentNode,"background-color"); k" B, e5 t( l A; ]5 `
6 O2 o6 ^7 Q; x& | if(parentBgColor != "transparent")
6 [! d! D w) m* Q1 T {2 ?3 y# I9 A; A k
break;5 z( y+ {7 ~7 V3 p$ R' u6 t% x
}
- F4 q2 U9 C6 A* c( E }- E' q0 W, M' R6 u/ k) I
if(isLast)
8 |/ E4 O2 B" F6 T9 X {. G1 S, c: j b. Y7 Y$ c, e
if(debug): m: ~& v% z1 p$ \8 d/ q) a( Z
{8 } I, n, |1 g8 d; f1 q% X2 j
alert("last!!");
: e% L8 ]1 W$ w5 o S }. V j" P' Y I5 H0 f, m7 M# |" @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 j8 Q, Y P) ]5 ?$ H# ?( [+ V3 q
{" G+ @0 z; D7 X( C$ J
orgNode.parentNode.removeChild(orgNode);
* G5 Q" o" H5 y9 h) w }
8 i& S" {+ W" g4 s) ~1 q }
5 o* t' x. a1 a+ w( e/ m/ h3 R else) o! W4 r+ R5 q# U( {
{
2 Q/ s% n& \, g5 v4 L: B if(debug)
' ?- T' ^! k( y; e b" } {
* G x5 J% B# \7 q0 S, k alert("compare color and parent bgcolor!");4 `; D5 \6 m8 t# G6 \3 ~$ b
}) w9 O# T. o8 w, u! a5 {
parentBgRGB=getRGB(parentBgColor);% D; W. C0 @8 r0 C6 q. L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ N/ \. A5 I0 m6 Y# ^' |6 w {
0 R) c% p6 O- P orgNode.parentNode.removeChild(orgNode); . Y% l1 z4 R" o, b1 P
}
9 b8 V, Z5 t$ F4 t }
4 D5 I s, T- l& L% r }3 ]# m/ t& O. l* H. O
}
1 g8 _" h& k" f, m" E& J3 } }$ q, f; Q m0 |( ]+ o( L" }0 Q5 X1 I. n
}
2 C/ v0 |0 }0 ?. O5 Y R
. H( {2 D, Q& j # x5 |1 z& ]% a
var itemFrames = page.getElementsByTagName("frame");
\7 _, Y$ A4 z2 t" u( S- \ var itemiFrames = page.getElementsByTagName("iframe");9 \( w* ?; p8 u- z- @: V
3 m( @6 K% H" Z" u. {
var frame, iframe;
& b" i/ g5 p: K8 j5 d if (itemFrames.length > 0)3 j8 I3 @2 {- e3 b- y# F0 K7 C+ \ D
{ T Z4 \9 g: x+ ~1 O
for (var i = 0 ; i< itemFrames.length ; i++) ( G( z! ^; R" u
{
5 F1 r; M* M, Y& Y5 }; a7 @4 M frame = itemFrames.contentDocument;7 c' c l/ f, F% s
this.RemoveHide(frame,objname); 0 V2 j2 d3 [0 `2 |. ^
}
, a3 K$ Z, P/ g }( D# l& C7 ]& f% ]
if (itemiFrames.length > 0)
5 F: l/ s* u. ^/ ]5 s9 o {
/ ]# Z& @( S! J. b Z/ h for (var i = 0 ; i < itemiFrames.length ; i++)
8 F7 f0 D+ E% c) V b4 S( i {
% F+ } ~1 ^! s: K9 K0 e iframe = itemiFrames.contentDocument;
; m+ R: A. l. J8 W+ j5 {5 l this.RemoveHide(iframe,objname); ' g. M9 u) X# E4 D& N n7 Z
}
8 D8 h- s# O) `1 A" e; \ }, a( \+ }. e, G: g9 P( v. P
}+ E7 b, {7 @0 M; l+ N
catch(e)! x4 z1 W7 m3 U6 u
{
5 ^ f' J/ I( w if(debug)! l' z4 [8 g, W
{& r7 w, \+ ~) s/ }. e$ m8 j
alert(e.message);3 L0 ]/ f& {" Q7 k& U
}& Z) A) o, q" V) f& u7 o; o
}: C9 J0 x8 D1 l* p+ C9 D2 p- }
}. _' G1 I2 C- s2 A% X6 D i1 m
# _& x* x. H" ], j1 p+ X" Q
}
" r0 F2 R* H2 M# k. `) x# p- h) b* F9 Q% m: x1 \
function getRGB(colorString)' Z6 l9 }( D3 n3 S; L
{7 H% {. E* Q2 a z* S0 o
var RGB = new Array;
/ h* z3 }' F" o9 R9 v var tempSting=colorString.substring(4,colorString.length-1);
% J8 R; q! u/ p1 O2 p/ ^1 C1 C var tempArray=tempSting.split(",");
. l& U! p+ p1 ?& _( d6 k1 F
, v9 d% u- _, A" M, H RGB[0]=parseInt(tempArray[0]);6 [! a l! ?( I; t8 T5 ?1 t9 z$ Z
RGB[1]=parseInt(tempArray[1]);; o7 v# Z5 ?. `# n) ]9 r
RGB[2]=parseInt(tempArray[2]);, `7 P* ]5 [( k9 N3 J6 p
; Q+ b4 b s' W- C5 A
return RGB;- ?# D. _1 X! r5 h X/ {
}: @2 y0 I9 r# w0 P; {2 }! ?
function keys(evt)
. \8 B( R. D3 e4 B6 d* Q. T8 Y { ! m: W; ^7 p! Q8 K: o8 _
if(evt.ctrlKey && evt.keyCode=="81")
6 f, l5 }5 c# Y {
- T+ T1 g8 z! y4 H7 o# |/ x CleanHideObj.on(0,1);# o7 \' O( y" ~/ H0 S7 X7 Z5 U" k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 f4 t- [) x6 p+ e% O! s: F 3 ~* b0 i; t! ?$ r0 w
} 7 b; e$ y9 Z! I7 k1 G4 B
}
$ U" K6 K& N0 q5 U* b. R! Ydocument.addEventListener('keydown', keys, false);
) r' A! p3 E6 NGM_registerMenuCommand ('Clean Hide',8 g; g: _/ l5 m, q( {) X
function(e){
4 u/ B; F) b* b& C( [/ j! wCleanHideObj.on(0,1)3 G0 \' ?) ?1 m" ~6 t0 Y0 Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* X; u: m/ u* K' x5 e7 k2 z0 ^});; _0 K0 z; S3 U/ ]) b9 f3 P1 y ^
|
评分
-
查看全部评分
|