|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 M9 Q7 e V( Y# F% ?# H
# h' p+ U7 d- J* \* r: C
火狐插件,用猴子4 k$ u2 I6 v8 A/ Q7 X9 k, _
7 e/ _0 }% q: S2 G/ H
var debug=false;
9 t$ U! S, ~/ V$ Z/ W, ~" a+ G ]var CleanHideObj=new CleanHideClass();
; ^' r$ j& y3 ?
: F5 T4 V. }0 |0 r9 T2 |- dfunction CleanHideClass()
2 n ^. l4 ^; }# a; n$ _{ 5 T4 X+ M7 y& |# n1 d c
1 y6 G {. C8 x this.on=function(id,bMZ)- {# }! Q. f* w/ }/ ^
{
: h1 U, z4 T9 l* X C3 x! I" e
6 l. R" g9 `7 I, U' o% ]3 l6 B if(id == 0) m0 r' |' d1 e: ]; T& l- B
{ b( Y: r2 t& |$ T
var page=/* document.getElementById("content").contentDocument */document; 5 K2 X& \+ R0 `" A' O* t
this.RemoveHide(page,"span");
% ]+ M* {0 @: } this.RemoveHide(page,"font");
" Z k; t9 f2 ~+ O this.RemoveHide(page,"div");5 q% z( ^5 r i- u9 w c
this.RemoveHide(page,"p");
& L% `4 P( h8 B& ^ & }5 R# n. W: I$ A& g
}) b; Z2 {3 S; s9 C! r3 r3 e
# |; r' G# Q- i1 K9 m0 O4 X( Z
}1 W, F) |# _2 ?) k- Y
this.getobjstyle=function(node,prop): S' `5 j$ n+ y; J# A" A
{) o( x% P+ }( `1 G: B0 z1 O
try4 h+ {: m3 k8 K5 k: U
{/ ]; c- G) S" M- ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 E0 a4 f! ~% D+ s) ^8 A
}
1 ^2 f, @! N+ U catch(e)
% Z9 n. r9 s2 k4 o/ V% r% R {6 Y( U& H1 `4 `& Y y
if(debug)3 ~1 d$ C$ H! S" R% I' B
{; s3 o. s& n( k9 V3 i3 I
alert(e.message);2 o% X/ q! p* f, ? `7 b
}5 z Q5 C% r$ ?/ H$ O
% D( `% Q/ r9 J7 v+ e! N/ } }9 f
return "200";5 P8 q: h3 q# O
}
. |) E$ J0 i4 l1 e7 B: B }4 |) s$ N& w' O+ g, G
4 I! X% `4 [0 X: ?
this.RemoveHide=function(page,objname)
7 x0 ^# F8 L" Y4 o- f1 P {
* m3 |" ]/ Q h' X% R3 m try: }$ c* a$ ~8 |9 }. Y3 D
{" y! |0 X r {) l" @, F2 S
var minValue=15;
: J M. q6 j8 p2 C- _* N var objs=page.getElementsByTagName(objname); ; x' i- Y7 |, @. z
8 X, _, o1 C; a8 ?' v: o8 Y
if(objs.length == 0) $ C. F/ b5 u' E. p3 f; H) A i8 d
{
* u& \6 Y+ U0 P8 F6 l3 @ if(debug)
" ^$ g+ j% S" N' x8 J. z {
: m9 R( Z0 K x$ z! F1 ? alert("no object found!:"+objname);' I4 y, m, G; ?7 b/ b M0 W3 p
}
2 d+ m( \- z7 J } j% `! ]/ h3 t! J
else
$ u. ^* z3 ~" r" k+ F6 K9 v1 x v {. f8 \& R2 C( X( r4 \+ T
+ h9 p# h8 J% ?# J( Q4 |! M
for(var i=objs.length-1;i>=0;i--) 9 U, R/ S) ?3 ]
{
( ?' M0 o* J: t1 x/ G7 j: P var node=objs.item(i);
( ~/ _2 @# C `8 ?3 K0 l
! D$ ^7 ~# {3 K 9 x/ n+ i/ E$ _' Y. P9 w+ T, A3 s
if(this.getobjstyle(node,"display") == "none" ||
4 c2 }8 _! }- @1 J: I this.getobjstyle(node,"visibility") =="hidden" ||; k* P9 c+ \; A$ G! s L& g
parseInt(this.getobjstyle(node,"font-size")) == 0) " f! Q4 V8 ~# f6 y) |8 b2 v
{2 ]. i% ^( _% ^
if(debug)
7 ]/ t6 l6 @5 j& S- ~" R) a4 f {& x6 Z& ?# G' r/ V \# }: B' M
alert("remove invisiable!");
0 a+ _1 J' I1 Z6 ?& |5 A }
" ^$ L5 H- b; B- Z$ H1 F2 T node.parentNode.removeChild(node);. l# ~" X V5 L* E! j
/ h8 o$ V! L% s, z }
1 G1 d+ m0 H/ b; R else
& i9 J. d3 E0 ?! Z { B, B4 y' }2 _( Z. V! o
if(node.parentNode) 0 u2 x/ s; l& r; C8 F# x( l" `$ f/ |
{
, J& m2 m* f( z3 G7 E" g, Q# { var orgNode=node;
+ }# u9 P6 d0 { var orgColor=this.getobjstyle(orgNode,"color")
9 v2 }* G. R4 v var orgRGB=getRGB(orgColor);
* g) z7 @0 A& U! @! Y & ~7 R( C6 Q* n5 ^( w Y3 D0 [
var parentNode=node.parentNode
% _3 J* P" | s var parentBgColor=this.getobjstyle(parentNode,"background-color");8 }% E' u$ w1 a8 P' d" n: u. n! K
* c6 C0 s0 h4 R% ~, }# O var isLast=false;
/ P5 x N3 H9 u ^1 C ' v$ T& \4 P3 u9 j" A
while(parentBgColor == "transparent")
0 b3 C7 u2 X8 x8 | {
9 g8 q6 l6 {$ {* [9 @" ?+ m k# G! X* `6 a3 t6 d7 }% s
3 r8 {* |* D% ]& j7 D1 G. e7 r if(parentNode.parentNode == null)8 e' u( n, N- \
{1 U! f; |, B6 o
isLast=true;
! x H" q: h/ [1 L' b5 H9 H break;( T. V9 D: ^3 @7 T
}2 v( @* [8 l9 b% C, U. O
parentNode=parentNode.parentNode;) ^; y1 o- C% s, ]
parentBgColor=this.getobjstyle(parentNode,"background-color");
# O2 E% ^; m8 q# ^0 |7 @) C
% V: j! I* i# O if(parentBgColor != "transparent")
3 v( C! Z! r4 ?) { {
+ P9 x9 S8 N3 `7 O* ] break;
+ U8 x X% h) Y* \5 {8 G }" Q$ c: ]" i& Y1 u/ q
}
) k$ \* R, j4 Y! r3 d if(isLast) 3 ?8 p: W$ m% P: \' b6 l* n8 J
{8 [6 P. z2 x! A4 L; [5 S) |
if(debug)& ]( @7 L* T& M6 D2 g) n
{% J! K# [ W( F1 g5 J
alert("last!!");
2 e$ K* M7 x- A! T; B/ D }
( W& |" [* `2 d/ q, h# l/ P' d if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: D* M+ _! O9 m; O6 F9 \ {" s3 [5 C" |/ q ~
orgNode.parentNode.removeChild(orgNode);
- R* d) o1 X3 J# j4 [- V y' W- y8 ~ }" D0 I+ ?1 Q5 T I/ t0 _7 Z
}- Z2 g( U3 r( P" m E* c1 F
else
1 `6 p9 n) }4 F {) g! o y+ U8 x9 h! S% m5 v
if(debug)
7 B8 ~3 c' l' L" ^* a" h: A" {. z' }; K {4 g& i7 t" b$ d+ ?# k/ i* ~
alert("compare color and parent bgcolor!");
( d" X' Q8 P. ]* v8 [ }7 k$ ? {2 ?" h6 Q& D
parentBgRGB=getRGB(parentBgColor);, q1 |4 b. V! z: @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 A3 ^: s( H! O: e' B o6 O {
4 ]: A7 w$ I$ `8 P7 C orgNode.parentNode.removeChild(orgNode);
3 K1 o! C7 ^+ l0 r. N7 m }
% |5 ?6 M4 ]3 H R h% K/ \ }4 h% U7 I9 a5 P
}
4 m9 \7 c6 e1 _# |$ C! ^ }0 |7 G+ q/ z* Z4 s
}
# r$ l5 Y; p0 n2 r+ {) K }( c# i% n7 C7 ^
% J5 c2 U* O5 {3 p+ H* _- A* W
8 A$ H/ _; `7 f6 t, R5 |2 F
var itemFrames = page.getElementsByTagName("frame");% f5 b) O1 Q$ s7 K2 X. z3 P
var itemiFrames = page.getElementsByTagName("iframe");" m3 w* J! a1 ~2 V
8 G6 d! o6 a& P+ w4 c5 G
var frame, iframe;
3 {& ]9 z% W0 P( Q+ \& m if (itemFrames.length > 0)2 t5 g; _- T1 G M; s2 F
{5 R% ~1 b6 K7 z$ K, _2 k# K
for (var i = 0 ; i< itemFrames.length ; i++)
# B p7 W# {/ Y7 ]$ M2 c" H {
* R) }* k* ~& [& C4 U frame = itemFrames.contentDocument;* a7 X+ U, {, \" F* a% g/ [) U7 ~4 c- ?
this.RemoveHide(frame,objname);
* e8 `3 g* y: U) y D8 J( i }( _" l1 r6 ^ @
}$ f, K/ M& q' l0 C
if (itemiFrames.length > 0)
1 L! M) H/ o9 A* u3 X1 j) n7 |+ E {
7 j) x1 I4 j0 E1 J6 ~( [ for (var i = 0 ; i < itemiFrames.length ; i++) % Q2 I0 @! e# ]; h4 L
{
8 \( {: n, Q* l: f) @" \! R. M iframe = itemiFrames.contentDocument;7 `% n& G3 T: _. b$ }
this.RemoveHide(iframe,objname);
% b. g5 t' G( V v* k% n }) \0 E7 t; D- i% _' G a- X
}
2 T& M$ l# q. N& b+ l, | }
. S' e H# n( D3 w: D0 c. d% e% B catch(e)
2 m2 v: ^% u5 d6 D, [& ^' Z {: F5 Y' Z: d: J* w
if(debug)
1 d, \4 u. B2 P4 R% X& U' J" x {" Z* z+ P9 L% \2 R2 j
alert(e.message);
4 R- A2 b" _; m7 `1 T3 M7 O# n }
7 k; L5 {; ^- [: g( z }- _) B) N- f( Q! O; c
}' b; W5 S* k6 r$ }; \, V' c* q
5 q4 \$ p' N, p. `/ }}/ K# ?# B* [. Y4 N$ F% p
: b6 p( ?$ K# [! hfunction getRGB(colorString)
% p4 }0 _2 k% Q5 G{. X, N# {! J- e# z& a; H5 k* G. I
var RGB = new Array;
4 R: i% v! j' [* R# E+ x: g3 _ v var tempSting=colorString.substring(4,colorString.length-1);; F3 E# X$ o1 m6 S, N8 f% c3 G/ i
var tempArray=tempSting.split(",");
; F5 L# Y- W( [* ?: t5 [: N! @
# \ ?5 Z1 Y1 A RGB[0]=parseInt(tempArray[0]);
- c3 U0 o A2 B) U* l L RGB[1]=parseInt(tempArray[1]);
+ \& r4 m- o/ I2 Y2 q RGB[2]=parseInt(tempArray[2]);
! g4 Q9 l6 L& L, b( E8 D& t' k $ m1 q8 b% X. c# t2 [
return RGB;
9 \$ [' ^( h/ m5 V2 S}
9 G% w0 g% Q+ N% a" S% h9 f) ifunction keys(evt) ; h1 D5 g0 F: U+ P
{ ) T, z! Q' i' j: |; C0 ~# I1 Q
if(evt.ctrlKey && evt.keyCode=="81") ( h/ U# N, x: L0 K: f# y
{ 5 L$ ]; A/ \' L
CleanHideObj.on(0,1);: R3 j% N: L$ w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ n, p9 R) M+ f: s( \/ ~ * T, k0 v1 Q) x7 E5 o' E
}
p: H6 d( f/ V) y0 r. w3 c0 Y }
+ q% _4 | m, O5 c% S7 r edocument.addEventListener('keydown', keys, false); * p, Y. S* A% s4 a6 j0 C
GM_registerMenuCommand ('Clean Hide',
5 m% G6 X8 P1 Z- U! Y& Bfunction(e){+ b* v* q( W6 C) Z7 N# Z' q" K+ U
CleanHideObj.on(0,1)3 R4 i; v& e- |' b! [8 w2 a, o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: J/ r) Z, s6 d; r i8 J});0 E: Q: x# v. Z0 S9 T6 d. h
|
评分
-
查看全部评分
|