|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * [* q* O& a0 s- p$ Y; o
6 W4 x: ` Y4 D! }$ A火狐插件,用猴子7 F# w* U) x) I: e
+ a& `$ E' R" N6 Y' B
var debug=false; / y. v& I/ B2 R% P5 u, @3 r. _
var CleanHideObj=new CleanHideClass();) D. G4 h# R2 a5 U- J9 K7 y
) g; ~# G+ N, K( O
function CleanHideClass()
H* O! B6 D7 g0 x% v{
$ T) `) @* A- p
) {& R7 Y) e9 H/ n! { this.on=function(id,bMZ)* R4 @/ `" V, X8 O% F
{
" Q9 W2 @% \6 h' f
" X: T; u' t1 V3 R! _# B0 m$ ^ if(id == 0)
2 S d8 y8 Z% ]( M {& ?! `- \. n' y: t
var page=/* document.getElementById("content").contentDocument */document; - E% q7 y* K' q$ Q M+ H5 o( |
this.RemoveHide(page,"span");& q; o4 R' L. ?% T! n
this.RemoveHide(page,"font");4 D1 _! v4 x/ J
this.RemoveHide(page,"div");0 i6 x% u' {: ?6 W8 x
this.RemoveHide(page,"p");
- Q, P) I( N$ N5 Y, u0 p : N8 Y. |/ @/ ]
}
' W+ t' S8 d- l4 _
! N$ K/ T( S0 n5 r7 F }
, n g) c* D. t% V" Y; T- z/ w this.getobjstyle=function(node,prop)$ P9 T) }* t3 D
{9 i7 f- V8 M. F- C$ U
try5 B+ A* t1 Z9 E# E" m# i9 V; P3 e4 C
{
) q% p, p* {- `/ y: G# g' U# d8 [ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 ^; j( d- P: R! r# Q" _
}, q5 ]5 @# B/ c1 H; e0 Y
catch(e)/ O- T( m: V8 a# F9 N1 j
{* ]' \0 Q3 {: H) D3 k
if(debug); y G; r' D3 m4 D( ]% f% [
{
: @! n( y$ p6 }* j alert(e.message);, Q& W: F0 q0 ~( H, [# D
}8 _% f- \5 O+ Z9 c
" {, M7 \, d9 W" ?/ @
return "200";6 A7 w; [8 L! [' S: G3 O
}
9 S; d- T# ?: N# l }
g( B; K5 Z5 e/ a8 l: Q% X 1 f0 L5 S! m2 r( b5 z, a B
this.RemoveHide=function(page,objname): f% U! j3 ?' @3 o' I* [0 k
{$ e4 c0 j9 W0 |: C9 P y
try+ Q* m% g7 z1 Q
{: r- S3 |5 K! Z+ Q; c
var minValue=15;
' R% G) c" ^1 U% h& L var objs=page.getElementsByTagName(objname); $ _# i0 X6 S, Z: ~
3 q: W5 a" |4 M5 a. w
if(objs.length == 0) ) H# ?0 ~2 O1 y" u: ]$ k% q
{
( Z' t( `; i# m* l: s if(debug)
' v- T* N& }" M# H4 B9 l: V {
2 `$ c4 W: \# d6 G5 \ alert("no object found!:"+objname);
b* \0 f& Z; e( n1 D& e M/ K }# ~* n4 G! i2 x
}+ P6 N/ X$ d9 M1 C8 r
else
) O0 K- y3 d9 C* b. K% ` u {$ ]9 X2 d- |& i7 Y) K4 @
* Y& F0 U( z' p% x4 s: \$ H
for(var i=objs.length-1;i>=0;i--) - `: {- G2 S) }, z# Y Z+ w
{
' Z, Y5 b8 ? ^1 F7 Y9 ^ var node=objs.item(i);
7 J, d/ i% a' t3 O8 s& @5 V t. K: G3 ?5 I8 `8 x0 D. k
@4 q2 L# w2 K# {+ W if(this.getobjstyle(node,"display") == "none" ||) G* G- X7 q6 C. Y3 s, Y. d4 F
this.getobjstyle(node,"visibility") =="hidden" ||# `1 X& C9 |3 \ _% I
parseInt(this.getobjstyle(node,"font-size")) == 0)
4 O& ~/ L' O5 T7 { {+ s) t. w+ e; c ^# g# U P( \
if(debug)+ ^: h0 d' l7 @: M, o1 S
{7 G2 w+ E! X9 x7 X
alert("remove invisiable!");
- x* a( T5 Z& S0 R0 ^ }0 T, D) \) m( T7 D! P
node.parentNode.removeChild(node);; J7 W& d; L9 P) j
4 X. p) e( p1 \# l) P) n" I. i
}
& C" |" ]" k1 |+ o( k else
8 R& A) E$ w# n {# z+ A+ \, y+ l% |. O3 A! z1 |: H# ?
if(node.parentNode)
/ u1 n* Z! M6 \9 E {
5 w% M& ~5 J+ R; F) X5 z2 Q var orgNode=node;3 W9 M1 ~/ a( g9 a8 ?0 [. ^
var orgColor=this.getobjstyle(orgNode,"color")
z* W# ^7 ` Z. v6 q4 c2 h var orgRGB=getRGB(orgColor);
% e* G* N/ c; K. D' _- e
* S9 I* K$ K- _4 J4 i- _ var parentNode=node.parentNode& W* g; Q" `2 {4 I3 l
var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 p8 k% F; z; J0 }0 s6 \
3 Q& _% N) A( I% Q var isLast=false;, f3 f* H( Y6 u9 c& s
7 o: k% B7 Y4 t# }8 `
while(parentBgColor == "transparent")
, w* [% l- I3 T ~6 B/ m6 h* S {
8 q9 U7 _. d2 ~* A
6 \9 b/ s/ J& w0 F9 V1 Q
& ^2 c2 K" s7 O2 B, N* k8 x if(parentNode.parentNode == null)
$ L3 ?8 B6 P1 c {' X: \; L- G. f7 [2 W9 r
isLast=true;2 k9 l. Q3 {7 A. Y. Y2 J
break;
+ q( z' F) {# N" i% E1 B7 _ }( b2 [9 k3 \( Y0 B
parentNode=parentNode.parentNode;
: i- t8 @( L9 X9 t parentBgColor=this.getobjstyle(parentNode,"background-color"); ?9 z8 v: q' M0 \- f2 e; m: F
" ]7 v+ Y( X% h8 R8 V
if(parentBgColor != "transparent") , F1 Z! t! \, v) B9 \% l
{5 ]# c& ~9 }' w! m/ t& e2 i1 G, B
break;) x- p4 m5 ^ v" q
}
- Y. q9 y# i7 o }& a7 B5 h7 x2 i2 T
if(isLast) 0 J) g0 Y0 S2 s/ V
{. W* x4 u, j8 N& t# O& E& y7 P0 D
if(debug)
- O+ x9 E1 {; L/ H$ M0 M0 Z& h {& P+ }5 q5 u% X% A4 V' t
alert("last!!");
6 U [9 z$ d5 S; c } k5 S+ e3 u. U9 i9 w i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' z* {* H8 ` F
{5 K1 T n7 E5 N* u
orgNode.parentNode.removeChild(orgNode);
2 K ~: K' {! E n }" g6 [0 T2 f" S- P W
}; P6 J. Q4 i I4 P' r
else
: W" L* t) ^/ j; t3 M( w; j {
0 ~( X. E9 q# y$ [: u5 d if(debug), X, ?' ~8 R. J2 Y
{
! T+ e# x' c, e9 ]! } alert("compare color and parent bgcolor!");7 w) a; G+ E0 j# e5 \/ k* y0 C. M% x
}
, j5 K& D' h8 E# N5 a2 B- M# Z parentBgRGB=getRGB(parentBgColor);
, U& y* ^3 o1 F* b: N9 e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# s3 N7 Z% w$ Q3 I8 r! v
{ f& g3 o/ w; {# i6 G
orgNode.parentNode.removeChild(orgNode); . D2 q$ M" z+ W' w- i- _$ c( o
}
/ N7 s7 H9 [# K' p; x8 g& g: T- [ }3 T% s. w+ W7 l5 L9 M( h
}7 `9 `2 r+ H' F# o) L. U
}3 M6 {1 f$ `* ]7 |: {
}
j! c D s4 K2 j+ O z- w }
" m4 S0 a' e8 R0 O" k8 {" \
. a' {6 u7 l1 B* x, @ 9 f" R! X/ d3 ?
var itemFrames = page.getElementsByTagName("frame");( e8 p. z! _) h$ K% j
var itemiFrames = page.getElementsByTagName("iframe");
. X2 z. t) u' A3 J b5 Y; H9 V
0 C' D/ G5 c2 E var frame, iframe;' q! H9 Y9 a2 p1 m! s! J
if (itemFrames.length > 0)* R6 H" x9 J2 z& @
{
3 c! R% [ T7 B8 P for (var i = 0 ; i< itemFrames.length ; i++) ! y" l( ]5 S3 Y
{
5 \- w6 u/ v+ t% `0 e frame = itemFrames.contentDocument;& R3 \0 y3 {# z/ h# p2 c) s
this.RemoveHide(frame,objname);
+ q2 P; M9 I* A; L }
" H' M6 `1 s0 v: L. k' o8 b& h }
) y, O8 R) j* j. G. J! n if (itemiFrames.length > 0)
3 [" k! s1 R# E' G# _& ^ {8 V# ^& @+ H. }
for (var i = 0 ; i < itemiFrames.length ; i++) ' Y, s9 X& v' d3 P: J7 u( l
{
$ C5 y$ Y7 {5 F- G" r5 Z* w iframe = itemiFrames.contentDocument;
" i" W7 ?1 ?2 f* _4 t; E9 e this.RemoveHide(iframe,objname);
" V' J" |4 ^, a. E }
3 B* G% C5 L8 s) J, u" H }9 U, w4 x" \7 z2 b
}9 }9 _ y( [8 U0 R5 Y
catch(e)
2 [0 O( P5 Y; t) j; [+ x {
$ h! @" x. I" f0 ]; y( s, t) k. j- L; C! { if(debug)
) o2 M+ y/ D$ U$ Y2 H1 q+ v {
5 v& v, \1 ~: k7 g) ^ alert(e.message);# s# S' [" p$ c2 T& m0 {/ C" ]
}1 P# Z: G6 G1 {3 g7 G
}
, m( J/ s1 }+ v0 K: g* O }
, A/ t1 o: r" \9 O3 v1 ?/ ], e% z 2 ?2 F* a6 U% m! L R Z/ d
}
# z z5 I- }5 g! k& [3 x6 H1 v1 y3 m/ D
function getRGB(colorString)
) l9 z' T- i- |0 K& ~% {3 `{1 _4 R. |2 M/ F6 _: ^8 L
var RGB = new Array;0 ?# k- \5 m1 w
var tempSting=colorString.substring(4,colorString.length-1);" E7 J# V" D- L; ]
var tempArray=tempSting.split(",");
7 K/ k6 Y" u6 R$ A0 J4 h6 l+ ]) ]2 ?
) K& c8 A# M" b6 J- o9 f RGB[0]=parseInt(tempArray[0]);' z9 i3 C4 {; @, e
RGB[1]=parseInt(tempArray[1]);
: b: W! V m9 v4 c6 v* R RGB[2]=parseInt(tempArray[2]);
: H) r7 e1 I/ j% a- H' r, t+ ?$ `
! P) J! Y+ y3 ]" |2 b return RGB;1 T) P4 q1 c0 f4 D
}
( X9 b9 E( f* U2 Qfunction keys(evt)
0 R$ h: ^! M. Y { , j* R4 j7 [0 C+ {
if(evt.ctrlKey && evt.keyCode=="81")
7 g X& O. r3 W5 F3 j5 l { , q9 @! M- F, ]1 e: |+ b& w
CleanHideObj.on(0,1);
* q6 n$ a$ C. @# Y( O& Q6 P& ^ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; D w B5 I' x$ M" o) G' w) O, d( K
1 f0 u+ [* H+ P6 H
} - o( b; ~" \. C8 p1 w
} % e3 s) H B1 x- G- H7 {: }" s
document.addEventListener('keydown', keys, false);
( w8 U( Q4 v3 {- p dGM_registerMenuCommand ('Clean Hide'," G9 B, I/ \: }
function(e){! ^1 t- `) U$ y9 z5 O8 T1 z" F8 O* l7 u
CleanHideObj.on(0,1)
1 f' h% n6 N8 e' w8 ~$ W Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, @" {0 @& \( n4 _- }! E1 Y- J});# H; v! ?! \7 t( ~( a& ]" }# U$ A
|
评分
-
查看全部评分
|