|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ U0 {+ f+ c3 F0 J$ n% U$ h
0 G: F2 d2 j" E8 X6 E火狐插件,用猴子
3 o" y5 f; {! t0 Y% b% i
9 `4 }3 }* z. n8 x% b7 mvar debug=false; % y; I3 N. i$ K; l3 E) y0 y
var CleanHideObj=new CleanHideClass();: a, h) z' ~% m+ [8 N1 c6 o
. \* J- U/ T, W
function CleanHideClass()
, E" W4 |5 T# N" T- ^) a{ . v& @9 J9 o% f" ?4 V
8 K0 Y& S6 ~) \! a# j8 {1 d7 s w
this.on=function(id,bMZ)
1 f0 V, o9 M' d) I+ I {; z' w3 l3 Z! y& s
- |- Q3 G. k) p- I4 e' N$ O
if(id == 0)- @+ @7 f, m, D- l; P" B
{, I- z9 u4 }. a
var page=/* document.getElementById("content").contentDocument */document;
7 _% g' W8 L0 J6 U* A/ Y this.RemoveHide(page,"span");
. t" G3 {9 R$ c this.RemoveHide(page,"font");
; `4 d0 P. }. R! Q- m0 z! A+ i this.RemoveHide(page,"div");
8 I1 [/ r) |4 c9 K this.RemoveHide(page,"p");
" O) G) ?6 q- l
, q2 G0 x* w( ?; m/ v4 S }
& z0 V" |# P0 L/ Z+ f
2 o% m5 Q2 \5 q ` }
- E1 j" N. q6 B% K3 r/ d, I% X this.getobjstyle=function(node,prop); Y- V# f. i. Z- p- F
{
5 i+ ~ ~5 b0 \5 |7 o try4 P% K- o# d# i+ J8 o
{: @8 r8 }/ `8 }: P E3 x0 R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( o4 _0 x) D2 s7 m. U" r! y# o }1 ?+ Q2 }& X, t ^$ ^1 J
catch(e)
! b# ~3 b" k+ h6 o* A6 O. B {1 W7 e: L k) s8 J! v
if(debug)% Z- m4 w6 n) u
{
6 J: J0 D- ^0 t alert(e.message);
' W# `* p. N% S% C }
5 K: h4 T' n9 t! G+ n$ r3 j 8 k4 C( e3 l# }3 N
return "200";' ^& t! Y* W% G4 f3 T% i: ~
}( V' s6 y# O8 E5 C
}& C7 T) l( M' g4 ]$ L* e8 _; M% B0 M. K
/ H3 Q- U, `, j+ C4 H this.RemoveHide=function(page,objname)
' a& ~8 H4 O! | s7 D6 D* P7 | {& v+ ]& N0 Y9 Q. f* t
try) r2 @7 z; s6 e J% j: d2 v
{" {2 j# C7 o# i+ H% ^" s
var minValue=15;
2 c. v/ [3 \) }1 ?0 X. q, g$ r var objs=page.getElementsByTagName(objname); 8 u) t. Q1 r' j3 _
4 [1 c/ u& c; P if(objs.length == 0) ( m4 n& L% B( X3 A# I2 z& d
{/ A9 E8 ~( c% R5 {
if(debug)) u! G& U/ f" c6 H! ]
{
5 W+ k6 B v C, W, O N alert("no object found!:"+objname);
$ C1 N7 ]2 c: g9 N: D' F. G0 X }$ v0 z1 H" G+ b+ G
}
' f1 m' `6 c5 k* C else
' i' }$ c: Z' t# N% H {6 e7 G- h2 }. F! \, f- a9 l
! T# d" a3 L3 ~; P) I7 E% @
for(var i=objs.length-1;i>=0;i--) 9 R* C m( ]6 B
{
( g* [5 n0 w" q f' N7 K5 O$ q var node=objs.item(i); % F: f3 v7 o/ ]0 L8 `0 h
' }& f1 r3 {0 c) V, G, w S# P
0 N4 P$ }. L, g if(this.getobjstyle(node,"display") == "none" ||
' z; o' ]! N5 }8 D5 C# B' A this.getobjstyle(node,"visibility") =="hidden" ||
& f1 q6 w2 }8 G' ? R. n parseInt(this.getobjstyle(node,"font-size")) == 0)
6 q. X+ [6 i O7 u) O3 E" t {$ f1 O! I/ P' g6 R" {. k
if(debug)0 y& _. j Z7 Z# X
{0 |. L2 \6 I( m6 L
alert("remove invisiable!");4 j% I7 x- o" k" f$ h6 B, ?8 b7 `
}
; U/ N! _3 c! l: k node.parentNode.removeChild(node);
5 k) q' S5 |) D4 g- e; A8 A
E6 E, U# W/ p0 m$ s# m/ `% `9 ]* b1 G }# e/ W |, v" q/ X
else 4 j2 u3 w4 K% s) X- o) _
{' u8 S3 a, e( V! ]% q! B6 C
if(node.parentNode)
# s! m _6 y( y, }2 @ {
; G2 z/ O8 f2 ~6 S% w var orgNode=node;: G, i4 b3 f; ~$ e0 ?! h8 v. ]
var orgColor=this.getobjstyle(orgNode,"color")6 H6 R: q( [" a* [" R# D
var orgRGB=getRGB(orgColor);
( d/ T% k# `" ~# h' h' O4 |
, M# S% x5 }+ G var parentNode=node.parentNode
! Z9 J) @4 J" Z! z. A+ A$ L6 } var parentBgColor=this.getobjstyle(parentNode,"background-color");& o) L6 R8 \7 O! H) @1 x
- ^; w" S( s# y9 g/ s( O& K; u7 ~# o' U
var isLast=false;
0 `) t( j) Y" _! r
' |# x) T1 ^& ^/ O& |- M while(parentBgColor == "transparent") 8 q( g2 j; O, G! ]+ c
{% k2 p, c' t3 M% [* e
7 o7 U" t5 f+ f) U8 [1 j
i* `% n1 f8 M' { if(parentNode.parentNode == null)
6 C2 q6 i7 f- {4 I. _' E {6 d* h/ p/ c3 j, j: ^
isLast=true;
" t/ E0 L: W, U! _ break;
) S( y+ H+ T) \% V8 \ }2 w# j9 Z. T, z
parentNode=parentNode.parentNode;
8 E. O* C7 T8 {# F" ? parentBgColor=this.getobjstyle(parentNode,"background-color");9 d6 I' Q" p9 C
7 O. S5 Z1 z; V5 @1 d8 v
if(parentBgColor != "transparent") - ]0 W9 D% Y- W3 t6 D5 @$ n; Q
{' M) |. x5 g2 u
break;+ s7 X7 Y- r+ N# j. W. A
}
2 n+ v b9 Z; b. S* c0 e, v& o }1 P( ?9 g0 {) o/ E, K
if(isLast) 3 y/ a5 |$ o7 J- T
{$ }: ^, |& @# U+ `: y- U* P) U
if(debug)
8 q) y% [8 J0 t {$ ~+ F9 \8 ?$ m
alert("last!!");! R6 |; ~8 b( h* Y
}4 {' k a4 ~6 K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& I7 f& \' c, F- z7 v G {8 x$ P; Y8 Z8 ?9 A+ o, T
orgNode.parentNode.removeChild(orgNode);
7 @5 J( e6 _* g) {0 [ }
' e6 _! {: Z6 [, L% \& y }
' E3 X9 v2 Z6 t; j else# Y1 p" X! z2 w5 [/ C% ^
{
. f' u, v1 Q1 b' `, l0 s6 v2 ~ if(debug)
7 ?4 e' i5 v, A! \7 e {
$ ^! g7 C5 ?4 z1 G alert("compare color and parent bgcolor!");2 v4 _0 a8 @, w _( W
}
5 X5 K" m3 O4 G- |! j3 Q: j4 O1 y parentBgRGB=getRGB(parentBgColor);
2 n4 [, F9 O2 e' X5 s, C* g if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ Q- p: R1 Q8 Y) g( I {& a" Y. d9 w$ ]5 k
orgNode.parentNode.removeChild(orgNode); ' \1 I9 `" g3 w+ g! b' s5 @
}; s5 I7 O J; L9 K' X1 d) |
}
. ?" n9 _4 ?/ _8 c } a+ t$ c p& g$ E
}
0 R2 e5 {1 D: u# S# B1 \ }! N0 S6 Y# Q$ T$ e
}
5 b0 a- b9 r% Q5 n$ f + k6 g) n* H% j9 }" _
) @! i$ r/ U# }9 Y- L& b
var itemFrames = page.getElementsByTagName("frame");
?" ~" n, A) A7 x: j) \$ {* V var itemiFrames = page.getElementsByTagName("iframe");5 P# t) N. `) i1 K' S$ {
% E [+ O4 @% V+ O
var frame, iframe;
3 o$ c6 Z- \" ?) { if (itemFrames.length > 0)8 ~- \6 ?9 _& U, x
{, `9 x( v, m( J5 S( z( I2 h
for (var i = 0 ; i< itemFrames.length ; i++) ; {2 E; [/ |$ B2 l5 p, u
{
9 h5 K) n' R, j, l# s frame = itemFrames.contentDocument;
* N% r" S( d+ x$ Q6 j this.RemoveHide(frame,objname);
+ l. @' O9 {3 ? }- S9 X6 w9 j3 i4 W* e
}
B5 Z' x' c; R! q' y if (itemiFrames.length > 0)
3 ]9 y4 l( h. \4 } {
8 T+ H& _0 q! E4 d: v: w for (var i = 0 ; i < itemiFrames.length ; i++)
" R4 b4 v' z3 P$ T {
$ E3 r4 t) F! J! _" ~" c; }- f iframe = itemiFrames.contentDocument;( a: |' w+ q# X3 E% }7 U/ c1 m
this.RemoveHide(iframe,objname);
9 v/ r) ^* U9 _. y* Z6 _4 i8 T. Z }! l6 F- w8 l5 ~/ V" r
}
. U5 G1 H+ n0 L3 H' b0 P; e }- Z: r2 ^0 ~" g5 U: k0 Q$ [" _
catch(e)
Y& d" g% ?7 o- ] U {' k# T# c4 H- Z' z6 W9 a
if(debug)4 T# h( {3 J& ^% @# Q5 D
{
3 P) C; {$ g X$ H alert(e.message);; A1 M$ J m$ g; ]3 U: j. d) y
}
( U. W P7 [6 P. a" d* |/ u }
0 l3 y" Z' d8 G6 w: V }
" y% z. Q/ B1 | c& C6 ?9 y. R" x7 O # x; V# ?$ d6 _% q$ V/ f+ k
}
; A; [# F/ ?3 B* Z* n% q i
6 i8 p6 ^5 A& ~$ p. g, H* ?function getRGB(colorString)
' m" X$ K/ Y1 r! u& ^, M{
. Z# h# ?& X: H( Z var RGB = new Array;
4 c7 D* J& F' Z var tempSting=colorString.substring(4,colorString.length-1);
, P/ g P: a3 i- r1 E var tempArray=tempSting.split(",");+ G7 U! }; X! i8 b
0 h1 W o$ y- R9 q1 f
RGB[0]=parseInt(tempArray[0]);6 x& T0 |- H0 j2 g& l# L% T9 _7 l" K, a
RGB[1]=parseInt(tempArray[1]);
5 @2 a$ F! v2 x0 d' \ RGB[2]=parseInt(tempArray[2]);, A) X% s6 q9 Z9 } p
+ L! b$ G! i2 C1 Y
return RGB;
; d& Q) b: z% v, ~& F r}- A- R$ S, u" ?5 Q0 @8 X% d
function keys(evt)
0 r) _, S6 J y {
6 l3 }* A0 Q# r1 _+ c( r& } if(evt.ctrlKey && evt.keyCode=="81")
! W6 Y2 g: I7 m+ U& S8 C {
0 |( e6 r; u# ^( C( g, Q CleanHideObj.on(0,1);6 A; D+ c0 w2 }% C4 Q! i# e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! U9 R2 R4 i% z
5 B% F0 k( [- } w& f1 v }
1 J, R4 O/ [8 ^ u: G } 5 {1 {( Q6 O! u" @
document.addEventListener('keydown', keys, false); P' {% n+ A; A, j+ @
GM_registerMenuCommand ('Clean Hide',: |# X2 j3 I" W' k5 z/ m
function(e){
4 ~7 i, i: j/ dCleanHideObj.on(0,1)3 F0 s1 ?1 O3 t7 T$ w2 q5 Y$ ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 [3 g' N, S: s0 T) Y/ b
});
% Z3 J1 g: a* q2 {) u* R4 J8 } |
评分
-
查看全部评分
|