|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 I' v" Y9 u$ d1 ~9 h. z6 b9 ]
火狐插件,用猴子
& w$ F% H, V6 `0 b* f0 z7 c7 D( d: ~% S2 ?8 X4 d7 y% |) p* H" d
var debug=false; " D- ~. l: ?& K5 `3 M# J
var CleanHideObj=new CleanHideClass();/ N7 K: O& U- f' V; T/ N: H
) k( l9 u5 V, L# Y1 s- d
function CleanHideClass() , }- s6 \7 d* E0 d- y
{
7 J/ Z- y; C( v: V6 A5 y2 W# m
& U3 m8 U# U+ K& K, X0 ~ this.on=function(id,bMZ)+ r2 q2 B3 Q1 a" ?/ H
{5 f% V4 [! _$ d/ [9 [
4 @; [. m% H" } if(id == 0)2 K/ l: d/ X1 R; p- H! V* v
{8 j: A* H( u. a2 Y
var page=/* document.getElementById("content").contentDocument */document; : c R: D. ~5 G% d! \
this.RemoveHide(page,"span");
- b; x8 b8 A7 o |( b8 Y this.RemoveHide(page,"font");2 R% ^- ]1 d3 U( o
this.RemoveHide(page,"div");
) Q4 e4 b c6 `1 a" X$ ]+ L this.RemoveHide(page,"p");
; p& N' i8 x) {# C& b
1 C4 b2 u0 T1 m, t+ j/ Q: t$ Z }
b$ P: O& X) p 6 E, u6 Q& a0 b6 W3 x6 r" e
}' h# z; r1 g4 ]5 E
this.getobjstyle=function(node,prop)8 Y# I+ d6 E4 c r
{( {2 r2 G7 m( Z% x
try
( J+ B) F) y: j# a1 I; W( U! |5 q+ ~ {
- K1 t' s+ v0 t& k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 N/ @# v' r' J! r6 E6 }6 Y0 Q8 b }# f; y( T+ [0 {* B, L" d* g
catch(e)2 l9 C8 o9 q3 Y, I) f6 Y
{+ z8 T8 h7 z% d2 e. I
if(debug); }/ j3 w; d, R
{3 v7 c: I3 u1 x1 a. q: B3 C: I+ G
alert(e.message);% w, g' E* w4 m
}6 I- [( d, o. s5 p
# \. a5 _ C* N& H$ r6 I1 P
return "200";
% v. i& r' n3 p }
F. S6 t& @, _3 B* x; H" M: d }- R+ B$ C3 i8 C+ m
# _5 r1 L0 K8 K- ?6 s6 i. e+ ~' C this.RemoveHide=function(page,objname)8 a, f2 [9 v6 ~2 H; m2 ~* j; N" Y
{
* D. @7 T" B2 `& n4 z/ c try
( D( n7 T8 h+ H+ { {) ]# P- O7 N/ ?; B$ X; B* e
var minValue=15;5 w1 @2 B/ h* o0 s$ k! {, G
var objs=page.getElementsByTagName(objname);
/ K$ w. u+ |$ `& K% t! |; ?/ M3 g& m3 p9 J
if(objs.length == 0) ' d8 N5 K, w( Z; }3 D/ g$ L
{/ F+ e2 }, F. K4 x$ G
if(debug)9 K, b) A3 H0 `
{
4 u7 i- C. I6 P7 | alert("no object found!:"+objname);. j4 S. s" X; Z4 t! K
}5 G+ ]7 [$ J$ P; J
}5 V% D# D" s9 u0 \1 v$ q: O
else
/ R8 {* S& k: O! X: G% L2 A: c1 { {; B9 N$ M" O' Y" E7 H8 v) i
" P9 Z! Y; z3 W7 p
for(var i=objs.length-1;i>=0;i--) 3 X2 k+ A0 I) g
{
! d" S3 J- i; W: F- P var node=objs.item(i); $ d. v) c* `' t; _
2 I% n& l4 m9 Q* R5 I
9 Q8 u1 v& R4 q# p2 g if(this.getobjstyle(node,"display") == "none" ||9 k# j5 H( Z$ Q
this.getobjstyle(node,"visibility") =="hidden" ||
7 S( Y! n2 m7 b. _* y* V, i parseInt(this.getobjstyle(node,"font-size")) == 0)
. U) |# g `; U7 U l- m {
$ S, v( o: _- E9 B3 \1 a$ l if(debug)) q& b) n1 e' e2 e9 w9 c
{
: D1 I" K) g) P9 [% h alert("remove invisiable!");) [4 u9 \& t- }: c
}
- g. g( s. d: {' Z- H node.parentNode.removeChild(node);
8 l8 d4 g& [9 A7 K# \ . Y \, J, G2 ]+ |+ k
}
- c/ ~' |- @8 N! U5 U) I else
7 B, N; P2 o* Q$ h% w, | {
" s7 T" i0 c1 e( O if(node.parentNode)
. J' ~3 ]/ \( A0 U+ c {3 |; _* i) Q; \; G7 W9 J
var orgNode=node;( E9 n, B9 a% Y/ G* }0 v
var orgColor=this.getobjstyle(orgNode,"color")
& @. v9 }4 D, r' J% P/ d) X; l! a$ _ var orgRGB=getRGB(orgColor);
( d. j: v( m- g/ J) t
0 } x: ~: y2 E$ ]7 q7 h9 c var parentNode=node.parentNode2 I3 i& T% ?2 g0 O0 g& ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% v; S/ N, y6 G' E2 Z5 X - E# {, b6 @) o# p8 @) l& u
var isLast=false;1 [) f$ `1 Q5 |. B
9 d3 S, o* o1 T- x& E8 r
while(parentBgColor == "transparent") 4 U0 q3 d& c0 ]& J5 e
{
5 S. b% o7 ^" ~, E q' j 5 Q$ `1 Z1 i/ C4 K1 z$ B
- g% t; Y9 d7 n- l if(parentNode.parentNode == null)
% y- m w& a- T, I; N. v( E6 B {
( ?, o. a! @: p isLast=true;5 {! v8 S/ G8 B
break;
4 y& z# a9 O) P" O+ o6 i+ k }
) p# s* a* {- R& _# W parentNode=parentNode.parentNode;
3 _" O2 j. l; @( `, O; c parentBgColor=this.getobjstyle(parentNode,"background-color");# I' V8 {' r+ X
, x& I7 s$ T: I- X. g if(parentBgColor != "transparent")
! Z+ ~) `0 G/ V; u3 W) ` {
$ a# c! {( t, ?, q* [( K/ `* p5 m k break;, a/ U: X# ^4 W7 b, V
}* v8 @- G& o& B# a8 `4 a* U4 C
}% @2 W- _2 p" F; }* @! d
if(isLast) $ f$ ], ?& ^* Q2 V& W+ O
{' \& m$ m F h3 N1 K
if(debug)- c; p, } m7 M
{6 p+ v s+ N' Z
alert("last!!");: j: m' w& K5 L' J: ^4 q8 a" C' h
}# r9 [" V+ {& ]' p) x; c" Y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 v8 d- Y! _/ N) w" H$ G2 P! {' { {9 w: K! ~5 A/ E1 U! r
orgNode.parentNode.removeChild(orgNode);
. v$ P$ I9 U" |6 \; |. O }
7 r; W2 c& B3 X! F/ z) A# T }
, K5 U' a) C3 s& H4 u1 s+ f2 a' L else
7 r; ?/ N, y* v {& A# t' @8 d- Z; N
if(debug)
/ H6 @9 A9 X6 N( @ {
. |9 N& I$ F: {( D' v alert("compare color and parent bgcolor!");
8 y, e! x& d0 t }2 ^) D6 R# Y: D h3 |
parentBgRGB=getRGB(parentBgColor);* ?# K% [1 Z* z% j/ E- ]: N5 W, T/ C7 D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) p# U& x+ z+ j2 q g" c0 y {
* G! M* T k \ orgNode.parentNode.removeChild(orgNode); & `( U: J: l; v
}
* B; }9 O; {6 |4 t( `" ?+ R, l4 c2 c }
9 d$ ?; b" C; h: X; U3 L }
% a% [% }* o5 E$ z: m- b7 E O: `1 B }
! q9 d0 k, A: n }8 w) B% Z9 A/ z8 c6 a8 x, x
}0 k* ]: I( ~# t6 R. n& _3 r
a: H! i; }( r
$ ^. u2 X6 P1 v6 R5 \6 f+ R* m/ P
var itemFrames = page.getElementsByTagName("frame");6 Q- e) R3 H) K& |2 A1 F
var itemiFrames = page.getElementsByTagName("iframe");
. R( Y5 F ?/ E: i6 L, L& o
1 s" h% |3 b4 ^3 [% e& {8 K var frame, iframe;
0 g- Z# l$ X3 r* M; r if (itemFrames.length > 0)
4 B8 N3 s2 O0 ^9 {3 x2 o {
; g4 [ I+ t9 w2 W# k0 E% L* V for (var i = 0 ; i< itemFrames.length ; i++)
0 s }: m+ P4 u2 `2 T: m {* ]1 l+ E. s' }, I
frame = itemFrames.contentDocument;% }9 H7 V( _5 j* c8 G7 }$ Z
this.RemoveHide(frame,objname); - _. C1 z3 H: H! ~% H) x
}
3 T R. i$ \# X+ Y' V" z, l. f }
& ?; j7 {/ t8 q% \7 x" ]/ t1 h if (itemiFrames.length > 0)
2 B0 [ p, O9 ?. v% S `: N4 [+ p {. U$ d& }) v! g# ~* z1 t) ^, Y k
for (var i = 0 ; i < itemiFrames.length ; i++)
5 d7 |# C, W [3 K {
: W: I M2 Q b6 t iframe = itemiFrames.contentDocument;0 s* @/ C' J: K6 d! w
this.RemoveHide(iframe,objname);
3 c! g3 f# {2 M) G8 [8 q }
B0 S; \) P ?8 { }
( U( E. n9 F" n, j. n }4 h3 e# Y# y0 B# t+ P( I8 s
catch(e)
6 G* _/ z, {) C& h {
. j/ Z1 ^2 ?$ p' K. q if(debug)
& s/ _: P; l* |! t {
3 W4 w: k! G2 \7 Y. m6 x0 S alert(e.message);. h5 O' W( z; l% [# o( g3 u
}% w9 a) h. h; [
}& G+ [; k5 Q1 ?7 G/ i' ~' z
}
8 F. f& f9 k' T' I ( w, d0 R2 {; D( {; o% f! \
}
$ q' D; d; ] H: L- f
{* H* G7 [+ v$ c# Q, ?function getRGB(colorString)
7 t2 ]* A3 ]! D- `' i{
2 B1 ?4 X- u% b& N var RGB = new Array;3 u% [: q. \* Z& p
var tempSting=colorString.substring(4,colorString.length-1);
+ \& r% M- E+ M var tempArray=tempSting.split(",");1 G) r- K9 w1 b/ b- u6 U. k* n
. H+ \" S: d- F& n RGB[0]=parseInt(tempArray[0]);* |2 M0 Z5 M; ^7 ^5 j
RGB[1]=parseInt(tempArray[1]);
' l% E8 X& P4 G. e1 V6 t! w RGB[2]=parseInt(tempArray[2]);4 [2 g( s; {8 }' u1 M
1 l9 q5 [6 p/ Q% _4 d1 v return RGB;# T- l" _1 m( y+ k, v2 E/ r& Y# P
}
" @( M1 f- g8 m9 ]' }+ Tfunction keys(evt) " L0 p# H( n+ \
{ ) |" H+ R: A! ]8 A* q% S& x
if(evt.ctrlKey && evt.keyCode=="81")
* m+ }% ?$ |; v' o' i- M4 | {
4 W0 U( M6 T% ~9 I6 l# c0 h6 l CleanHideObj.on(0,1);& t y+ L* t8 R" o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 E/ ?* j4 y8 r* P2 H/ g5 g
1 e( k7 c7 Z& t/ n } % x, f$ Z, h; j" [7 l( W
}
5 i$ t* i' Y! m t. L! @document.addEventListener('keydown', keys, false);
: v5 Y7 h9 I. L4 g I7 J' e/ oGM_registerMenuCommand ('Clean Hide',' ^( N K+ `2 l
function(e){) K1 L1 q" W) w1 D# |; k
CleanHideObj.on(0,1)
% m6 i: n2 i, D# dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& _5 k) ?8 i; B4 Z, W: \6 w7 x7 C7 \
});
2 l9 A; m7 w' i% m9 m6 _" x |
评分
-
查看全部评分
|