|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 x) V7 }% ~* P- _1 l
7 g9 q% G, i: A# G! P6 q, }
火狐插件,用猴子
; M# Z3 ?/ o* R9 K" s/ f- D
, e; Q( n) x9 F4 xvar debug=false;
, h f$ E* f6 p) `& _9 _2 G" svar CleanHideObj=new CleanHideClass(); @" w4 w$ \! r1 e* u# @
! e ~% I8 J7 r* u! j- ]4 q5 ?function CleanHideClass() # M$ o! T" e) S" b; b1 Y* s- {
{
4 [; _! D3 R) _# E, M" E$ A" Z' T/ G % o0 Z% C z2 H+ A
this.on=function(id,bMZ)
& {2 M7 E4 W/ O) y {
. e- z% O; T' W, T i' w+ V : w* I4 T J3 T' B" f( ]' |
if(id == 0)7 U3 f8 _( c* q N- v
{
& Y4 ?: ]& L+ g var page=/* document.getElementById("content").contentDocument */document;
e3 I8 Q- {" o1 |- B; L this.RemoveHide(page,"span");9 o7 @; r( b) Z; S: J- k, J6 ~
this.RemoveHide(page,"font");
2 _1 o6 G% e P3 U& E this.RemoveHide(page,"div");
7 m& J0 _. X* \0 A, {% D this.RemoveHide(page,"p");
$ h$ d9 @/ A' f! Y
/ e- E* ~ U4 T, b" Q2 U( t }7 g; |. w) \$ A, z' H1 X: a& p$ V
+ ?7 |. W$ n# y# ]- F
}
) i. ?( j! b: e/ B1 B this.getobjstyle=function(node,prop). a4 }+ Z& d7 c; p1 D, V {
{
6 V: N& @6 b' I0 v& `- K* q2 a try
; c [; L) d, g3 C: s) [( H2 f {
4 e/ [% } V/ s k% Q2 Q7 f return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, w7 x. T O @/ h
}; {# }; ?$ a2 m+ Q2 r6 e' F G' ]
catch(e)
$ g+ x7 [2 l# {5 ?, J( y2 Z {
8 m n C8 E" q7 f) v9 r if(debug)0 L% i& |$ g2 P9 }. i7 p
{
. _( x$ h Q9 J3 J0 a alert(e.message);0 p J+ z3 y' Y: E, [1 K/ m
}
' U' {$ d7 v8 t7 b3 I 8 l: d9 _' y2 t/ ]* S/ i' q% c' A! n
return "200";
- }/ v6 Q5 f, f; O# l& S }8 Y+ y1 c+ n$ Z% b& |; t
}
& w9 m/ R: E- H/ n* f # a; p4 R( T' T v d
this.RemoveHide=function(page,objname)
! i" Y; ~$ f) _, c: b6 D {
9 Y: I0 _1 r3 y/ H& ?9 I1 I8 ? try) {0 \9 i' U+ X
{9 n ]/ R+ z" ~! j5 F3 t0 u5 O) O
var minValue=15;: R: I* \/ G' e6 {! I: f
var objs=page.getElementsByTagName(objname); - L- `2 t# q0 A. C# _; v( j
3 Z2 a' z+ ~- ] }* M) ^ if(objs.length == 0)
4 x$ y- z8 z* c. G5 G {. ?! Q0 X* B+ h5 ]) s8 g- S
if(debug)
& W/ z3 S5 E5 V: d# h$ k( d {4 m+ w- Y8 q- E2 {
alert("no object found!:"+objname);$ P1 z, ~9 n k5 i% l
}
. B8 T6 O8 x- u) o9 l* `4 ~+ I4 e }
* h! A& Q: b7 x else
1 f9 `6 s- g8 z- M g: X; X$ _ {
1 L% y$ n+ G9 }* b+ t) S6 K& B. `
* o1 _7 ^- B* E6 W- z for(var i=objs.length-1;i>=0;i--)
# _1 c# l! W5 p7 c& C {
G. D1 i! [; U6 l: i' C var node=objs.item(i);
* c$ H+ ], G2 Q$ n0 i 1 q- P! M" s/ k* o" p8 [! m
+ p& s* Q: o7 M5 \: |# b+ n1 Z2 Q
if(this.getobjstyle(node,"display") == "none" ||1 \$ N z# e. d3 u$ o
this.getobjstyle(node,"visibility") =="hidden" ||
% d8 o/ o3 S( Y5 j8 q6 G" D. f( | parseInt(this.getobjstyle(node,"font-size")) == 0)
$ `+ H2 s0 m6 P+ T' Y {
/ |7 e2 i+ P& ]7 B9 j5 L K- l if(debug)% z, x, s$ K3 q$ y; Q
{' a' A0 ~2 Q. G6 d2 V
alert("remove invisiable!");
1 b: [1 P0 c% L9 j; X }) ^0 F) g4 ]6 R& t, T/ E" G9 M/ Y
node.parentNode.removeChild(node);
& _3 O/ n, w: u1 y! B% e* l : ?1 O' W0 P& e+ h" m% a
}* h& j3 f9 Q0 c
else 6 I, T1 @3 |- D2 y" a
{
. W% K7 }: a$ ? if(node.parentNode) * S2 U$ n2 _8 i! r' k; m' S
{6 A% V; z! u4 Z0 J& `
var orgNode=node;2 {* ]7 T O& h7 i& X3 n
var orgColor=this.getobjstyle(orgNode,"color")
! |! M8 q2 |" U r2 \& }! {$ i x& I5 l var orgRGB=getRGB(orgColor);
3 B4 W Z/ G) `. @( \
" o- U. `* X0 q( T var parentNode=node.parentNode
9 ]: s9 ?5 W' y var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 }1 Z* a. m$ V9 Y: @5 o 4 x4 S6 d2 ^1 Z1 W! ?
var isLast=false;+ a/ b. W' N8 @6 L
. \4 g y& |+ M1 `! C while(parentBgColor == "transparent")
( p1 p3 U- V0 G' L4 _8 v6 i {
) f" ^8 u7 W4 T. { 8 ~8 B. ~' W* z0 G. `5 Y O4 r6 O
# {+ R2 u4 Q/ p) q/ X! u if(parentNode.parentNode == null)& s4 w4 _' J$ k4 F" q7 w
{3 p& A! E |; L$ q; r3 p
isLast=true;
: t8 ]' N& `1 ?% J, R3 u break;
( R; p* b, {% j+ t$ } }
# }) _1 S9 E r4 H$ _7 b# s) L parentNode=parentNode.parentNode;$ y0 ^- p* ~9 f3 P9 p8 c
parentBgColor=this.getobjstyle(parentNode,"background-color");
$ [. j$ D2 X# }) _( }6 C( M: ?4 C
9 ]5 V0 U; F0 w% V/ k2 D if(parentBgColor != "transparent") 3 Y& b2 s# |7 o4 l1 w2 n& J4 k
{
7 s% t& G6 T4 K9 h0 N v0 s; N break;2 j( S8 X# _2 m1 t. g) s9 z3 D
}8 s! [* Y2 s$ x( _* X6 a
}9 z) o9 _# n0 g: P3 t7 x u3 y
if(isLast)
( M1 T0 U8 L) l% H# M. \* I& @: s3 e {1 u# p# E& b; ?1 I/ C0 J5 P. }
if(debug)5 K/ K' l3 C4 G' b+ N4 d
{
; C' ?, s, }! I9 F7 k9 n, t alert("last!!");* Q1 G, ~! G, H a6 S! f6 `
}
# P4 |. k% V# p3 S) p if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* X5 P$ [* |; u; L# ~4 C1 T2 \ {
0 O. y* R+ R/ `0 q j orgNode.parentNode.removeChild(orgNode); $ l/ ^+ }1 v2 O* F! _
}8 U/ E1 _; V9 V6 T
}
8 U `4 t- B( H: P4 Q else
- u& l# ~& w6 f* I {- R& ^5 U& b( O- w1 H3 O
if(debug)
* B7 w6 N& u; N3 \) t% ` {
, a6 g# |: z. w% X alert("compare color and parent bgcolor!");
! f# l3 q o' |- \ }
$ t4 l# E0 Y* y8 X parentBgRGB=getRGB(parentBgColor);
& p; r4 O0 R3 q8 B2 N9 M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 p1 a6 H& c z. i# K
{
2 v0 b3 ^: R4 B$ _: y. w v: Q. A8 w orgNode.parentNode.removeChild(orgNode); # X, N# y8 w' ?& b3 I$ E
}
# v( b' x) G2 p* g }
: j2 i; t& ~0 _! {# Y }
+ w7 k9 g& H) s7 s, N; `, ^: G: ? }5 B9 |8 w& F: U4 _3 ^: J! g5 [0 J4 ?
}& e* Z+ k& x W2 z9 I5 G: U' G9 b
}
+ K$ v9 A6 }- Q$ a. ^* d& c
; \0 d! }% C8 B! [/ [ 6 w: ?5 r+ M' Z4 v+ {9 J1 Q4 J# ?
var itemFrames = page.getElementsByTagName("frame");
* v0 M6 z. o. U/ a& a( P var itemiFrames = page.getElementsByTagName("iframe");
! j8 j' z" i' t3 D
6 J8 z9 P8 J* d F& y; o9 d$ I8 o var frame, iframe;
4 D4 d8 U' M* S if (itemFrames.length > 0)
# H _* X7 U( |! a( z4 a {/ D# C o% O' T: o) g0 M1 u$ j
for (var i = 0 ; i< itemFrames.length ; i++) & b+ a9 ~4 B5 D
{" m6 K6 q# |1 N) m9 D
frame = itemFrames.contentDocument;
& m# p# \/ g$ _6 r this.RemoveHide(frame,objname); ( @7 ]4 o* D1 e) K: H4 o1 |0 w5 C
}
5 j$ C+ z+ T; D2 \4 C5 n" o }0 f5 T1 e- e- s; S( l' s# i
if (itemiFrames.length > 0)
. @3 x& _$ l3 `) N. N- S+ R {
/ W2 s% F- {4 {+ R- F for (var i = 0 ; i < itemiFrames.length ; i++) + m2 A" H* c( z: b+ J& @; @
{! ]# l* T: n, _. | k
iframe = itemiFrames.contentDocument;
, S5 G: `4 ?8 C9 ] this.RemoveHide(iframe,objname);
( u0 K, i* l+ g, y2 e( F }
0 E, A! E0 o' s* d% L% E: h1 a# s }
' _/ P& \5 {2 q# c1 ~5 n4 C }
1 Z) _3 k" v$ D1 d1 E4 f catch(e)
. C1 Y+ `# M) J9 h1 n) i {: ?" D7 n! y5 L4 c
if(debug)" K7 E: N0 V" y! f1 @6 z
{
2 Z5 p+ u- u1 {2 W6 s alert(e.message);
0 z: ~( A1 [0 j4 g+ ] l' p }
& v# \4 \5 \7 K& ?, j: o) g }6 v' \3 e" U! H4 K0 s2 t
}
' R& j# }% g( i* s
8 q' j/ K6 k4 Z: _3 z8 {}) {- |* i' t7 s8 }) `
, O# {/ B, \+ [function getRGB(colorString)
4 o# c$ t: t0 ^{
" X2 T4 f/ ^" ~7 m9 z3 N var RGB = new Array;
$ v- \0 G4 F" G" C2 n3 _" ^5 ] var tempSting=colorString.substring(4,colorString.length-1);9 y6 `' }1 e3 y; ?+ X
var tempArray=tempSting.split(",");) d' z9 J* V2 C
/ l& R3 Y+ }& ~+ y6 h E
RGB[0]=parseInt(tempArray[0]);
# e" B; M0 {8 g5 ^ RGB[1]=parseInt(tempArray[1]);
5 H7 o! A( D( d RGB[2]=parseInt(tempArray[2]);
+ t' N. M- }# n# U% O# k
6 @5 T y6 E% } return RGB;5 X7 s+ t! B2 ~5 f% Q
}
" w0 \/ U$ ?$ X- X, afunction keys(evt)
- W0 ?4 E( Q7 ]/ r { ' Q- F3 G1 I2 y- P8 y: o
if(evt.ctrlKey && evt.keyCode=="81")
8 s I9 J$ ~8 f/ S) A9 { {
7 I4 p/ T$ |: R5 C CleanHideObj.on(0,1);
# @- j" o3 c* |: J+ v- j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " y r* ~: x/ K# @4 m) M
7 F1 \4 A) T) J. A
}
# n! D8 A# }* G; B5 u2 _ }
: o) l7 u2 O$ y/ D4 _document.addEventListener('keydown', keys, false); % |5 ^1 W* W. G4 \- g% ?- [
GM_registerMenuCommand ('Clean Hide',$ D- Y1 _# U7 k3 W
function(e){& Y# ]+ c/ C' O# g! ]8 F" z" V
CleanHideObj.on(0,1)% h/ h Z6 a% N8 }# i7 `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ m* ?# V; Q* [ e" g
});+ L1 A$ d/ j% d! W9 o. L9 X3 N
|
评分
-
查看全部评分
|