|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' u( K7 v$ l6 t$ Q2 A( T9 p# B5 \/ }/ T! i
火狐插件,用猴子4 C9 a$ \" y' U: s* q
$ h! M0 Z! l1 q; b0 X/ F4 K3 {/ kvar debug=false; ( H. m2 M( |( _3 Q; A3 h/ P
var CleanHideObj=new CleanHideClass();' n8 r- p& p6 ~/ D
' Q7 L2 ^% Q* X: k3 s' L- ]
function CleanHideClass() @% R6 ^4 v$ m! Z
{ . j+ A9 B- L" D1 y G
( |( D" L; e% ^$ V this.on=function(id,bMZ), g8 x: N7 s0 n3 o
{1 `3 |3 ]( c% \; k" |
9 J% z/ e4 X$ b4 X8 Q
if(id == 0)
2 H0 z0 m/ f; U {
" e7 a n) ]6 o+ A var page=/* document.getElementById("content").contentDocument */document;
2 E7 h- @0 @; i& _ this.RemoveHide(page,"span");/ _: |2 `1 x, q" C, M! o5 q
this.RemoveHide(page,"font");4 H) ]. x$ S7 ?! @5 m
this.RemoveHide(page,"div");* G" D" t6 {2 x: H, E/ n% N+ M5 C
this.RemoveHide(page,"p"); h9 g3 V! x% ?" n1 M* i# z/ P
) V4 }- T3 d8 g1 |" \: x4 {
}
1 H8 U% h) k, d- H9 G/ z3 v- u ( z/ ?5 ]( d) a
}
/ m* P+ N; u3 m# w this.getobjstyle=function(node,prop)
( Y5 U8 w- d( A% H5 @ {9 Z8 ~$ b/ d% a9 H
try: q( E' P! O6 i1 \
{
- z Q( E0 J; V) ^: s" F return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# A3 F: O% [' S7 A0 Q
}: Y% u" c g0 z, N/ {
catch(e)9 g% t, Q, R! R0 u
{
2 v2 }5 W, O! I* l if(debug)
2 e& R4 Z8 u, I, X' d, y# m* ^) O {
/ D# F$ I; {& E alert(e.message);
! b. T u. _- |& p/ ? }
7 m4 B2 M7 `1 q$ k7 ~ A # ]7 v* w( a% \) x6 k2 c$ U
return "200";
2 j# ?; _& H$ k2 u2 F; i }7 ?# a, i- {) U9 j9 h- N2 v
}
; o( h; s$ {0 }/ G: v
5 E7 y! [; ~8 c# `6 L$ H this.RemoveHide=function(page,objname)
& C0 g( W g, ~1 e; |2 ] {
# t3 y1 P& q$ A' P try
) a: v" e# Q: Z/ O; u8 [ {: g$ ~2 }( T4 n+ i* c3 y3 a
var minValue=15;: s# G C% }7 M& e
var objs=page.getElementsByTagName(objname); 1 E9 B9 k, L K2 q2 a6 c0 w4 f
/ z& T- S- d; j' ~7 |3 e" E if(objs.length == 0) ! Z2 a0 ?3 ^) R$ q
{
# D1 Y0 t% X( {. f if(debug)
% Z5 ]+ Z+ f: ?: r- d2 @' H {0 B+ {) X3 }1 a$ i
alert("no object found!:"+objname);
" _0 z- ?9 _( |1 w8 ] }
- l, P* ]3 {5 a7 U: ^/ k }4 `4 `* L7 Q {4 s3 U5 U
else
8 h8 Y/ ?% ?. d S; ~; c2 d+ } {
9 H9 o1 U7 Z& p
- q& o# P! u7 K' j; W) N for(var i=objs.length-1;i>=0;i--) b% L& `4 x6 ?6 y
{
. P' r9 q8 M' ?% {' E1 o# Q var node=objs.item(i); ! r' b( D0 b! r$ S% F' \) m8 u
. l9 ^) G0 @5 k ) k" A0 @; L4 _' R" J9 E% S" `
if(this.getobjstyle(node,"display") == "none" ||( ?( G g7 w4 o" N
this.getobjstyle(node,"visibility") =="hidden" ||
( {$ a2 F( B7 z6 M; e8 p parseInt(this.getobjstyle(node,"font-size")) == 0)
, M# A# a" v% P4 \9 s, q {0 D4 A% k/ s0 M( e
if(debug)
) Y" T: |0 G; p) r; {3 S {
4 `- a8 Z* A7 T* F/ \6 v# a alert("remove invisiable!");
" o& [' k5 W" q( W2 d3 `( B5 ? }
+ x0 c, a3 s- S B5 Q1 o node.parentNode.removeChild(node);
% o7 t$ ?) W( ~: o/ n; Z* _
0 t/ i7 X! l! H, P( p: D% P }
8 p8 g0 _" e4 T: i else
F2 a% N# q$ a( b {+ _) }, v& M% _6 |
if(node.parentNode) # ?$ Z2 G1 b w6 t" p; w4 O6 m' Y6 _
{6 H- ^" r% K2 G: m
var orgNode=node;
, v- \. t% E' K var orgColor=this.getobjstyle(orgNode,"color")# j6 R7 F0 D8 b
var orgRGB=getRGB(orgColor);
. Y+ B+ L2 |6 x, Z' K8 x- Y6 J
, j7 v4 N* M* G0 g0 E# b5 f7 U0 V var parentNode=node.parentNode
& s _* ^1 f7 [; u' f3 B! a var parentBgColor=this.getobjstyle(parentNode,"background-color");$ Z4 r# g) a: n8 F' q& {
c6 x6 f' k5 e
var isLast=false;
2 ?; U; t% U0 s/ N# K( | Z
2 r! ~- H7 K. j* C$ {7 C while(parentBgColor == "transparent")
* c3 V1 d: U, W9 z0 X: W- w6 f { S: A* c& _1 b$ O! g
; S# f5 M; e" z + ^7 J4 s7 u* B3 Q: n- I
if(parentNode.parentNode == null)2 i8 l6 L8 Z( v* W) J R" s
{
L6 C+ V% l# _( Y isLast=true;
' N U# `6 O" y# f" V break;
/ n; E3 p; g: Y }, Y4 o6 o" i; m, r( p
parentNode=parentNode.parentNode;1 N- s# r- m9 R" a- Y
parentBgColor=this.getobjstyle(parentNode,"background-color");
# S, y- x g8 S: A8 H, u' p
& e, V2 h5 Y" r: t; [! @( ^ if(parentBgColor != "transparent")
. V$ K9 B, E0 C2 [# u# ]! ~ {/ n3 }$ B2 f, w7 u
break;7 s. h) N* H) |6 s
}
$ \2 v, I ~) p. M+ k }6 l, t) R+ u0 m
if(isLast)
4 Z& j& n" i9 u. F% K {
3 u1 m" N! |% Y* g: h' V3 J if(debug)3 a2 N* Y u* ?. ^* @, ~
{. H# w; [9 B, v2 O# y( f
alert("last!!");
" O$ \6 x8 f4 k$ M" O }
f/ l2 b& B$ M8 K; }# H6 [* w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! x. A$ R- {8 }, Q" |9 E: H
{
& P; L) m, c S( O+ J orgNode.parentNode.removeChild(orgNode); ! w4 Z3 e7 v& f7 F1 [
}3 z. D7 B" a; s, }3 D" {, N. G
}
8 ?/ L( o5 J+ L else
$ g( s1 n( t7 i8 f8 @$ a- q {
! x; E8 t: W4 t if(debug)* N( U$ i+ {& ^8 z9 C7 C
{% K5 t3 c: f) p4 Q6 {
alert("compare color and parent bgcolor!");0 j' Y$ R O E
}3 l# z1 H% _: J
parentBgRGB=getRGB(parentBgColor);
- t& [7 s2 ^1 ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ n1 i' a" q+ H9 H {0 j8 M" ]" |8 s5 {' |! l; ~7 V, [- s
orgNode.parentNode.removeChild(orgNode);
, {& `6 n+ r$ A: c9 r$ Q/ O! W }
7 T8 x& z; M/ b, H4 M( m1 h y }/ G5 x) A5 g8 G" p% t8 u$ \2 i2 z
}/ J6 j5 L1 y! U! }
}
& A6 Y2 ]- ?; M }
) g5 q! V! ^7 t, u, v! F5 g }; U7 D J! \) b5 u3 r4 v
# j; O1 c( I1 R) X, w
5 q- u1 F: `$ H
var itemFrames = page.getElementsByTagName("frame");
- t' g" F- O' R var itemiFrames = page.getElementsByTagName("iframe");
z! e1 n7 l% ]! _& \6 g' a! r( n/ v' m 6 c8 {% n# }6 X; g5 q9 N+ W, Z
var frame, iframe;& P* w$ K7 P( i! f
if (itemFrames.length > 0)
) e( W+ n+ h/ @; G( X {2 o. h' p' I/ m: a! ^7 {# f
for (var i = 0 ; i< itemFrames.length ; i++) ( S/ J3 V/ W+ Z1 T" k
{
& a3 p( `; G8 |# r frame = itemFrames.contentDocument;
D Y0 _( n/ J- I4 w0 R this.RemoveHide(frame,objname);
2 F* J6 O5 M% a+ \6 [% A6 W2 A; j }+ s/ M5 j+ t+ Q* t/ M1 O: o
} ?1 m; U3 }6 w3 o5 X
if (itemiFrames.length > 0)( D' A" r7 c2 g0 y3 C
{
4 G: I ^9 Q8 U" [ for (var i = 0 ; i < itemiFrames.length ; i++)
9 I' C4 h4 v+ v, p) \ {
8 K- n& Y+ ] J* Q: w% m5 _ [ ~! ? iframe = itemiFrames.contentDocument;
- q @% Z3 y! s& [$ C this.RemoveHide(iframe,objname); / D; U/ _* F1 i7 K9 Z
}7 M, g/ J# {. m1 ~) j
}
3 @: P/ ]) C( p+ @) i% a }
5 |% B; L0 n* u2 Y: x* g9 f* X catch(e)
! h, A" j/ J0 e {
! t4 d& L! E: M. l if(debug)
- @( j' P5 c3 ?+ i {4 J5 Q! j) t1 y' Y& v, i9 x
alert(e.message);
: a. J7 ^4 D! X/ ^/ X% x }& Q/ s, S; T' o. K: W5 @
}
0 s9 d+ n$ }. u0 @# ?: a0 O9 m+ t }' i6 K0 G1 }9 x# z% k
- P! d, H6 d% q5 a3 Y! Y) T# T6 Q}$ G- a( m4 F( t
( R: g& O1 x2 U( k4 c- x
function getRGB(colorString)1 {+ W( y6 m E6 ]
{! d$ i/ c. g, Q- q9 t, o# ]
var RGB = new Array;& ~5 v1 G5 v) h8 E2 _
var tempSting=colorString.substring(4,colorString.length-1);
2 Z, q: l$ v) x ^) y0 \ var tempArray=tempSting.split(",");" q, O( s) h( o- _+ m7 r0 P; R+ X
u: c' d# {/ f4 k2 M
RGB[0]=parseInt(tempArray[0]);
0 N% Y i" q3 x& W5 a& Q RGB[1]=parseInt(tempArray[1]);
/ E( q s0 M; k. \* M; G1 c RGB[2]=parseInt(tempArray[2]);/ u1 S' t7 [2 z( o! H
. v8 p8 U% v9 `; j
return RGB;
& T- N! r" P1 T+ W}
8 M$ _ D8 I; l' ofunction keys(evt)
6 k9 F& f3 p5 X2 O3 a: p" z( m2 x { * _8 U- G& {, h2 r: w
if(evt.ctrlKey && evt.keyCode=="81") 5 \8 X1 V+ U3 |: [ o1 O6 R
{ ) S- o% Q) e! ~3 q+ q" o# U2 X
CleanHideObj.on(0,1);
, U$ W6 u1 ~6 k. s& s {* C" H alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - j* `$ l0 F* ~7 C1 m
4 A3 K& i4 Z9 P/ u2 q& Q; l# w$ p
} 8 ?8 z2 ?) x0 G$ e! S* }* v* W5 ^( ?. F
}
! ^! t! w. S7 U/ h$ P* R/ `" s3 adocument.addEventListener('keydown', keys, false);
9 @, n' |2 }& {. A% WGM_registerMenuCommand ('Clean Hide',
4 L/ Q8 Y6 @) j! O* f, _& yfunction(e){
+ k0 [- u# S" j, t, i: l+ xCleanHideObj.on(0,1)
& F8 W+ a8 P- C4 Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 v" Y; B$ O) P$ p
});
2 H5 s7 j+ m: ]/ y$ f; _# p; n! Q3 Y |
评分
-
查看全部评分
|