|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( O2 S, f$ I4 r7 v1 N
( O9 o. n1 v% b, B9 h; \% U, v$ P火狐插件,用猴子
6 `( ]% \* @1 Z0 Y- O8 i8 F6 W) L- L
var debug=false; 0 f7 Y+ Q0 Z8 n4 c5 K. [, z
var CleanHideObj=new CleanHideClass();: D$ t( ~& C2 }) Y$ t" E; t
) u8 p" Q, ` C9 W: P9 u, afunction CleanHideClass()
( f8 U7 m- C2 p6 D3 L, l( X3 s{
. ^* X- p% A7 K* n7 s9 c
; c2 P1 {( q$ Y8 ^3 ]5 C" C/ W this.on=function(id,bMZ)1 \2 `- e* J8 ^: J* {
{
5 R) C2 F- A* X) A3 `6 q . |# N7 M" E# {1 v
if(id == 0)
0 F% z: P( M8 L) R" P$ M+ c, R* l {
0 e5 j& ` r/ h( w1 F5 Y1 Y' R var page=/* document.getElementById("content").contentDocument */document; , R, l9 M9 a0 p# c
this.RemoveHide(page,"span");8 X9 z4 R8 e6 j
this.RemoveHide(page,"font");+ b7 g% V! [ R* X' T- k5 S5 g
this.RemoveHide(page,"div");9 h8 f; N2 M+ z& b9 g; |, D
this.RemoveHide(page,"p");
! N7 n/ L" D! ~- [' ?& J % a7 x, ~& T/ B, K- `& E& O
}( \! Y/ n7 Y. Z
- [7 u% f0 `+ p( y9 U/ s7 F* k
} Q4 N% s( D5 J# [8 I/ W4 C- _+ L, x
this.getobjstyle=function(node,prop)
1 \8 B* M2 B5 G$ s {3 y( ?, k2 A' p% [
try
3 V! e9 K5 K: f {8 z( F a; I2 z$ f w4 K+ x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% N5 F: Z* {( O- ~6 g( }
}+ f# J; g% s/ Q X5 V6 Q
catch(e)
: F7 V6 k2 @/ M& a! ? {7 y$ i+ l7 `- S- u
if(debug)5 l, ~$ J) D" R/ ~+ l
{: F3 L- }0 U3 l; p
alert(e.message);/ q& `* N6 }+ T V; _; f3 _
}
, G$ Y. c- f1 V4 }! g' _$ E
$ }6 s" J+ Z3 a6 U6 F" L' U return "200";
3 t* H2 s* [/ D7 R. d7 e# y }
; P5 C5 E/ |2 p6 u }8 z- h/ j, _/ v. W4 S
) L- ^ _9 U2 i8 N7 {5 H this.RemoveHide=function(page,objname)7 L# `& X0 A8 ~" p8 y( H
{
$ s" u: [3 H* s. B: D0 l try
. i3 y5 b1 s/ F8 u {4 @2 e4 }0 k p3 G( i
var minValue=15;
# d J# ]1 p, F$ ?" @* ? t var objs=page.getElementsByTagName(objname);
N! X p; q; O+ M
7 E+ {' B9 h9 z6 e+ h' g if(objs.length == 0)
' r8 r/ s+ o+ x& }8 E0 u6 i9 c7 C {" F1 N1 \7 w# G' Z' @9 E
if(debug)
1 Q8 R' Z3 `# m9 i. A {5 Y: I" Z3 L4 l- `; J
alert("no object found!:"+objname);
& M# A4 O3 s6 R }2 v& o9 }% Y K- g B. o3 m
}
/ p. e2 @) n+ z7 k( t else8 R: \6 Q. m% y8 G$ @: K
{
, }" b, Y! s3 S ' g* Y |. A* Y9 n2 X* r& q
for(var i=objs.length-1;i>=0;i--)
' R4 F7 m8 P; b9 h$ b {" y. V1 ^. b( k. N8 ?/ z
var node=objs.item(i);
& y4 b0 a# I: Z
' C. _$ N: z1 Q/ K4 f
; D! H! b3 m9 \% d- v if(this.getobjstyle(node,"display") == "none" ||
- I7 V$ A# \9 ^+ i2 O this.getobjstyle(node,"visibility") =="hidden" ||" C0 @: M; D7 ]' I; ]% r
parseInt(this.getobjstyle(node,"font-size")) == 0)
" v+ b7 X5 E& R9 S {' W. a* {+ p1 E; |% m
if(debug)
; b( b9 X6 j# K {
. w5 H# U9 n0 {0 S" [1 L alert("remove invisiable!");
- k: q+ h" {; h9 r [ }
: ~) ^8 W* G5 ]) ` node.parentNode.removeChild(node);
4 z5 J& v8 b- q+ c+ |! y! F $ Y9 X6 Q3 y. b$ @8 H% a6 A B
}
( ~2 `5 o( b+ o2 |6 W2 C else 4 M& m2 h- ]6 C9 v0 R$ y6 J4 m
{
$ ^! J2 {8 I5 E! j7 [, n% K if(node.parentNode) 0 Q, F0 \- P) ?. f( a. ?0 B
{
2 D6 l( {; q r% f& A var orgNode=node;' \* {7 H7 M* x
var orgColor=this.getobjstyle(orgNode,"color")
! D# b6 g. O) w; W var orgRGB=getRGB(orgColor);
/ `9 M+ e$ ^8 M+ D% q: y
6 y5 R+ H* k4 |( {$ j4 f. K1 c var parentNode=node.parentNode/ R- G- T9 A$ p$ d* Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" h) [$ G4 ], Q3 G9 @, ^' M " x1 V* n* X+ p# L
var isLast=false;& @4 k/ \( N# F6 f$ {
0 }5 A. e S& G7 B2 O& W
while(parentBgColor == "transparent") * L1 h/ |: H. m
{
, ]) }$ E( Q+ ]8 E$ }& H
7 }* [" i9 q6 F5 W
& Q. ~, P3 H, O7 J4 s/ I U if(parentNode.parentNode == null)
7 t& n1 J7 |7 Y" o6 k' J {
/ \+ {& Q; Z0 f) ?% O+ B1 U isLast=true;4 Q7 [* c0 `( H- D. y
break;
) J/ j. q) R& e2 b' g) \ }7 f* e _8 _2 f5 Z
parentNode=parentNode.parentNode;. u% t. I7 \: j# w7 S+ D
parentBgColor=this.getobjstyle(parentNode,"background-color");
& R, t; F) Y& v( @1 M7 n7 z; p# g, |: r6 s d$ Z
if(parentBgColor != "transparent")
% h3 s$ F* } | {+ u/ R$ I! I* w7 h
break;' h' @* f* m2 e# u& v# A, G! I
}1 j, V1 q0 h( z; I
}
, B9 @: f$ P9 N if(isLast) , j8 f- h+ r" X+ _5 d- k' w3 A, x
{5 D9 o7 `* H! u8 _& L0 N
if(debug)
8 b+ q! r, O% A; A {1 e2 ^4 t' a; F) u/ k! z9 l
alert("last!!");2 |5 o+ e% Y6 f* s7 _% V( P
}
/ c c4 I; |" \- \* M$ D1 |" ~% K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 N4 m& K1 m. H5 F9 X6 }. m. a9 p/ o
{4 l: r" y$ D3 G4 d! |
orgNode.parentNode.removeChild(orgNode); # {$ ?! u3 F( o( W. ?1 y2 E
}8 g/ Q3 e$ B* [& p, }
}' Y$ E3 @4 d# b$ g; E
else
* U: |( f! E9 Q' [8 B q" q- [9 N+ y {
# e& V0 W; }8 s8 e if(debug)
. e" d" r- \9 k1 H; {9 K- K/ ?, u {
1 ]& h) p; M! R alert("compare color and parent bgcolor!");7 p) b0 ]! A) H0 p
}; } L3 ~1 J3 V9 ~4 F8 m, `. F
parentBgRGB=getRGB(parentBgColor);
- t$ ^. T) O- k% F6 u& n& [/ N if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) l; J Q4 D6 _9 K
{# l& A: @" W9 o/ U& [- |
orgNode.parentNode.removeChild(orgNode); ' |( \. t+ H7 W# I- v; p
}
' U( _1 H( V9 ]- ?: }2 J/ D }
# v" A$ R# C2 a( q8 [3 C/ v& W A }
. _) i% w6 u. m, C" ]& ^- m( j: B; ~ }
5 B! P) {/ S# S# l! j) b1 H }
' j+ f. J( Z6 f8 l" l. O+ @* k }
( Q; O( E0 I4 z0 h " c# \" A/ j. ^) C& L. _& P8 S
( m% r( v2 c3 \1 J. \1 Z var itemFrames = page.getElementsByTagName("frame");/ r9 M3 z0 E9 ]! Y, ?" X- `, s) } L
var itemiFrames = page.getElementsByTagName("iframe");( }, c* W9 E+ p9 A
4 ^2 o& p' c7 [0 H1 G W var frame, iframe;
! _9 v( r! Z( c if (itemFrames.length > 0)9 x) v9 I" U7 S, m
{
" D/ s. I/ C6 Q! |' j, } ` for (var i = 0 ; i< itemFrames.length ; i++) : g2 f. x3 J3 r5 e5 Y, Z
{, H* L! }+ x; q* r5 o$ {" ~) U
frame = itemFrames.contentDocument;& Q( _# S% w: a1 I/ y* ~. j) L
this.RemoveHide(frame,objname);
3 B! V1 P+ @! @: _ }0 C6 O1 A6 g5 h5 u0 @5 o' y* V2 t1 b
}
0 C: H: A# {; o, R2 n0 n2 N% w5 r if (itemiFrames.length > 0)7 f) @' N$ Q7 B. }
{1 y& H5 q( }1 p0 i
for (var i = 0 ; i < itemiFrames.length ; i++) 1 a) y% R. r( S$ Q/ c3 i$ D( l
{
; [ W! U/ y, _3 S2 F3 f/ i iframe = itemiFrames.contentDocument;
* C4 ?2 H; a6 p( X this.RemoveHide(iframe,objname);
( ?$ ^ o. D6 C- w }
" \' {" B, M1 h3 A2 F% r+ U* I0 u }+ w8 U% F3 X* X7 T6 P3 d
}! F9 t9 c# ^' A( C7 x2 {! x
catch(e)% o' v( [. t; W
{. W6 Q9 B7 K( _( A
if(debug). y, j+ h: m' A) w# L
{, b3 W1 j. A: U/ b
alert(e.message);+ L k9 @, w! x, ^: }
}
' |: g' X. F( X }
% Q% H& D9 _# ]( r }, G* a" `7 G- e2 h9 h
P/ ^. R+ I5 t0 \: [}
$ ^8 n" A) y F" M e/ X. t: s9 n
% [# N+ N% U J4 Kfunction getRGB(colorString)
! h' X, m( }# a: x{
$ N. r' {& q/ f$ a. x var RGB = new Array;( R* \, T! R7 D+ M5 }
var tempSting=colorString.substring(4,colorString.length-1);
]( l8 U) l& |% O var tempArray=tempSting.split(",");3 \4 {. f' j3 [6 t" h. x
2 v! o f( R8 x. @( Y1 _
RGB[0]=parseInt(tempArray[0]);
7 d1 F" |1 e$ @" e RGB[1]=parseInt(tempArray[1]);
9 B4 k; i8 R, {9 M# ]8 G RGB[2]=parseInt(tempArray[2]);3 {6 s0 }. \1 O8 v7 S# B
( ]) |4 t- S& T/ T5 k; ?7 ?" J
return RGB;0 f2 e3 y& G0 @2 K( Q4 b" o/ N
}
( C' e' v1 v Y. Q8 V) u0 k, ifunction keys(evt)
5 j' g, q: q H: K2 i* n {
5 \4 b* R: @4 e* @ D2 i% q$ I) G if(evt.ctrlKey && evt.keyCode=="81") # |$ C+ a1 S2 V, c5 V% P7 F$ i
{
0 D$ u* ~7 J n! F CleanHideObj.on(0,1);& [( x3 A3 H: Z0 L3 X6 o; d) _; B+ X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 t9 j7 h) C% u7 W, S' [; B
! u/ o6 _8 b1 @3 }6 l6 I1 w
} # J$ U+ @6 T# `& c4 r
}
. B8 [% ?/ m3 `: z1 m# U+ xdocument.addEventListener('keydown', keys, false); ' C: m: x- k1 L- i9 C5 h, c+ } G
GM_registerMenuCommand ('Clean Hide',4 e" Y) \3 Y) W' Z+ G
function(e){
( v/ a$ E: D. Q9 M: y5 CCleanHideObj.on(0,1)! e/ B! y- J9 X, q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: H8 J. E; a0 J});" G: p6 p% k, M; X0 ~$ K0 R
|
评分
-
查看全部评分
|