|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
e9 O8 n0 O9 G7 P4 N# B9 o$ w u' H' ?7 P: C
火狐插件,用猴子
; Z/ [* t+ |. f# K8 A- U/ u0 \' f$ v) {0 p$ M; D' m1 E1 a
var debug=false;
8 \" n6 W6 X2 H# {5 R$ ?# ivar CleanHideObj=new CleanHideClass();
' p4 q1 {* ^# ?. ^: a; O9 U- y. D1 ^* |1 M- U& ?
function CleanHideClass()
' T4 t8 \( y( i* X! @{ 1 L) a8 ~- S9 O
$ v) t* U2 R$ p7 Z" n this.on=function(id,bMZ)
, o. m; V# e/ v {
3 K( t8 |: g- o( n1 r- c
% H) |' k+ R1 B3 o if(id == 0)8 t$ S) D/ `( E3 H2 p) j& s
{ W& K8 g) ~! I ]0 ^: J
var page=/* document.getElementById("content").contentDocument */document;
+ Z# h6 @: r. f4 d; a this.RemoveHide(page,"span");3 ~: t& h) `2 K& H! w. Q& k
this.RemoveHide(page,"font");6 j9 e3 m; k6 V; O) |
this.RemoveHide(page,"div");
% T9 D) L$ K1 w6 G0 G' w this.RemoveHide(page,"p");
0 ?; W. C: b6 i1 n) {' F # J; ~& e& i; T& B4 l7 N% E
}
, i! v+ C% e( x6 L
9 w& A' i4 ^3 [ }: y/ Z6 ~5 A- T- N
this.getobjstyle=function(node,prop)
+ W, M( p3 l6 i" Q {
0 W- u) m) I0 E2 y% _1 O, ^ try
4 p, C# f1 n$ ` {
2 U7 F8 J7 l- F# w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 u7 ]; D0 O) L4 A* L( s, t( `
}( s, v4 ?& _) ~$ E8 _
catch(e)
% a! V7 c# F, \" d U1 |$ U {
% O6 S& M7 s0 }/ F0 F v. K p if(debug)
2 N( ^: n- Q" H* s; J R$ V2 i {
r/ ?* G" a' ^/ ` alert(e.message);- y$ x6 [0 F% x( j# }! s
}
) c) f( u# O }# |+ B
/ ?! l8 [( c- p& l" ]9 [* \0 F6 g return "200";
' {2 I/ E5 f3 W: y }
: n' l9 Y4 v0 x/ c }) g2 _; c; g. O
]! G+ x7 S5 k2 J z+ L6 \
this.RemoveHide=function(page,objname), w) a" N* O; T+ Z
{
3 A8 S; K2 x- R6 O, N9 L try. ?2 U4 D2 j7 p3 L
{' t7 E6 N8 w! `
var minValue=15;* B! a1 c2 x B: S3 w
var objs=page.getElementsByTagName(objname); & K% ^3 u2 p% h- G, r- V
7 f7 a2 Y1 I1 l6 e( w+ o* {. T) H if(objs.length == 0)
I$ K3 l9 f2 j6 v8 G4 A {
) m! `' R* X; z; p. ~ if(debug); o" Y2 l% r: K, g& y; @
{
; W, W5 B9 f. r" X7 Q, x7 ? alert("no object found!:"+objname);
1 T( V, x. F% v4 [% l0 x1 M } S K" J$ m$ @/ N. W( |* l
}/ M# J5 c4 o- n9 X+ w
else! q+ _; M$ Z* B( Z
{
1 N2 m5 u5 @( @+ R$ `, W A ) _5 x, @$ W' e2 D l8 I
for(var i=objs.length-1;i>=0;i--) $ k! h0 z' q4 a6 t7 }* e
{& \! m( P7 e. i' L! a8 n [
var node=objs.item(i);
) _3 z& _3 ?8 H( W , Q9 n9 N. o( d) i' w! ]# ?' \8 c
/ H, `) O# x( R% }5 o" x; `- M
if(this.getobjstyle(node,"display") == "none" ||4 X% }1 O8 H& y5 h. S( Z3 E. x
this.getobjstyle(node,"visibility") =="hidden" ||9 k) f: l7 p7 J- I5 \ ~5 J
parseInt(this.getobjstyle(node,"font-size")) == 0)
- s: C! P% N' L) O6 h$ X m {
, g& C/ k6 \! O/ Z4 c if(debug)9 }4 j5 K# _1 ]5 A/ F9 v
{! }5 ]5 m9 d. ^. U
alert("remove invisiable!");
, L1 }+ x6 V3 }. Z; q }+ C; V! f- v: z
node.parentNode.removeChild(node);
+ P) T& r2 g: ]- a# n2 W
6 }7 v/ U: H2 j$ j( a& v }& I/ f$ Q, n P6 k# K
else * \- x/ a; s* L* ^
{' U0 N/ s. ^ w0 ~
if(node.parentNode) + g+ z& F d$ m8 @0 n. o2 }7 S8 f
{# n: Y+ I+ ?- `5 ^% k% J6 A) V! T
var orgNode=node;& R- v6 e. L8 C) ~! P
var orgColor=this.getobjstyle(orgNode,"color")
! n J& r. P D: m3 \# z var orgRGB=getRGB(orgColor);
3 `3 d8 |, l7 [7 u 0 {; D+ I8 z) x& @
var parentNode=node.parentNode
( h8 J- ^5 D# J/ Z4 P7 z6 i. W- e+ o$ R var parentBgColor=this.getobjstyle(parentNode,"background-color");6 ?% K$ m* Z5 M
' v$ g9 ^) [1 U ^: r
var isLast=false;' H2 L8 V6 p1 R' K; X4 E
7 u2 l4 \6 _5 E! L while(parentBgColor == "transparent")
( J) l1 W4 F, @4 W {; u' [( }. V3 F8 H9 R+ x
j" H# k9 c0 E2 {" y 5 D% T8 H# I. }1 |2 {; e
if(parentNode.parentNode == null), T3 Z) G9 `5 p# X1 F
{
( ^% i7 R! O; ~, u. o9 [* L& l3 \ isLast=true;
, T5 g5 j: p' F; C; j: [ break;
/ Y6 A: b) I& y) N. B }
# M9 p$ L4 p' }2 e9 v; W parentNode=parentNode.parentNode;, i. U! k7 S/ |4 T. d7 v5 P
parentBgColor=this.getobjstyle(parentNode,"background-color");
2 H, ?& H6 i# d9 j' `1 n
' E! B* C; p5 j1 i' L* t" ? if(parentBgColor != "transparent") / O0 _0 |3 l' [+ U- B* q
{' z }" x5 g0 e: [6 V$ D
break;# O! l7 |; |) [' B
}
* R) X! C; }' C1 y4 w }
; d: F0 ^2 Z) t* Y: }; } if(isLast)
- S( o- D5 `2 G, M {' F$ `) @* C; s# u) Z
if(debug)
* s2 | z6 W) L9 K3 _1 A" D1 r {& o4 B- i' H* S( u
alert("last!!");) j- z. g+ w, z! m2 r
}
0 B9 p) E+ W# z) l1 H if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! F" [8 J: t/ p' V, p
{2 V) @5 l; @$ M" }
orgNode.parentNode.removeChild(orgNode);
{. a. {) r8 G6 ?) w3 q }
3 n7 r$ u* K6 y6 |# a5 {# T# G }0 V- k4 a' i$ h/ Z0 b0 b
else. R0 s% p) e8 O% d5 w
{
( ~& w& X8 q6 N8 ?! ? if(debug)
& Q: o& y5 h% e: W$ q {( R0 r: {1 J% F) F* o, V
alert("compare color and parent bgcolor!");
. _1 {3 v. c# T8 s8 T }5 S& V5 m2 k/ d1 |! z) I8 w2 w
parentBgRGB=getRGB(parentBgColor);
5 F9 |; d( U; H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ e5 E! c. a+ o* b" Q {
3 }! t2 {1 t0 W( F( L1 b orgNode.parentNode.removeChild(orgNode);
7 q( L8 y! J" u) N( k- N }
7 N9 }- E7 k# \$ B }
+ R( G7 B U1 d5 o, n }
8 z h, d3 Q2 {' d g& r1 }' E }4 G* K. {% w3 p
}
; x( Y. \( \9 V7 X; X q }: S" I: E: M$ K' W2 s
, m3 Y2 y& g: m" u
, x8 a; y. P& j6 d; k! h var itemFrames = page.getElementsByTagName("frame");
( {! Q" a _/ L x% r. L var itemiFrames = page.getElementsByTagName("iframe");
, G7 n) @4 {" _3 m x. } # h8 k8 J* m2 K2 K" M& Q
var frame, iframe;
+ }7 q( ]- S# Y( u- {5 h' ^, C" | if (itemFrames.length > 0)0 W$ ~ a- ?8 p! Z* \
{, V/ K$ }& u0 V, s; m/ i
for (var i = 0 ; i< itemFrames.length ; i++)
+ |1 S+ U3 Z# e {
% i5 v7 L" y7 j9 T6 l frame = itemFrames.contentDocument;
( f& k7 z7 u9 D6 ?; p2 R this.RemoveHide(frame,objname);
* N! i C% R) O+ R/ K }
- e: ~- w8 @& B }
' i( j+ _3 o \9 T I7 ~- A if (itemiFrames.length > 0)
1 Z; ], V/ f! r7 P( J {/ u" @' L; _: p; ?2 X0 W
for (var i = 0 ; i < itemiFrames.length ; i++)
/ {, |' R% X( M/ A" g {$ Y S/ w( H* D* M2 H; f% Y9 i; X* h
iframe = itemiFrames.contentDocument;! Y( C! a" J6 F _! v& i' d; m$ t
this.RemoveHide(iframe,objname); 1 `% v- \7 V8 M. V4 U! u' g
}) C: z6 \% g, I6 ]
}0 L% a! O) e- A# D; ?' E
}
6 |+ `4 H$ p% F% U! Z: j7 J catch(e)
8 X" F/ s1 S# G3 x+ U0 a {: v3 F0 i, P4 o" D n
if(debug). m, G* t9 H) E9 ?+ T. Q$ ^
{" C( l }# ]' \! S Y4 D' A
alert(e.message);, w+ O: t+ x" M, U; s! o4 O' O
}1 Z8 B# x- K- o- ]- L
}: s: {5 | |! h K# E% `, x
}/ D3 ?& f* `2 t
+ x J1 Y* [. c/ Z* e7 S}
0 E1 g9 Y g! l3 {# D1 r$ L* t. L ~3 x
function getRGB(colorString). m* ], _9 U2 A! w( M7 l+ |1 \
{
1 ^. b u6 H& j9 ^& x: v var RGB = new Array;8 F& c$ {0 D! F# z! N$ F; t: i6 ~
var tempSting=colorString.substring(4,colorString.length-1);" q5 i& b5 E/ v* x8 P4 u
var tempArray=tempSting.split(",");
4 c$ Z% U s# u( [9 j G* h( y) h* P
RGB[0]=parseInt(tempArray[0]);
/ `' R0 |: d8 U7 [- Y' n% l RGB[1]=parseInt(tempArray[1]);' A3 h/ [/ S5 G4 P' U9 N
RGB[2]=parseInt(tempArray[2]);
, W+ q) O5 |8 T. ~$ N1 P8 \& o ( [" d& P- R$ h- d
return RGB;" M9 h( S( U" q
}6 w1 _ G, j) |' |
function keys(evt) 6 H j0 n4 D/ K. l, `1 g
{ : ]1 \ a, J4 ~, K. j
if(evt.ctrlKey && evt.keyCode=="81")
4 G% p+ h$ F+ B- b, Q# u { : G7 `$ |1 J( j# t {7 E
CleanHideObj.on(0,1);* I- w4 [7 Q% k- b( E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- ~& N$ x9 t! a% w 1 ]/ ?% j7 ^( G/ O; b; H
}
2 s) n; I: Q! k1 G9 g2 c } - C$ {: T2 T% I* n+ e' P! l
document.addEventListener('keydown', keys, false); - Y8 G6 e% _# w) t
GM_registerMenuCommand ('Clean Hide',
1 y6 P' x& G4 T( Mfunction(e){+ q4 H2 C3 W7 G" c: _" K9 X
CleanHideObj.on(0,1)
2 `9 o7 X0 j& g: ]( falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 U# b6 u0 k5 j. Q1 B( q( g. G* s/ y});
4 I# T9 l: ?6 F* t- p4 P. b |
评分
-
查看全部评分
|