|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 _" y9 H: Y4 t/ k# u/ j t& H9 M& }
! f! e& F; {7 e5 M8 b火狐插件,用猴子
; ?! N; v! {4 Y
9 O4 V" X& z1 y- N9 K& _) j5 {var debug=false; 1 U& O3 s2 U$ e/ k' g
var CleanHideObj=new CleanHideClass();
4 G( d' T4 n$ k# ^$ g" w0 l1 `5 f) f$ B- @% y
function CleanHideClass()
3 t$ `) ?3 K; f: a{
5 V* y- O' {: y# A( x9 ?# } . R7 L$ T* x# w/ D4 |8 ^
this.on=function(id,bMZ)1 C3 ` j9 i5 S( h# t1 Z3 ~
{
: ]+ ^8 Y( Q- g0 t
. X, f5 ]9 l/ O4 e if(id == 0)
. K4 v) ?+ C4 m, m. t/ ]3 L {4 H* }+ k8 ~* Q3 B! u
var page=/* document.getElementById("content").contentDocument */document; V% Y5 o. p) F4 a, V
this.RemoveHide(page,"span");0 T: J8 v! \: T) f' ?0 A* m
this.RemoveHide(page,"font");4 a9 v, g, K+ F! j
this.RemoveHide(page,"div");
( L' M* g% j! l! U# s0 \( s this.RemoveHide(page,"p");/ N# q' h, g: O, d3 a! B0 s
* j6 Q) B8 s3 A' x }5 g9 A5 P# `3 V# e$ q, w
5 D- {3 o% i; `8 q }7 `! Q' ]+ \; L$ }9 M6 I
this.getobjstyle=function(node,prop)5 a+ X! x- B0 N$ D! T" W2 K5 W. W! H
{ G6 j7 }) Y' P' _$ e
try
5 ^5 ~6 p4 ~# l9 x {
6 o0 @4 Y( p' x, i: B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, L/ C3 V T: y" X! y }3 Y. }) [$ i. A( ]
catch(e): x4 r d5 F9 X1 S
{* g5 k, J. r# m( k
if(debug)
. {3 S% }+ a9 r9 m {; G( N' A9 Q; I! _+ m5 y% C/ ~
alert(e.message);
# J2 P3 m% Q. M; G }4 _8 E2 J1 G! `+ I5 t# V$ m
: N8 P: @) M3 v' R' h* W return "200";
* V# N* j0 n1 {) d$ I& `( X }9 ]$ ~: c1 ]$ i
}1 t1 m4 ^- l* n# Z5 {
( N$ I6 M# z* D: Z* P% c this.RemoveHide=function(page,objname)
0 I. ^( i- c+ n9 m U7 \ {* v- F# }$ J7 n0 p
try
/ V. ?0 M* U# r- O5 N; V {/ u( y2 z) n' P
var minValue=15;
% |' b( U; s7 T$ t7 {. @4 y# ` var objs=page.getElementsByTagName(objname);
% r% q2 ~/ ^. ?* t% x* l
( U {0 Q- N, Y9 K; I; j* U+ E, l if(objs.length == 0)
d& Q# m& i" R/ V' } H {
# D. l$ W; j- T if(debug)( g U0 j, M7 V0 N5 O/ X* p) }
{ a# s/ l! y2 f: w5 K8 l/ I- U
alert("no object found!:"+objname);7 ]4 x/ S+ P7 e* ^& L
}9 G/ b) w% U f( A5 f; R% E
}
! v" B. U% J ^ x; ?1 m else
9 o. \8 j! ~3 S3 O3 ]7 h {
$ [" l7 n9 `# X , n' ?0 b/ |% Y1 j: N
for(var i=objs.length-1;i>=0;i--) ( w+ y2 E8 [8 l# x! J7 @- ?- T: ]$ }
{
8 W% c4 T4 A; m6 G6 O' B+ J var node=objs.item(i);
" W* b3 p5 L( y6 Z
8 j. B( T( `8 N( k 4 l# W1 u3 V- r/ n
if(this.getobjstyle(node,"display") == "none" ||! q4 h; C6 k6 v* W8 v: l
this.getobjstyle(node,"visibility") =="hidden" ||2 \+ n9 g: V5 Q, P0 D3 A
parseInt(this.getobjstyle(node,"font-size")) == 0) ( Z) E- E* B. Z( b2 L/ j! Z
{" ^2 m0 ?/ V) n2 Y
if(debug)% p0 U9 w B$ B* X9 c% J8 Z+ g5 J
{
( K7 p3 g* G# _ alert("remove invisiable!");8 \$ n* ]6 \6 o3 Y- ]: H& Y9 Z
}7 ~2 c* Q+ T' ]5 b& F, C% i7 ?& l3 E
node.parentNode.removeChild(node);: n m$ w( J& Q: P! x0 k
' p: @' q5 |) M! z. ~$ m+ ]# K
}
1 A; ^. C- e, {" n$ x& \. k! u' q& K else & v# [ O6 }0 M, P( V
{: s1 M7 D+ S( P
if(node.parentNode)
; b! S6 m$ j5 g( p, E6 P {
$ J: y# y, g' J: T var orgNode=node;
3 L$ m1 @' ^8 X# @' \ var orgColor=this.getobjstyle(orgNode,"color")1 x5 q% C( b7 b7 ^
var orgRGB=getRGB(orgColor); ; U) K- D8 o% `* O( c
4 S$ b0 O# U& m% v" A
var parentNode=node.parentNode
- P5 q. x5 M" t6 O r- U5 K var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 @2 ?4 X) j1 j8 \) s) ^% v 5 \0 K9 s9 Z- U8 l ~
var isLast=false;
" C4 z, Z# {/ A 9 `2 I3 X3 ^" R# e6 |7 c4 M. S
while(parentBgColor == "transparent")
0 m* x/ |1 X3 G' o9 e3 ^) C {( S K x$ `- v* L; a
, i, S5 M- L, H: P7 E
! m" x) Q! w$ _2 ]2 e if(parentNode.parentNode == null); {' u# r! h# I! p9 _4 W& I
{# E* q, } z# J" X* y
isLast=true;
# R* Y- t* R5 ]: ? break;, \" E5 x* t6 h$ P2 t1 U
}
1 b1 P, m1 ]5 l& E parentNode=parentNode.parentNode;
* @. n7 O+ X9 e6 x7 Y) Q+ \ parentBgColor=this.getobjstyle(parentNode,"background-color");/ A; B; a1 g2 ]
9 d/ P! N1 s' @' ?
if(parentBgColor != "transparent")
# ^- |; L8 ~! s8 C! w; f, l {3 f1 _. C) F$ w8 R
break;5 G' H' f3 G/ O# \9 f N6 X3 F" N* x
}
: j. h9 M1 ]6 ?7 z+ x5 E. x }$ N2 t, ^: W5 m- Z1 ?
if(isLast) ! ]9 b6 p& I7 L* V& G* R+ ?. f; O$ \
{3 }' o# v2 ]5 ~8 F3 @$ G
if(debug)3 t' T/ k- V0 f0 W7 e, v
{5 p+ ~1 T8 {1 y$ h
alert("last!!");, P7 c7 {" O- a) W# l
}2 ~$ U$ Y9 U9 d5 q- f! V+ P( W; P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): d* K. A$ b7 C& B- q/ `
{
2 l; D. B6 C& t' f# E1 F orgNode.parentNode.removeChild(orgNode); : k% a/ l! v& G& l& K% r; h) J
}) O! A% v# b6 c4 K
} L( }& J' F& ~; J- u! h& h7 g4 }% q7 n1 Z) ^
else5 }1 F" @1 {; t2 T! h" i! V
{
( G/ G2 \% I& J* C: v( F if(debug)
8 `& X/ @1 m. e* ] {$ C# m; C+ r8 f0 V+ X
alert("compare color and parent bgcolor!");8 Y; Q# z {: j
}
8 v& C9 I$ s8 I/ f parentBgRGB=getRGB(parentBgColor);
' c; u3 @& O; s$ p W' A3 _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ h9 L% g+ v0 N7 l
{
9 |! H( x3 ^3 |; q% D orgNode.parentNode.removeChild(orgNode); - g7 Q) _, \; o
}- g) H7 f2 L' X
}/ I1 ~ E# u: @9 E' S5 i; j( M
}+ m$ I) }4 I( [8 ?: } ~. b+ i
}
L4 ~; @$ q6 \4 ^: Y5 x# p: v: C7 m }5 a" T6 n, _5 l5 m7 R# ?
}
$ B% _( p+ m# b9 L9 I/ x8 I2 w
/ p& a0 q% M- a: C! o
, T( s$ Q, m$ q var itemFrames = page.getElementsByTagName("frame");+ D$ w- W6 d* L' d0 B
var itemiFrames = page.getElementsByTagName("iframe");
7 X) ]$ f1 }) u) @" m6 J. j , O- O) j' H- S5 f. O$ X/ o) `
var frame, iframe;
a9 K0 Y2 P3 p5 V) V# P% y if (itemFrames.length > 0)
% n: U+ F! `( j' u( Y {: {& Z( R) e" s7 i3 Q) C/ z
for (var i = 0 ; i< itemFrames.length ; i++)
8 A( x. F; Q% t$ q) f! o {
; K1 p4 p) f6 \7 } frame = itemFrames.contentDocument; i6 e& g7 x+ A4 H
this.RemoveHide(frame,objname); 0 K6 ^7 Y$ N- m7 ^
}
, F+ V/ ^0 U8 d5 ]) { }
, g4 p- y G5 ?+ T if (itemiFrames.length > 0)2 D" e) b9 c; j# ~5 y
{1 c6 _' U5 C9 @2 s' w
for (var i = 0 ; i < itemiFrames.length ; i++)
2 k) S" { J( r3 T+ G0 w6 x {
( ~: X4 s' [4 g4 s iframe = itemiFrames.contentDocument;
" d1 c# j: o; q/ C" q3 q) q this.RemoveHide(iframe,objname);
8 |0 H8 _2 E5 S4 U" V% ?% `5 Q }0 }$ c" Y. u* ]3 A2 t3 Z
}- r: J. l/ B; v8 ~& W
}
/ q8 O4 d0 K2 C) S8 p catch(e)
2 L/ o0 O6 g1 W9 @ {2 _& T& E# j2 ]; p6 v
if(debug)" r1 V) w$ y( I" K/ o: H% z" E
{
( q6 u! I+ {' [( n6 y2 Y alert(e.message);
& X1 W H+ h6 P8 N }! j+ B0 r% N8 h$ M4 {* e' n& U
}1 X1 {* [9 K2 \
}
- L' N( S; _5 Z) ^! @# R2 d
( t' d$ K; T6 S( c9 U# L}+ Z7 y5 u8 F- Y- K* w3 q& _* Y
# [; i( |" ^' f" G3 y- `5 H
function getRGB(colorString)
! M( |- H, `/ w{" _& C( B! n' F) y2 x
var RGB = new Array;
6 _2 Z: i' T) ~ var tempSting=colorString.substring(4,colorString.length-1);
4 V9 e* M' J0 W/ s' z var tempArray=tempSting.split(",");, I0 i% E; r+ V5 p1 R' e3 O
8 o$ f/ P, c2 v7 [ RGB[0]=parseInt(tempArray[0]);
2 q, k$ O- U: O( o& [. [2 X, C RGB[1]=parseInt(tempArray[1]);/ @' s( @) P: S- p2 [3 C$ B
RGB[2]=parseInt(tempArray[2]);" @0 \ q! q1 p. t1 k5 w* k
2 P; p/ l' I4 ]$ _% R: ~
return RGB;
! C3 F/ P% A- j% E}
: N% v% b, N( _. W% U- sfunction keys(evt) ' @5 V$ }$ X# K+ r: h+ X$ k% u
{
& e0 x# Z* X y& F/ d1 T0 t# ^ if(evt.ctrlKey && evt.keyCode=="81")
) x# [8 p" F( u { % o4 d- Z/ j3 ~3 J
CleanHideObj.on(0,1);! @+ _' h: A) f7 {2 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . q5 h6 e; Q5 G( H- ?, e0 d2 i
7 o7 A! g4 w& N5 w1 e# L: L }
1 u0 w- F7 A, Q Z; y' Z% a }
* ]- _) P/ u. r' T$ fdocument.addEventListener('keydown', keys, false);
4 t) l& ]2 q3 D- [2 eGM_registerMenuCommand ('Clean Hide',3 A1 B2 Z Q# N/ S
function(e){& [7 i" i* d) F: R* n* B! F6 N5 {
CleanHideObj.on(0,1)+ M1 t5 M. Z, h i. `- i4 Y' U; k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# G" G+ H& W" b; z});
! h5 z6 o6 |4 @/ E9 t/ b0 `/ j& x- B4 Y |
评分
-
查看全部评分
|