|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 T" ~0 i9 r3 L+ \
6 S4 m) ]' w3 A. R# F3 H ]1 E
火狐插件,用猴子3 ]/ S6 w7 t: A2 J0 H
% d4 d: S7 r4 J
var debug=false;
" O" U2 ^4 Q6 }2 N- s1 R( F5 cvar CleanHideObj=new CleanHideClass();
. G( ]( W# j% {5 Y, V7 t2 V3 ~* U) y: D
function CleanHideClass()
/ o9 Z% `, i( m9 g8 U6 P. c2 f$ T{
! [4 ~0 i2 Y% y1 P ) t+ U8 U$ _ [' n: i
this.on=function(id,bMZ), Y2 L7 C4 K8 t, U3 f0 P3 I0 @& \5 a, p
{
' z6 E( l# f: H0 D' @
/ L# @' I5 U2 m! H5 D9 b. T- J K if(id == 0)' P5 h p, ~% v& D
{
4 s7 J. n2 { O( l0 F var page=/* document.getElementById("content").contentDocument */document;
- Z0 ]4 L9 q2 y& b& Q this.RemoveHide(page,"span");
7 M! @* Y# D9 f- l8 c this.RemoveHide(page,"font");4 o1 B9 v# C+ z+ [
this.RemoveHide(page,"div");
% H7 ]0 | b2 K1 ?( b this.RemoveHide(page,"p");
2 A: P8 U0 L+ ]$ v+ @ % ?# v1 c% e" [% _
}1 E* l* U3 [# S: j/ x
5 ?- _* j2 y* W
}
. d& p! S2 ?; s' ^; S9 F- P this.getobjstyle=function(node,prop)
* Q/ u0 Y! R6 \ {
" X5 {3 ^9 A% a& l0 [% v: y try: [* \6 B$ x+ Y$ x, M8 F
{
% A- }2 e: Y% U- d! a5 r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 w/ P: }% X3 f0 c: `, o }
& t6 }5 M7 t/ h+ i catch(e)7 H2 c* S0 O4 ]9 P
{7 i) Z; d! \/ F1 h7 ^- \2 F
if(debug)" z' o/ T# F0 f/ v6 }4 u8 g, R* w3 h
{" @! o. g9 i" L
alert(e.message);
& h- _ ]$ M( Z( s }
5 S; n( n% ^! d
0 e- k$ t; l9 C return "200";
" k, B" i7 c. R/ U& |$ l, n }" R* s: V1 R) q) g/ F1 ]# f
}
}" N+ K! e& `, Z6 q: h5 c0 @
7 e" p# f# ]/ i" j' p this.RemoveHide=function(page,objname) `1 [ \% a8 e" v9 E3 T
{$ B5 \: h+ H% J
try3 l' I% f$ X( Z8 a
{; H9 P/ b5 @4 q. n9 y: Q k/ x
var minValue=15;
6 R4 {' ]+ y- \* {. m var objs=page.getElementsByTagName(objname);
B0 b$ F$ D8 ~9 E
6 N9 k& r0 b9 B4 N6 E/ P if(objs.length == 0)
4 l1 d: @; Q' Y8 H/ q3 r$ z/ A {) ]2 j6 U, p, {: h
if(debug)
1 n3 E7 w2 c: I {
" r: W( I" j3 @' O: x+ n# g/ M; k2 | alert("no object found!:"+objname);" ]: M; k; E- Y1 z0 A2 G
}
. q# F% b6 N5 R5 F# x; x/ X }
- Q4 d$ `' Q! C2 J; ~ [ else- u2 _! ~. D# B/ X9 j3 }
{4 C- t3 N& h& U5 P3 ]
# I5 \; g: `# [ for(var i=objs.length-1;i>=0;i--) # \/ }; F A/ H
{7 Q( E& ?+ O" k; Z
var node=objs.item(i); 0 _1 f1 K8 I5 ]
/ f( R& K! ?: B8 m$ A3 J* }* J* O0 t ! H u$ f9 a6 w5 _$ q) x) e: D
if(this.getobjstyle(node,"display") == "none" ||
3 e+ n$ B0 x7 N this.getobjstyle(node,"visibility") =="hidden" ||+ W& r0 A$ x! y$ K7 v5 r! {& U
parseInt(this.getobjstyle(node,"font-size")) == 0)
7 S# J. _* E4 ~' d( m {) N( ~: j3 l* z0 @
if(debug); f+ h" @5 N& b+ v
{ E' o) G$ B0 }0 n7 f7 p& T2 e
alert("remove invisiable!");( N* S9 d* o& W' D- N) e
}
" I* [* v" E2 d! v8 w node.parentNode.removeChild(node);
: b4 q$ v" `" _
! j( F- `/ c% B: x( y0 N$ L }. Y: ]6 N& B2 \; Q1 Y% k+ |
else
+ [8 K5 ^1 {# s: |* x( P {3 M0 X& w1 m1 u) ^3 M" H+ q m9 q
if(node.parentNode) ! P& r q6 q5 c6 X% G6 x$ L
{
' M- k! A' {5 ]4 i8 ^' W var orgNode=node;
$ |& e" n7 |$ k" l' W6 K; Y! W' V var orgColor=this.getobjstyle(orgNode,"color")
! k) b4 A* N3 m8 \. [7 H/ l: p3 {1 V var orgRGB=getRGB(orgColor);
, }7 o! W6 O4 ^ + x. Z! j+ Z5 y$ E+ D) q! Q
var parentNode=node.parentNode
1 C; M! F1 v+ |2 H6 V# I5 B6 R9 D var parentBgColor=this.getobjstyle(parentNode,"background-color");4 w1 J" ?8 t( I: d
; ]4 [- [9 _% g) S Q" O1 l var isLast=false;; Z2 L8 M1 ?6 r( x$ I
" h4 g. E$ |" x P3 C
while(parentBgColor == "transparent")
3 q' @7 N4 }0 |9 j2 I) b7 Y4 T {
, i2 m6 M+ O# Y# v 1 ]) U) X0 s q( v: W
+ B7 i2 u5 j3 B Q' W& l6 j" Y
if(parentNode.parentNode == null)
% |( A" D+ F! c5 L {
( p8 e) x2 r7 S% I% w isLast=true;7 g; O: e3 P; `8 y7 ~7 u# V+ f& ?. z
break;
& T+ o, Z, B5 A* n9 o# l+ k }
' m+ Z4 G2 K- t: p4 D: K8 E/ q parentNode=parentNode.parentNode;
9 s' G) E+ f$ M9 l parentBgColor=this.getobjstyle(parentNode,"background-color");
! v: Q0 |( z. ~" |, m, ?3 n# C( `, U5 z% q" _
if(parentBgColor != "transparent")
3 {' O# K3 @& v8 g {: i# D5 T/ r. `; O' e# p
break;
+ B6 H/ X0 `' q; ~ }
( d; T9 t- j1 y* P }) i4 j) ?: j$ W0 |5 R
if(isLast) 3 C U! i! u: E4 U2 S
{: J4 ~- K) m F3 Y. a8 Z- ~
if(debug)
, D' F% C2 n) F1 Y( s3 G" `; V {
1 m5 t. U8 l5 Q6 U% n9 P) Y5 k; ^ alert("last!!");
: ^' ~: h1 F7 ]/ M/ \1 }) U5 i }
& ~. E/ ]/ \: l9 ~; K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) M. `% a' g1 k# e! p8 L
{4 u8 ~+ S9 ]' ?
orgNode.parentNode.removeChild(orgNode); ) B9 K; G0 A9 Z" N, p$ w, n/ v
}
$ V: b, y& U2 z( m- X- |( j1 F }' b! f0 _5 S$ C' ] M
else
7 X3 z' ]" s& n1 M {) `7 ` y6 L5 r% `. x
if(debug)
' F6 S+ X# R# [6 \2 ?! ] }+ z# L) z {
8 H. T9 X0 ?; P5 B4 } alert("compare color and parent bgcolor!");, I1 g1 s: o p. z
} Y1 L: a( j9 K! |& F
parentBgRGB=getRGB(parentBgColor);
1 ` C9 {0 z& G- f% F if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& |1 \3 Z" f) ?% g v5 H
{3 O1 J/ g4 q4 ~& f" I$ w
orgNode.parentNode.removeChild(orgNode);
0 T+ v. r; L8 b; i; D }
2 W1 d0 h1 a+ e0 `! u }. J; T( h6 k1 {9 T2 d# Q
}9 G" d0 x2 t$ R+ v3 F S [
}
& Y8 e' K/ [# u, P7 o }
6 |" M I, G" ?9 Y; H }+ u4 [9 H) q7 w2 c' v
5 a/ N4 Y* m1 S! e2 A7 r
; d0 i3 ]! s, n9 R! [/ {& I
var itemFrames = page.getElementsByTagName("frame");
; W5 h0 A' x9 z3 ~! L var itemiFrames = page.getElementsByTagName("iframe");3 ]' [( x4 F$ e, B
3 c0 S+ i8 h0 I3 p
var frame, iframe;
S3 _, a' X, o [! x3 U if (itemFrames.length > 0)0 K$ i1 m; _7 a) ]0 ^/ O5 }, J1 Y
{. L8 B0 N0 Y2 m2 a. _
for (var i = 0 ; i< itemFrames.length ; i++)
& [5 \8 Q- A% Q {
6 j! M! s9 v$ k/ `; a F frame = itemFrames.contentDocument;
" x0 ~' ?: S4 ~: N* b0 q) h6 ^1 X8 O this.RemoveHide(frame,objname); % b5 n! {" D. `2 I
}
# o2 ~; p& |0 H) g4 A/ K+ c }+ W C# a& H+ T/ _/ G" t
if (itemiFrames.length > 0)
. @; M. s6 F. I* t |2 E: G9 I3 T {
- S$ w( j8 {& B, |) h8 K7 E- [ for (var i = 0 ; i < itemiFrames.length ; i++) 6 S& t! z9 l) n. |7 H6 o
{1 u: Z- Q. O* l" W2 \
iframe = itemiFrames.contentDocument;9 B7 D# u" R* X! T% j7 ?- B+ S& P
this.RemoveHide(iframe,objname);
( ^& e1 @ x3 [: s# x/ W/ F }: o6 X, x5 D W4 p/ Q( k+ v
}$ n' k. j/ M" ^# ~
}
6 k1 w$ \2 s: ^# f1 A- r7 i catch(e)! f2 L" A# y. ?
{! ]3 Z- Y# P& N7 B5 m- i
if(debug)
d6 j; z8 L* i3 |9 C. |0 b2 G {
3 d( L! |8 ?/ y) U alert(e.message);
* j+ n9 k3 Z) d, Q4 y& X }( [ t9 a9 e6 d6 t
}) h; I* D7 n/ B
}8 Y; i! S4 B# O$ F( C
; g1 j3 T5 k7 q( ^; {}
# X7 ?0 r2 v0 L: `+ e: C# e. X! k) `. [# W2 s9 G
function getRGB(colorString)
) v, N# t" `) E6 t% n9 D5 u{& f7 p/ _1 [% o4 n" z* J
var RGB = new Array;0 Y! F0 O V0 N& ^# v
var tempSting=colorString.substring(4,colorString.length-1);5 s; I- {, U) ? X* S
var tempArray=tempSting.split(",");
0 y& A: d# x6 g4 l( H1 ^ \9 k/ T/ h0 J9 |) e3 T
RGB[0]=parseInt(tempArray[0]);. ~6 \/ V4 `/ ~
RGB[1]=parseInt(tempArray[1]);
1 F) {2 V. t1 g- \- z! B RGB[2]=parseInt(tempArray[2]);- F$ z" ^9 j( W# V d3 t
% y3 B: U; m% K% _- N1 t6 C7 t% M return RGB;0 \: I& W' Q* N$ ]% T' a: \
}! {, j% {- I5 o+ _$ K, _
function keys(evt) ! S9 y- b7 c) l0 ~" p% Z! Z
{
) L8 }/ H8 r/ t- q3 T/ \0 Z7 ~ if(evt.ctrlKey && evt.keyCode=="81") : F+ f/ y6 ^# v0 ~7 j# Z* C
{
6 ~& i# K- e9 ^1 c7 {% X. D CleanHideObj.on(0,1);5 w1 W& P {6 I! a. J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' ]! x5 b/ h% W( l
& ^; O6 X/ @1 i& e
}
8 F8 u2 V& M. G/ c, z; Q0 A } : L; K5 {5 L$ s& @; y1 S/ x# H" H
document.addEventListener('keydown', keys, false); ) ^8 ^: }* D2 \4 Z0 Q, t X! S2 [
GM_registerMenuCommand ('Clean Hide',
* { y0 P e( J7 G) ?0 u5 H. \function(e){7 v0 n8 T- i$ [9 v1 ^6 a% M
CleanHideObj.on(0,1)8 R7 T y. S E) k9 E0 B6 Q, w9 z" p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% X7 e& ~! \8 o" ?9 M1 w/ _' _
});& n. h" |! W& ?
|
评分
-
查看全部评分
|