|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 c# h9 e K5 `4 q" _$ D j9 Q( U1 R3 j5 i; M1 ?" ?
火狐插件,用猴子
! a5 u$ [/ \( v5 O) A' D# @$ O5 V) v) `! d3 X3 o
var debug=false;
" j! q) O% {3 w. avar CleanHideObj=new CleanHideClass();
5 Q4 a/ b2 X6 g8 ?& ]( M: ~# O5 p5 {/ o% j9 v$ u( `2 l. H/ j
function CleanHideClass()
" l" _+ r3 Y8 T0 p% t; G" v{
$ |6 }5 b; I/ G! e7 D9 q! P
, F8 G* k, C/ E S. M this.on=function(id,bMZ)$ J! S- ?% \' ~. _: T6 i1 E
{, T* f, M. I9 U; K4 N* k1 D
* f4 Z1 @( I9 |) W$ @: N& J if(id == 0)
$ h: }% S5 K; D& s; { {
% K& b. x: v+ K$ i5 x( j# w var page=/* document.getElementById("content").contentDocument */document;
) ^8 S9 N+ X/ y$ [ S; |' p0 y this.RemoveHide(page,"span");
+ H0 H0 K7 s/ G this.RemoveHide(page,"font");
" o% d) h, Z% h4 D4 a% {# i% n' ^6 N this.RemoveHide(page,"div");
2 ?% B9 i/ d* ? this.RemoveHide(page,"p");
+ @4 T+ B6 y6 v. Q A
3 ^$ E& }& {6 c8 W } _6 a- e( J9 a+ `
- b n- d K+ ~* k1 J }9 b( A1 v4 D$ H3 R
this.getobjstyle=function(node,prop)
, a0 O' ^' E* k {2 }4 F7 T% ?- C$ E% C0 v7 t4 Z
try) O6 P4 W! P1 ^: O+ x
{" S p( z# i. g \" L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, z' b" e) }( Z3 j6 N' _- Q5 o" { }
% ]! \, j1 l% {1 @. \, z, E- c catch(e)( q; V& o" V1 Q4 }
{- {) F5 n+ H7 S6 Q9 H$ G, U
if(debug)& C: `! e; ` ?: F, z
{
6 k0 e3 [: O4 T& N. ~8 G alert(e.message);
6 n( ~4 C3 J; y! G1 B9 L }
% f; B7 ?- S+ ?% r
+ D7 O& ^: g3 { return "200";1 E7 l- M' W7 X0 @5 M
}
/ p8 k5 k$ p1 }1 u1 [ }6 |( d* L: {% g* b
( P" p; H5 x C7 M: u1 b( F5 R
this.RemoveHide=function(page,objname)$ t; W8 Y2 C" m5 _
{
; G% X+ J2 u/ y7 R# C/ ?! J try. I! P/ F3 M; q6 W, t
{
4 P8 U. }9 r" x- z: b& J var minValue=15;
9 a0 c9 F/ {) x9 t& v var objs=page.getElementsByTagName(objname); 6 F. s3 ]" D( H7 Q
' w* u3 \3 V7 Z8 ]6 a
if(objs.length == 0)
+ A- y6 r4 b: r& t% M* R* c- U {
, ]- b* X8 V7 W' }8 w+ b7 [ if(debug), T9 P9 d, {/ }! R: B) N) Q
{/ X5 E/ v9 r; _% v8 l
alert("no object found!:"+objname);% a( q3 p( D/ k8 k) S
}9 U' y3 U' ^ z8 a
} f" H; W0 [5 z
else p, F9 V+ o' [; E9 ?
{
: z3 R9 [% D4 V+ Y, \( d. B; b + N: q& A; m( _! b7 ]4 A( |& A$ R4 h
for(var i=objs.length-1;i>=0;i--)
e% T5 j: [' {$ S! y9 }+ |4 Z" A4 u {6 |* a2 a# w) l5 x5 ~" a: M" o
var node=objs.item(i);
( a, b- |: U7 I0 {' M ; ]! i. [- I: U7 ?* O% y
1 |! Z9 I. Y) _3 `$ G if(this.getobjstyle(node,"display") == "none" ||
- @' K# q8 b f0 x. N8 E) n. a this.getobjstyle(node,"visibility") =="hidden" ||* b$ E) V' \; m0 _
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 t: j' `$ n% a9 y
{
^1 }1 ^' s* o2 B if(debug)$ }+ H' Y4 U9 e W
{
2 }1 S" O' p, x6 H alert("remove invisiable!");2 m+ E" ~+ [$ |& p9 [
} q \7 f4 o- }; S) Q
node.parentNode.removeChild(node);1 i9 k) X h: Q4 y5 U
2 f' t+ ?3 D' U* a( W
}; t0 t' Q" S4 s" O
else " `! T4 Q2 ^- L! s( }" D
{2 X. l% J4 Q! ^8 w8 W9 C: n9 ~
if(node.parentNode) ( o1 o: K' U8 e
{% T+ r) q; w9 F
var orgNode=node;. B4 V* ?% ^ f8 {" z1 N8 C. B
var orgColor=this.getobjstyle(orgNode,"color")6 d% o: C. D" G9 z; r6 S2 J# S
var orgRGB=getRGB(orgColor);
; V( | f t) j e
5 L" [) b* q, H var parentNode=node.parentNode
# _1 H- d {' u2 ~7 c- E) D var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 h1 _3 o" q; k9 k) \ # a C0 U1 o E2 t2 [ }7 D
var isLast=false;
1 T6 t/ s; k4 H2 y t& ^$ q
, \ X& Z& `2 D) m$ B while(parentBgColor == "transparent")
, E9 s4 ^" N- A% S {3 ?( I& ` m6 G- v6 A
5 V$ U6 Y8 y/ N% L# o
0 y! R6 Z$ Q! }4 K if(parentNode.parentNode == null)4 ^9 e4 G1 q* b4 x9 J; y- f
{
' Q- e* }$ b% b' ~# ?: J/ S isLast=true;7 w2 P8 }0 t+ I: }) g
break;4 ]/ B6 O. {8 j6 q
}) c5 I: j- l! x4 w$ B: g0 L. {. a
parentNode=parentNode.parentNode;
( _6 \! t! S& S' ] k3 Q" ?+ J parentBgColor=this.getobjstyle(parentNode,"background-color");
' d) Q( U- I2 [5 f5 X1 S
$ p N! x# x5 Z% ~ if(parentBgColor != "transparent")
0 ]2 y( a, A! Y" d {
0 P, e$ e4 {( I! |/ @ break;
; ^ }0 [. {; _8 k }6 j3 p3 h. y q7 L/ }
}
; s3 W7 Y: l0 R if(isLast) " w4 M& |) E4 J0 V) }+ T9 w
{: v' Q- N: o9 K7 w' e' _* N
if(debug)
, |! T# K+ H M9 M" Z4 K {
* s2 J, o, ]3 P- c alert("last!!");3 P5 x3 I. V/ R6 O) g; ?* X
}6 U3 {; B) u& u, K( F
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ d6 z5 g5 i9 K: u5 _ {
5 `1 b! S( z' x" j orgNode.parentNode.removeChild(orgNode); ) {$ ]3 z& _) v5 D* J' a
}
! W5 r8 x+ [3 B }$ I/ D7 h) n* u* Y" j
else3 v2 ~& h* U; G
{ ]4 N1 v' S$ ^1 C% G
if(debug)
2 Z3 \0 l' v% @ {) H5 k' T# Q% X7 B% S2 U/ o& e
alert("compare color and parent bgcolor!");4 e% i. K4 ]: ^' o8 Q/ V+ h
}
. [$ I+ Y$ w" J' E! N parentBgRGB=getRGB(parentBgColor);
; w r$ j: n+ _, m6 v/ O if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# U$ V& w4 V: v4 F7 L {
3 S# Q3 o k5 T% n' v3 I. P orgNode.parentNode.removeChild(orgNode);
# Q/ ~7 U; }$ s2 O, B/ D3 D& H7 p }4 a6 ]+ B, j0 d5 _ Y/ ~/ e" j
}
. ]' G# N/ S I; a: d: L+ R; } }
# \( u( B. D2 i }
; J" K4 V& h5 G# k2 ^3 R0 N3 _, n }- @: w6 \3 I- _+ o) V/ w2 v9 v
}
" |) Y$ H. a6 M6 z/ o' k 2 H. {5 J: @8 y; j2 E7 t' Y
, H. G7 b, S1 G3 n6 Z l1 |* W8 J
var itemFrames = page.getElementsByTagName("frame");
& p" K1 {. y$ R% I _! a) s b% j var itemiFrames = page.getElementsByTagName("iframe");
% j' O7 M+ W0 M 8 w. q/ f E! Q, d# j9 M
var frame, iframe;
2 j/ a/ F0 v, O, L2 d: T6 y. w$ e if (itemFrames.length > 0)
; \+ m% m0 ?0 p! R0 G( q {
+ C h4 b/ \+ s6 [5 t# f, `9 v for (var i = 0 ; i< itemFrames.length ; i++) ' ?$ ~+ N* D% d4 w: ?
{
7 p, d( P, o7 t. T- h( {! u0 i frame = itemFrames.contentDocument;2 O6 y/ R2 @4 a; R! q4 t
this.RemoveHide(frame,objname);
t. G2 Y6 m0 [3 d% ~ }
3 _5 j2 j( D8 A- b1 b }
' ^. M3 Y% g3 Z% s ?( C M/ D if (itemiFrames.length > 0)$ ^8 O* l8 W! U! ~
{
9 a! D; _0 O: w5 b, E# y7 J for (var i = 0 ; i < itemiFrames.length ; i++)
( P9 m$ G0 e3 | {
0 @; e+ `, n n. j iframe = itemiFrames.contentDocument;. A: z5 a$ [( c- M! t
this.RemoveHide(iframe,objname); 4 }# d' {6 |. ~$ T+ X9 d
}
* }1 `6 H. {$ S- i6 i0 I6 S }
/ _ s4 E" B- |. @: m }
% q' x( r, R- x& F1 C catch(e)& b+ f2 K# A- V0 a
{+ T1 p3 w/ o* n: {" s
if(debug); o# ~, m/ c, `3 I: _8 Y1 W* G
{. Z9 }4 d# O5 x- Q1 \1 V; E4 k8 Z
alert(e.message);
* B: c( G L- S) t6 a3 J6 R! ? }( @) V* E2 z( ]; O) ?
}
& j7 n. ~( q1 F0 o: Y2 [ }
! F5 m% _& V0 P: A! r1 E
1 R4 v; ~- p" e3 Z5 }6 |5 ^; [}) O0 A; w3 ], _3 |4 N
s+ n# ~3 i4 m+ }0 f! |
function getRGB(colorString)% x4 n* k' B4 I
{
- S% d: S6 M2 a7 a/ C var RGB = new Array;
' _1 I( _6 a- @0 k var tempSting=colorString.substring(4,colorString.length-1);; n- R6 h1 l% o2 t
var tempArray=tempSting.split(",");
8 ?: L. s! V v1 R4 O# o1 G6 @1 P" `2 v
RGB[0]=parseInt(tempArray[0]);' P& z( X4 m/ Z9 i" k/ D: g
RGB[1]=parseInt(tempArray[1]);
$ j$ G& |) v' f) y0 G% X; t* g" W' ^9 W RGB[2]=parseInt(tempArray[2]);
6 Z' g$ ~: {; ~' b; t+ u; f
' X' I# Y& O9 K+ _5 {& g7 T return RGB;
- A; ?( G' U# H& B/ A D! R4 t* k [}! Z5 F9 n6 x1 F( e- @7 m
function keys(evt) ' `. X" c/ s0 U) E$ Q3 Q
{ , ?$ Z2 A+ ~) O$ _
if(evt.ctrlKey && evt.keyCode=="81") $ e# ^- }) W1 Q4 A B5 k
{
; R- h8 ~5 G+ g/ F* t CleanHideObj.on(0,1);
" a& O7 a! @7 y( i4 S alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 t2 e* Z2 L }5 C o2 i
. A0 w8 C l4 }/ m }
e: a2 w2 z$ T* @ }
' |0 u0 b* g' ~document.addEventListener('keydown', keys, false); 8 ?; O2 s% x) J [
GM_registerMenuCommand ('Clean Hide',
5 M7 A0 { X2 E: {& o% _9 X4 W* U( hfunction(e){
1 D6 d% r! l2 R |( t3 LCleanHideObj.on(0,1)
" a' `6 ]7 ?! K% k; h" D, J3 T4 ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' B7 r! T: L$ m+ r* |2 B; d});
, w1 [* T* v4 G% T2 Q# q& y& p |
评分
-
查看全部评分
|