|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 k2 u# l0 Z- ]' e, G& Y
7 a( a" \$ E1 a! ~
火狐插件,用猴子
3 X; J( q, n6 ^4 h" ~3 X E. j4 r+ s" o
var debug=false;
7 h% o. y" h# D1 O! G0 E$ avar CleanHideObj=new CleanHideClass();
, M" u( Z6 B K2 U
1 b9 C7 \5 p4 l, s3 _+ S& a% Hfunction CleanHideClass() 9 }3 D! K! y/ O! U0 ^1 V
{ * x7 k8 Y% ]/ C8 d5 k' T
4 w" E& b( ^0 H7 {3 Q o this.on=function(id,bMZ)" M9 t3 I- g; [' J/ M! s
{
# p, j5 O1 U) x2 K2 X
+ C9 r" i- p1 J! E7 b if(id == 0)
+ `0 C, e) X7 l& x {
) M) N' g' x2 Y+ k7 N var page=/* document.getElementById("content").contentDocument */document; 5 h+ L0 R' p4 n' f( s3 r4 |; I
this.RemoveHide(page,"span");4 W& p2 Y1 i2 b8 R- N' D
this.RemoveHide(page,"font"); F2 T% H9 B- O( T& u
this.RemoveHide(page,"div");
" d/ l* `! [# r- S5 ^ this.RemoveHide(page,"p");
1 w$ y# @1 E8 N4 R2 w" A; _ % J. n, ` h" A- V" X9 i8 i
}- @; ~/ h" \$ M3 ?
$ @+ b; l% S5 C; j9 s' w }
- E2 n, Z- e( m; g9 v2 Z this.getobjstyle=function(node,prop)
a, s/ i2 _4 ~' ]' ]# g8 B {
3 H' G0 w# G' U& v" u% w# I try6 {: ^0 [5 f/ I' { }
{
" h) P* W# b" j/ ^7 X( L, Q( L return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ @& f: ~; w+ y
} f+ A$ [6 Z4 W/ p) z# g* J- ^6 f' C
catch(e): n" Y' E4 \2 A7 u! o) {3 b8 s4 ~
{& V* f8 A' X! q
if(debug)
' T( |! M3 n$ V {+ s; c; [( a7 e' e) N7 |# `
alert(e.message);
2 H8 k( F" C( z8 g4 r" a }/ u' @- O: B; k3 K
- x u8 \1 L& M& \- q0 M' b return "200";
# c$ \. u6 f( g s2 d }8 y, | w3 {: R: V
}, I$ M0 `8 s: U* O' L) M: y5 f4 d
4 F6 W( q8 A9 z0 M7 j& a: f" @
this.RemoveHide=function(page,objname)9 n0 _& W% c5 T3 ~4 A( D
{
3 D, V6 X- t3 ]8 C; ?$ W try; {% m4 x4 D5 y: e2 }
{! f B+ t- I% t4 b
var minValue=15;" m5 Z" _) H7 e: l0 M
var objs=page.getElementsByTagName(objname); - B+ V, ?) {9 p6 t: Y
# y5 X) [0 r, m. e/ R" M" m4 ~
if(objs.length == 0) 2 L1 U. F: x% q+ w) R" i# R
{* q6 { {0 p$ N7 ^! P% Q
if(debug)
; \ [, t( @ {! e# p2 J3 G {
7 D) ?' x. T& \; V alert("no object found!:"+objname);% M1 _# D" J z9 \( S! i' r
}: V4 |) W9 n; m& s5 B
}
! P5 ]( p& e- c. R6 D) A( K else
; n+ D6 b: @% P; a {
& a) n. y/ d: v# j6 B
8 |* c5 p8 V" t/ g3 H9 Y$ f for(var i=objs.length-1;i>=0;i--)
# ^6 v7 X. E( ~2 p {4 \6 M6 G9 E" s' J8 \/ x
var node=objs.item(i); - h+ P0 @2 L1 H. N4 J/ ^
& a* ~$ R' @! T: x
" U {+ \: V% f7 Q. _! q
if(this.getobjstyle(node,"display") == "none" ||* [- Q0 C6 d, i
this.getobjstyle(node,"visibility") =="hidden" ||
% N2 Q) l! L# s$ m9 ~" Y parseInt(this.getobjstyle(node,"font-size")) == 0) 4 g$ [( M/ s2 r6 _2 u
{
. R/ R5 B- G. g. F& b. O* g8 ] if(debug)( g. y. H! ~5 @9 @& H
{
" K$ |* M) }; i' t8 z* E- `# ? alert("remove invisiable!");3 g" ^+ S1 y# a( c# V
}: H: G5 H* Y* L' Z% P
node.parentNode.removeChild(node);
0 t4 Z9 e' l4 ]& n
- b+ O5 S1 E4 }: R" O% M" R( j0 L) D }
2 m: c+ [) D. {/ H* T0 d) E* r; D else # f) V0 G/ [6 z5 [2 m5 w
{
/ O* W6 _6 ]9 V2 o9 I( d, Y3 \ if(node.parentNode) & e& } s9 ?5 h: Z4 {
{! e5 X% O: S, K& ]3 p$ ]) X1 V
var orgNode=node;
0 A, _6 O. R' j& @2 O# a var orgColor=this.getobjstyle(orgNode,"color")1 p1 V: v. d+ u% [+ o8 z. l; P
var orgRGB=getRGB(orgColor); 4 M, Q6 e% {4 f
3 [! N. `* n2 m2 U6 G2 M/ T, q
var parentNode=node.parentNode: r8 p6 _$ i9 c& R; h% i- X
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) Q# K l, S; |; i8 p7 t, q+ k! m
! z) [+ ^2 L5 ~* J: `. m var isLast=false;4 c1 Z5 b" h4 O
5 A. J* y, z) J while(parentBgColor == "transparent") ) \3 }" Y% y5 i& G. m
{2 {1 m; F% u9 W+ @$ |, r. ?
. G$ O: e6 O) C & Q" C2 j: a" b9 \; s" s6 L$ w. E/ A& F
if(parentNode.parentNode == null)
' V( L: u2 q4 r9 I0 M; a {
/ B) J& G% I- \: F- F3 s isLast=true;3 g0 z# _% y& P- r
break;. N+ K5 \$ K$ |* K g
}
) A# y8 K% I% h parentNode=parentNode.parentNode;. V+ D& {. t; s5 \- _# r1 w" y9 K
parentBgColor=this.getobjstyle(parentNode,"background-color");
. |' P2 f9 `) }6 e Y
! m. T/ o) K6 _' u0 G if(parentBgColor != "transparent")
7 O' M# V8 H: H* `$ L9 ~ {
! p4 N% O% V1 e8 F& K break;9 D. L1 i' L, y) i: ^) V
}) w% \4 T* M' J% h3 f, g+ B4 Z
}7 k' v( S3 P$ b+ W4 ^8 C
if(isLast)
9 D1 U3 ^% G% `4 f+ _8 y {
+ u. }; n! x+ E. e# }/ h) m. l if(debug)0 N+ O; U C$ ]3 { \0 P/ o; ?
{
$ D2 j m% [" [" g alert("last!!");
$ K) e+ Q6 u4 C, Y @% X }9 E& ~, K( L$ x/ _/ c6 K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 ]$ \4 T' m7 K0 e
{
/ }+ B8 o N. q3 U5 U orgNode.parentNode.removeChild(orgNode);
+ w! `, h" q1 T; o! o- u5 i3 W2 f }2 \1 r% f. L6 k7 E# d3 D
}! o. \& Y7 ^; Q9 \ d
else) Z8 A& a3 s& ^* D1 ~3 Q
{: h* N8 P- ^% `4 c
if(debug)0 |; Z& k! B, t1 x; G8 q% I i
{. d( v: c5 O. M5 Z1 ^
alert("compare color and parent bgcolor!");. Q' L) t2 U7 w
}
* a; u" B0 c3 W% A3 b6 _ parentBgRGB=getRGB(parentBgColor);
0 b( i" S/ F0 p3 U* M1 S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* i4 m2 q/ g$ z, {1 k! f0 e { N7 B& u: Q( E# W4 Y
orgNode.parentNode.removeChild(orgNode); # f1 Y/ W9 A+ I2 ^
}
9 w! J Z* D$ o F* ~ }
4 I0 W m! _! H5 R4 V }: r8 y* }$ Z# X& ?; u! V9 D- @8 ~
}
) b7 [9 f$ N; k4 k) b! U( ^ }9 o1 k* [) B; y9 C3 X( K7 b0 P
}
) z. \* j/ F, a' ] : m3 O s3 ]) `, r
4 t! p: O, e9 K' B v8 A var itemFrames = page.getElementsByTagName("frame");. _9 L) ^3 x3 [
var itemiFrames = page.getElementsByTagName("iframe");1 Z# Q* \# @" Z9 d
# T$ j6 [( \# G# V2 f
var frame, iframe;/ l/ N. Y9 X! }# o( X9 {, J
if (itemFrames.length > 0)
2 N, h4 q% R8 \/ I7 W# ^: d {
, p8 g" ^& j* _+ q X for (var i = 0 ; i< itemFrames.length ; i++) / Z5 d% }. ?; v: D0 C g, e
{, \+ T, A5 [ x7 j$ }/ V
frame = itemFrames.contentDocument;
! w' x6 l& V5 w" w3 R2 G. ? this.RemoveHide(frame,objname); " P5 T- ?3 D6 g7 G2 `
}
2 E6 ?: a- v5 y; `$ ? }
' U' X. R+ P' ~( h1 X if (itemiFrames.length > 0)% I5 r( _# z8 M8 H7 m$ N
{
* p& B/ M' i ]+ H3 V' J. M for (var i = 0 ; i < itemiFrames.length ; i++) # [# R, \3 {9 }; l5 G: r5 ~
{
Q5 r# a! Z# h5 |* J4 I& K iframe = itemiFrames.contentDocument;
( n/ z4 R! M7 j$ `1 x4 ] this.RemoveHide(iframe,objname); Z7 A- f2 M9 E/ m8 R
}
6 V( k6 q8 n! Q$ M R6 p }5 @6 U1 Z) @4 D: X& u6 F6 _4 e% L
}
6 H0 A6 g* O; L% v catch(e)
1 G& t( q8 n& E {$ b+ ^+ o" T1 r4 n# f- W
if(debug)4 ^* B1 R5 n' o7 q% Z5 a% f6 [3 l
{/ T' E% R6 g5 j% O$ ?2 a
alert(e.message);
' x: ?6 c% b; H4 I& m }+ V8 { U- W: L: B9 t
}
3 L9 t! O* s H9 Y: o8 i4 ? }
, B% [1 q6 @$ h. f: O & p* \" G& m. c& ^- L
}$ N) u1 F1 D3 Z+ c8 q$ |4 B
2 {; k4 ^; w- l8 `7 }3 ~function getRGB(colorString): F9 z2 N5 D- k8 v8 L
{
1 z- }7 z. @- c2 n var RGB = new Array;
x4 W) y% i* G; q( L, a- R; F var tempSting=colorString.substring(4,colorString.length-1);
& L. s' I' k) R% a var tempArray=tempSting.split(",");
7 Q) r& R5 I, _/ ~* y; S6 W
6 `0 J# D W# b3 a& S/ T1 } RGB[0]=parseInt(tempArray[0]);9 a( X: S+ Q, r* |) h0 e* I7 U
RGB[1]=parseInt(tempArray[1]);+ e( K7 [/ l% z o2 c+ p9 V# Z& B
RGB[2]=parseInt(tempArray[2]);
, w { J8 V$ T( C. X/ C
5 U* t) b' y1 a9 w return RGB;+ J T' r# N! O; {
}
) D( h4 N* V, A2 j2 j. P8 _% rfunction keys(evt) / A1 H1 ] b) ^6 J
{ ( r# v: }3 w& Y2 w6 U. T U
if(evt.ctrlKey && evt.keyCode=="81") ; n4 E) v- T7 z# R% X+ U) O; t. d0 G! T
{
: ~5 j1 L; i" C! v CleanHideObj.on(0,1);
# V$ p, t* I( h% n* v& I; A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 H/ V' J& ~5 y; n9 K% `
; m x& ~ Z8 y7 X9 f, X3 k7 |
} ; F2 p* u! Q# y2 @
} % ]% I- u% D. M' ~2 b& O6 S5 ^3 I z( y
document.addEventListener('keydown', keys, false); ) K; j" C5 ~* @5 q9 ^- g/ M
GM_registerMenuCommand ('Clean Hide',/ T. T# @. a' O1 y) T7 o. f
function(e){3 w8 M( o+ [, d/ H
CleanHideObj.on(0,1), |% z: i; o+ T1 @& X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
s$ Q" ^- m( H3 A" ]});
2 n; b! b4 U5 K- Q# r |
评分
-
查看全部评分
|