|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # C, m$ G( y! w' S9 A% o+ A) S8 ^
" f, r1 t% Z& {! i' \
火狐插件,用猴子
( F1 Q/ }( F% v* C- b v5 n/ ^" R3 u
0 H8 _0 G7 q* f0 wvar debug=false; ' H1 q$ g' G% \# Y; E$ K# p9 y
var CleanHideObj=new CleanHideClass();& q7 m2 m' f$ G) A5 M4 z
) q4 e5 r* |& l* H2 Afunction CleanHideClass() 3 N7 r/ v# {2 _5 T% w( q
{ 6 i- F2 [5 j/ O" B" D X/ s7 G
9 U, d3 ?% _5 E/ b* }, G3 q' C' b
this.on=function(id,bMZ)
/ w& }0 |$ p; D4 M# d! h. f2 k {
5 ~' ~/ U1 B* r7 W
7 r9 O8 O# U3 A7 p, N5 w if(id == 0)
D6 [1 ~* h' A) r# D" f' d {
! q9 r! F4 ^) Q7 _/ @" U, |' x8 N var page=/* document.getElementById("content").contentDocument */document; 4 V: i: |) ?( x2 M$ ^
this.RemoveHide(page,"span");* |6 M' ~. ^$ w5 v
this.RemoveHide(page,"font");
# V% l; y3 J; M( [3 N this.RemoveHide(page,"div");1 V- V4 p0 W6 W3 R
this.RemoveHide(page,"p");
3 T# k( k+ o H6 m, Z# C( n8 n ) G! j# R/ Q0 X# {0 U
}3 n* d+ N: O/ ?" [: J0 c( ~* K
+ t3 U. A* N, p: { }
/ t3 F' a! c6 B' Y! f this.getobjstyle=function(node,prop)0 C+ V a3 q4 s1 ?/ f' ^9 d& p% m( ]
{( c2 R; W3 k# y j1 t9 g0 ?
try, E! M% B6 g1 @4 T5 W$ O7 B
{ z8 W) w4 k& k5 x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 y7 e4 M/ h+ p; R1 E4 S }
8 Z* g# w; H* T9 P" l9 V! l+ Y catch(e)
& |% Z- X/ D' t# I0 R* E {
$ V; f) G/ o+ r6 U$ `; P, M4 ` if(debug)
- v' D! K) h3 R# `2 z" A {
T) Q! Y+ P" l B' x# W alert(e.message);
" x; _6 g4 c. h3 G+ ^/ [ }
% c1 z+ U3 T- k
( k# n+ Y# O& h; ~" L9 ? return "200";% U8 ~. i) B/ o' L0 I8 Q9 U
}1 b6 {7 N6 U. O0 [4 @
}& v' [: R' W9 x2 E# J
) Q5 F+ C ^" \0 d3 {: p this.RemoveHide=function(page,objname). D, a/ b3 D2 D. _8 O$ W" R
{; q, u5 {" I& U
try
* z9 x2 B' Q* D* `+ k {
! o/ w( @/ s- v; ?1 P3 }# U var minValue=15;* ~+ Y. r: c; S6 D- s9 |4 R
var objs=page.getElementsByTagName(objname);
: ^' F6 p% D' Z6 |
- y9 I+ J" b% V if(objs.length == 0)
1 s& w% ^* Q: s' G5 R {/ B& }3 {" p2 Y; O! {7 O
if(debug)$ _2 I1 ~: S2 I C+ I& a3 z0 L
{
- C" D) Q3 D! r T3 G alert("no object found!:"+objname);
" p7 y: c$ B8 s8 P! A }
$ G$ k6 ]1 @6 X V }& u4 ^. w: D7 D7 F+ ^1 c
else% r' z4 ^5 R) p w9 j" B) @3 n7 W
{+ M7 ~0 U. p- t' D7 }' ?
' C: H( u( q: p8 N. a- {8 o) B2 y for(var i=objs.length-1;i>=0;i--) : i( N4 _% P. z3 Y/ H e8 k. v( Q
{
8 U9 r7 H* H( P7 O var node=objs.item(i);
; p7 g0 ], t& G. k2 }
: X2 y- V4 |: N1 {# V# a# x) e
) E, X6 C* h' r/ r6 A6 H if(this.getobjstyle(node,"display") == "none" ||5 D- l2 m( @% {* e
this.getobjstyle(node,"visibility") =="hidden" ||. K& H# Y% X1 |9 j# V& R. t8 U
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ h9 B9 d: P2 V* i6 O! R {
, I( |5 o# v1 R+ L0 R if(debug)
& o8 m4 ~" c% @, X1 `% c, p0 X6 q {
, z8 c- F+ E& c: Y3 Q alert("remove invisiable!");, J9 y) L k# {/ w
}7 }! v) p9 c9 w% j6 E. Q) }, \# V- f
node.parentNode.removeChild(node);! v. Z5 P% O4 R6 u7 l0 g" S. S
e: c$ r0 r! g7 l& n7 K }8 z9 a" n' j2 v4 b6 I5 ^% d Q
else
7 _% j+ ?+ F' P) [- _7 t {
+ D' U9 e6 W; D \; P/ l if(node.parentNode) 7 b+ z' I R4 Q2 j8 I/ c
{$ I$ x* u$ z, U1 V- H
var orgNode=node;# g$ V J& x& @! u: I* c3 w
var orgColor=this.getobjstyle(orgNode,"color")6 q) S% Z' o; m/ W
var orgRGB=getRGB(orgColor); ' H" }) q6 _5 U
3 o; [8 m8 C& j$ Z
var parentNode=node.parentNode
& K/ x; H# v8 v4 b7 L& @1 P* }6 E3 S var parentBgColor=this.getobjstyle(parentNode,"background-color");; B, M" g( K, h1 ?9 Z
5 d6 a0 h% j% g+ K! n* W var isLast=false;) u+ r+ F% v4 @
) \5 C2 j+ W. R& w+ X
while(parentBgColor == "transparent")
5 q4 [( ?7 }* B+ f3 }- U8 O {
9 p, q8 Z6 O( s8 ~' A
* A! U' M2 L3 |5 S( ~+ y$ u
, D& T* v, l9 U1 Z) Y if(parentNode.parentNode == null)
9 \6 n8 T! \7 R3 b {
) c1 \$ r* n% S/ H/ u5 h% L isLast=true;6 m6 L7 [" }# p
break;! ~6 C1 V& M: g
}
3 H3 d& z6 c2 P& |, T( B1 B parentNode=parentNode.parentNode;
9 e1 o" y% ]2 i/ V% ?. ^3 P parentBgColor=this.getobjstyle(parentNode,"background-color");: d( e( M9 T9 \+ n# B: I
5 U* F, Z* g9 b4 N
if(parentBgColor != "transparent") / ]! n: J k5 d$ ^. ?
{
. W+ l$ h4 n, }! X0 U1 Y9 I3 T break;0 C' c1 ?- x* R
}. f* F T! A; P( I6 O, Q
}
- j7 O! x( F' T if(isLast)
" b2 D; }2 y L/ A% C( l {
" N# Y% A, z" K, _- [! z+ e if(debug)
9 Y. h* ^( x A+ \4 T {
) A! h+ a: U. y, [+ b: \ alert("last!!");. j; n$ U- w2 U8 R
}* p! D# x6 d) {" R5 `& Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 ?! J2 Y3 p" n5 b- _ ] {
+ L6 o/ r1 C6 C orgNode.parentNode.removeChild(orgNode); + R" Z5 u) M! Z8 t" ?) V1 q
}) L8 i G* |4 e+ [, @: G
}
1 ?" P( x& c1 q6 P& C8 N6 J else
$ e* f# Y6 q0 a {
. k0 a, P5 c( u% A2 N if(debug)
/ F. F2 Y! U' _1 k! L {% {7 s) _3 \4 {5 ]+ ]
alert("compare color and parent bgcolor!");7 k& {1 e s# t1 V
}
5 Y+ s* m1 [$ Y$ y" H) C0 ` parentBgRGB=getRGB(parentBgColor);
& c1 H$ m- Z$ t$ x; v7 i' s: j, ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- m5 M+ T( }6 V
{* n; c2 x! h; c/ e" G. D
orgNode.parentNode.removeChild(orgNode); ; J+ N( R7 c- R- S6 [: B) i
}
# l8 D* ]; _( Y }0 n6 C" a2 Y/ U( i/ b
}
% b$ y: H' @' {: E2 _' a9 S }. _9 ` M7 H! L9 u9 ]! G
}
% B* j3 P- f+ W9 O }
4 e5 h2 P8 Y4 J$ `# W$ X! C! L : x8 ~ m9 ^3 F$ R9 |
. A! ^, ^1 z& I6 _( ?
var itemFrames = page.getElementsByTagName("frame");
( E. [: E# N( q0 C+ W0 {. a var itemiFrames = page.getElementsByTagName("iframe");
1 k" d' w) o- \8 [6 v) y
. _) I5 z3 J: x1 n% P _ var frame, iframe;" a& X k O' C: i& a" T
if (itemFrames.length > 0)
( W/ `& C \. X% Z4 d {
0 L9 @+ G1 _ p: q; F for (var i = 0 ; i< itemFrames.length ; i++)
, ?6 @/ B$ Z8 i, ^/ p1 `# g {
- `( d/ }. ~; O# _ frame = itemFrames.contentDocument;7 j6 j& _' x- y: m
this.RemoveHide(frame,objname);
6 B# X* S( }: P8 B% G) o9 A }0 D0 n! a, P. N; d- o2 g" m2 h
}
1 ^+ n, u5 d. c: X5 P if (itemiFrames.length > 0) y7 L- z& _, F0 `* @
{
) U: X* e" U: e3 A# D( ^! V$ h for (var i = 0 ; i < itemiFrames.length ; i++)
3 V5 I( q9 N4 `! ?) U) n$ `' v6 ^4 S {
2 l* m" j# E8 X" O) G3 a6 [ iframe = itemiFrames.contentDocument; e5 ^5 D# [& U
this.RemoveHide(iframe,objname); / b4 r( D3 n# ]8 [2 t# g' z& V1 f
}1 p8 E* s1 L- N
}
- c+ [4 Z4 u& A4 W+ |4 o1 R$ B- X }6 a1 f* M3 e' R+ r& u: }1 k
catch(e)
5 B9 x0 B9 L3 c {
9 u" ^, L) P) |: `0 [" S if(debug)
& M! r" M& A7 W+ j {7 x- c- `! B% i7 ~- m* l
alert(e.message);
' b! z5 l3 _$ ~ N }
; k! _9 N2 W: G }8 t; b! U7 G0 |) T" o
}: }1 g) [, I6 P
6 ~) M; W. I5 M4 ]; Z0 w}5 V6 g6 G3 x$ [" j
) u" S2 Y" v& ~/ F! m ]( S
function getRGB(colorString)
! h+ q; y# a; m P# _{+ f* B" I" V6 p: D" S( |8 |" ]) K' ?* g
var RGB = new Array;5 {! Z( {/ I3 |" z$ i$ H. a$ n9 L
var tempSting=colorString.substring(4,colorString.length-1);
& f. @" ]& ~5 P- j8 b0 m8 b2 p var tempArray=tempSting.split(",");; k: N* Q2 y- ?- H* G' P7 }7 E7 S1 q, @
. F$ @2 r. S: }) W) k7 [3 k
RGB[0]=parseInt(tempArray[0]);2 Y; X( i3 q( q( \3 b
RGB[1]=parseInt(tempArray[1]);
- `4 f( t( y4 y+ n, i RGB[2]=parseInt(tempArray[2]);
9 Z6 O/ a; n; E( X, b * V1 D; P' ]) M) X2 d& c1 u* c& X
return RGB;
2 O& ]3 G4 v4 A( D r" P}
( @0 y" r2 w' n; J: k2 \function keys(evt) 1 y: h4 k# ?7 v) g8 ^
{ 4 C0 Y1 x% n$ t0 B. n) u
if(evt.ctrlKey && evt.keyCode=="81")
) I: Z) Z$ Q$ D, n) v% z/ @( S { 6 `. z- M4 F8 W
CleanHideObj.on(0,1);- v0 x8 c4 n( D6 C) W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) d# ^% N: d' l# y) Q" [
8 J. @* ?- O4 C& @- N% r } 8 D. b3 c- |$ ]/ V
} " X/ U0 J: D8 [ m% u
document.addEventListener('keydown', keys, false);
$ Q9 ]$ ^/ P# dGM_registerMenuCommand ('Clean Hide',- M% g) j! y0 i6 f- w9 q! {
function(e){# q) Z! `/ W9 T3 c6 y/ N7 G0 J
CleanHideObj.on(0,1)- K( [+ H7 }* m+ t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 h8 \: Z* ~8 q+ b
});
[: r: E: U0 c) a |
评分
-
查看全部评分
|