|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
K- _' a2 B! H) s2 {2 e9 O4 W( J" d7 i/ U
火狐插件,用猴子
* s9 W( F. n- L; y% ^) w
/ E9 `% F6 g4 K- j q9 ^var debug=false; * {3 @; c! L3 \! G3 S6 r3 C
var CleanHideObj=new CleanHideClass();
2 |# C# o6 S+ B4 c/ i+ s
9 g7 i) |! f J l( Vfunction CleanHideClass()
) c) O' s% E6 w* Z c A{
+ o! k( s' ? i. `4 G
& E& i* _7 b. E5 s- w& W2 E3 \) } this.on=function(id,bMZ)
' i+ b0 Z0 }1 I, ~. R {
4 M* R; {, K! h& L# y1 ] 6 f! O/ u% v1 a4 ~$ {3 F
if(id == 0)
+ g2 r# n. y; E/ H; H2 N {- [1 K' i, K% w, m! M k7 {: D
var page=/* document.getElementById("content").contentDocument */document;
# T& @1 ~. |2 c+ C: O this.RemoveHide(page,"span");4 G( I8 a9 Z7 e+ `
this.RemoveHide(page,"font");# }9 G1 q7 T4 P3 W' ]
this.RemoveHide(page,"div");* B+ S- d$ v+ f9 |
this.RemoveHide(page,"p");
1 Q0 `. @# h! b' r! R3 l % [$ b0 J) @9 ]6 w
}
! g/ [6 l1 v3 D: [- L( \
1 z7 b1 P7 W" ~. u" q }
/ X' L) v0 r9 A7 Q: J8 {1 L this.getobjstyle=function(node,prop)6 T! Y: A, \+ g: ^' D F
{8 H4 P1 P4 |- J) l' S( I {
try
! H* h( N, Q7 S6 y# S& A {3 r' Y) T. w1 s, W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
y' ~( f! `2 {+ \' e }8 L" B" z; \/ S
catch(e), E! w# a; h5 ~
{7 P; ]8 i6 m3 v2 x- P8 t# n' j% Y
if(debug)! x# F2 l$ C% {) C" R
{
" X3 |8 e6 x4 N7 \( p; g$ @ alert(e.message);
3 B- L ^2 Z- ?* m# F3 r6 a }) a% M- ?/ C5 L0 t
! L+ `' m2 a/ `/ y! b K W return "200";
3 c8 R' V0 ]4 a% C9 | }
. f3 [: ?, j& k$ l- |6 z7 u }
3 ?& b' G3 d$ e& ^, M4 C
9 P! X+ i& \. j/ v, d4 }8 ^: U this.RemoveHide=function(page,objname)- Q3 a0 D' A$ h
{
; b* e8 n' p K; ~3 v; R% `! l try
/ d. N; N0 B& X7 `8 E {
$ S- ~7 c/ _: u. p3 u var minValue=15;
& y4 ?0 l# X5 S5 S. W var objs=page.getElementsByTagName(objname); 4 _, k' I: ] g9 Q" f
$ [+ v2 i! [0 i7 k: h( v
if(objs.length == 0) ' d7 u7 ]7 q" \/ C; E0 ]! ^
{9 }# n, Z- K$ p7 g& O
if(debug)9 a+ | D1 L, u% K
{
" N$ l: @2 Q( n2 A7 T/ d* g: { alert("no object found!:"+objname);3 X6 L6 z5 ?6 L& x4 ~) m3 T, G( I
}
$ |: x3 J0 o! N; G }
3 Q6 E$ T. ~' @ else- g# N* j8 D7 q
{
C$ S3 j+ O* W8 f6 o ; b- j. {' t4 |3 G N- F
for(var i=objs.length-1;i>=0;i--) ! |" Q% t5 d( B9 i# q
{- A& u. Z, a/ w2 r- [3 ~
var node=objs.item(i);
/ _: ~# K7 X1 e
: C! \* a0 F: l6 E% A 4 K3 O) I, B E' {! G
if(this.getobjstyle(node,"display") == "none" ||" w5 s/ ^7 R$ J8 c$ f
this.getobjstyle(node,"visibility") =="hidden" ||& r2 D! N* o7 Y5 t' Q
parseInt(this.getobjstyle(node,"font-size")) == 0) # |( a6 h5 d( N0 _9 G9 h
{+ @+ A6 g: i' w1 ?) M0 G
if(debug)
5 X& Q2 C8 S j( R" |, a. C& ` {- p/ _: l; z% H5 S3 F8 O! y
alert("remove invisiable!");8 e1 u4 p) Q9 i% q3 `+ B' k) u
}8 g! V8 R* m6 L6 v) y% {
node.parentNode.removeChild(node);5 x F/ e* u7 N/ v" h6 C7 L% ^; A+ @
7 ?) w. Z$ h8 b/ R2 e
}
f1 z+ c% ]$ [) ~! ]2 C+ T8 k$ q. y else
% Y! R z1 L/ n2 ^- x/ g {
& w# a6 r `# } [+ L/ ` if(node.parentNode)
( R- i& }$ B9 Q/ ^ {
# t K% q% f, r) s8 `8 S) ? var orgNode=node;9 X0 d! }, Y1 P; m; A" b
var orgColor=this.getobjstyle(orgNode,"color")
- i9 }) t: ~/ j' h var orgRGB=getRGB(orgColor);
7 e" W0 F3 I8 |7 q) g' S" Z
9 G# I8 P9 T9 w; X3 M: A! H var parentNode=node.parentNode: L, C# O: _( u
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ P# P) F2 o8 K6 g/ K2 l
" q6 A/ t7 @ G var isLast=false;
1 m7 U# n9 t! |3 Q$ J- U
7 X8 H0 U3 f; p$ H! P. w7 v8 j while(parentBgColor == "transparent")
: p# A2 j' y* F) e3 `% S# }1 e {1 p6 W* ^; S' k( h! _" M
. D( K: p9 [; W$ n
/ o' M- X. E3 i" G7 k( z4 y. q, ^ if(parentNode.parentNode == null)- i" j% O+ d; D. {
{
! q5 J' ~/ F' p. n isLast=true;+ B" P" C# j0 U* Z0 [5 D
break;
* |" }1 z" ~: r/ E* w7 c u+ U }
6 w1 `9 p Y. m parentNode=parentNode.parentNode;! ` ]) Z( o. u- j7 v. L$ J
parentBgColor=this.getobjstyle(parentNode,"background-color"); c- b' ?" @5 w
% d; S, K6 Y9 u e7 y% S8 m$ U: a7 J if(parentBgColor != "transparent")
0 A0 i' [$ ~ G# h$ c {
9 j% N- I/ H' s1 X break;( D+ A, U& n' @/ e, V# G" |( T8 v
}0 Y8 N5 a* s0 F5 l6 K6 r; P6 c
}: h- e7 p9 `2 o: s
if(isLast)
; _" }, q: a5 B0 v {
& n% F. A! t# ~+ \2 p if(debug)% s* k" {& ^3 e
{
% a! v* g2 c! e% z8 P, K alert("last!!");
5 W8 ~: r0 R! g }' `. r9 V% R; ]- F
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 H& V% h1 n7 b+ @" C* f: a5 @
{" e+ X! h; t- S% S
orgNode.parentNode.removeChild(orgNode);
& O9 S, W' \1 m }* c& y# M# h3 m- a$ ]
}
' g0 E% \. n$ |" s5 k. @* D else
/ ]8 W! _6 h9 e( H {0 s) p5 |7 }& g4 R; ^+ h
if(debug)
1 }2 k r, [* l2 O: {: e" V {
6 B9 w( |7 D" R1 i alert("compare color and parent bgcolor!");
$ P6 ]1 `- t6 s$ O0 G4 } }3 Y' S8 v- q2 g9 Q
parentBgRGB=getRGB(parentBgColor);
/ N) g) n- p* a) S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 S0 r8 r* l" b: d2 k- i! c
{
8 w' k6 p! `& s7 z# [ orgNode.parentNode.removeChild(orgNode); ; l& K0 I+ }8 n7 i/ B
}- Z! r7 ] V' E& B' O
}
! D. t2 {, \ g0 Y8 c }7 T( o4 C: ?4 P/ d- \- E
}/ C: _- B1 \4 W; }( a4 M/ l
}' c1 ~! F* ^! w+ @- s# [0 Z
}
+ N* V, A" C. N9 n2 ~5 e: l* m # y/ b! q, p3 O9 z) A6 m/ T/ C
M- b, U7 n7 H* ^: s
var itemFrames = page.getElementsByTagName("frame");! e; T/ X5 Z) w# b; ^& ^
var itemiFrames = page.getElementsByTagName("iframe");. m- W+ D2 q6 X/ Y, c0 ]7 q6 s
; j( V/ j2 j' ^! S3 a7 H var frame, iframe;$ G* I4 S) N/ H
if (itemFrames.length > 0), R3 N/ k7 h5 |
{4 b$ B- Q- V7 k6 D. e1 V/ ?
for (var i = 0 ; i< itemFrames.length ; i++) 8 O$ q( ]' U! N+ a. P
{5 r. W, S- o- M' p( A
frame = itemFrames.contentDocument;
3 x* U1 m. ^: u this.RemoveHide(frame,objname); 6 P3 [, |8 o4 D6 B1 w1 ]" Y; I& _
}, ]9 O1 X3 r2 B: T: P- Z, r+ R
}
1 W/ N) `) k; m) X9 @ if (itemiFrames.length > 0)
0 }0 u+ K* l; P) D4 K {
M2 \( \5 \5 s7 [; c* `4 o for (var i = 0 ; i < itemiFrames.length ; i++)
, O! u* d+ D4 m$ n {
; f; Z2 C$ O: } iframe = itemiFrames.contentDocument;: t Q6 p% H: a4 |
this.RemoveHide(iframe,objname);
* {5 c" G$ J) Y$ Y: t }
( |4 O2 r9 _! x9 N1 a: x% W6 g }
. r. c, R' Q2 a }: P% Q% H( O9 ?8 h1 _7 d" K, _
catch(e)
9 U' q$ z" T2 k. ~% _* B' B6 [ {9 I1 c2 P3 R6 o% T3 }
if(debug)
, R9 j) }6 t' D/ y {
! F4 U+ i% P$ n7 x' a5 }8 E/ K. R; n( d alert(e.message);7 V( h* y! R' \8 b) {4 {
}$ b0 q( N) ^$ d8 N( f2 [
} A: P7 D% {" D% y. \
}
0 X* @/ ?2 b6 O/ G @+ l ; s! j# K7 d' ]1 t* c9 h: t
}
$ a* T$ @5 S4 z$ N. k; j$ |/ u. ?5 p# C; h
function getRGB(colorString)
- b% Q0 K5 \! d! p- ~/ B{
2 m- o2 O% R- ?9 g& o1 k3 k" E3 {& [ var RGB = new Array;
3 ^6 t, f" Y2 ^% Y9 u+ ~ var tempSting=colorString.substring(4,colorString.length-1);$ K3 l$ s1 K6 \
var tempArray=tempSting.split(",");* W( x1 M3 U/ S! ~1 V: r- q
: f/ u( k2 |4 e5 I& G
RGB[0]=parseInt(tempArray[0]);
; l9 O+ x, o6 ^1 \. c, A RGB[1]=parseInt(tempArray[1]);5 g( ]/ D, v; h+ ?4 a! f" q
RGB[2]=parseInt(tempArray[2]);5 z) E% V$ f+ @- M
& D1 K0 K' ^7 y
return RGB;( h J0 u4 F6 L1 C: T- T
}
1 b5 L+ K4 X8 H9 l w ufunction keys(evt) & P6 L2 X& U1 r4 w/ Z
{
$ _; I% z! Y. X8 @) j& t) k0 u( ` if(evt.ctrlKey && evt.keyCode=="81")
4 D+ ^$ N& Z7 v0 V$ @4 Z: d7 x: p" Z { & A/ `8 c. X5 Y0 W. Z+ p0 V
CleanHideObj.on(0,1);! L* i: P/ f+ b' d& a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 L$ [# F0 J5 e N $ i: @7 ]+ j; {" s; \: K1 d. z
} , _* f8 Y9 T' p8 J) K8 J. [" o
} $ |4 s- E. J C. ]
document.addEventListener('keydown', keys, false); 8 X0 P$ }1 I; J1 @1 z; t4 X( |8 R
GM_registerMenuCommand ('Clean Hide',
1 D1 N9 t0 A4 x+ X, z) e. D {function(e){
$ g! y; G R2 `" U! }% X( _6 j& t |% ^CleanHideObj.on(0,1)% j" V! \- q* e9 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 e% N' U7 V f: y- q% G/ k$ f});
0 b: x" p5 H5 b$ ~9 q |
评分
-
查看全部评分
|