|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; V: x2 a X- Z; s6 o8 |) d* B$ z! z+ |7 ~( p8 u; ^1 X
火狐插件,用猴子
9 u3 A% P) f; P/ H0 K" t' `$ p; i
var debug=false; 3 L& k2 c4 O/ ^. E4 Z
var CleanHideObj=new CleanHideClass();* \3 Z" G/ n) q# q6 ]+ r
; @+ A& V5 W5 j. R5 f6 }8 Hfunction CleanHideClass() 0 q3 ]5 S* t/ a! W+ x* B
{ ! ~' _4 |! p. ~/ S. ^
- Z" ]& ^6 B7 A# U this.on=function(id,bMZ)
, S. C) j+ r8 n! o G3 e {! j5 t9 O; _6 u
( z/ m+ u& }1 ?/ j. x
if(id == 0)
2 s0 v: d! }/ O$ ]/ _2 [- n, s {
" a% e/ _4 f8 U6 V) W/ E% m var page=/* document.getElementById("content").contentDocument */document;
& A; a- u+ J4 a2 A. y4 y0 v$ j this.RemoveHide(page,"span");8 c. L& [1 i* I" a/ E. H+ z
this.RemoveHide(page,"font");
- a6 j \ N$ Q# }9 J- L' C, a" x this.RemoveHide(page,"div");5 ^' R" a( g. d! u
this.RemoveHide(page,"p"); E7 T, k/ @5 d
4 [: h _, {5 H! x5 q1 |9 Y2 b2 M
}
0 F* c( r* m. l/ t& J0 A
) `" ^4 K- a$ {; P3 K }( `* Z5 w# d" A" Z& w% d( l
this.getobjstyle=function(node,prop)+ x' F) @- t* C: [
{
8 y2 n( Z) \ \3 _% D( S try. a) V+ U% o4 b! L2 O3 v+ n
{
; g: {. w3 I/ }7 \) \: {, F5 v, ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 t( ~2 T% f- B4 W! W- g- I }5 `5 {
}
, P& k7 T) b3 P1 ? catch(e)! F5 O0 q0 {: K2 r Z; _7 k
{
1 J" u% c+ K! H4 M, Z! Q if(debug); y2 J N0 ] E. o5 c2 d0 [
{
# Q) e! B, _; r3 g3 q8 v# e; ^+ F alert(e.message);& C$ m6 a2 i& l( @' J
}9 H. {0 e3 M8 S' Z. f2 i
# a5 u- Y7 N6 E" x: ? return "200";
$ @1 l) [ n: r( }: J! {% ~ }4 _: b- T n5 {! K. p
}
- i5 O$ L0 n) g; R
4 v- \- x, ~+ d0 R4 \ this.RemoveHide=function(page,objname)5 B, \ x) ?$ T2 ?! v9 ?* x
{4 W/ y) V/ v; y* \1 {
try
: W8 v! W. A8 R7 ]! f( }3 s. E( ] {9 W- ^# u( m! J5 E
var minValue=15;
1 Q) q0 G9 N& T6 B) ?" A e var objs=page.getElementsByTagName(objname); 2 p1 |% ^+ J/ P( e5 c: t
. `9 O9 J2 {! \1 {3 v7 b
if(objs.length == 0) + e% I/ ~- B9 L" O
{ ~. d, I8 G. C, ~( f- F
if(debug)
+ W4 r6 U1 G% l9 @/ y# d {* @+ I2 @ w4 w5 Y5 M$ b. T0 k( e& T
alert("no object found!:"+objname);8 {; P0 F. W- B7 \2 L2 ^# `0 I
}
+ d3 C2 ]1 z4 N' `/ j- s }
5 l; F( R9 k4 ^# h* R- n" E5 C; P else
# ~: e1 J$ W. w: v" u; Y0 v# [! I {
7 w, r4 L3 X/ j4 [" t8 t% J
$ H) S; {$ M3 H6 P3 y for(var i=objs.length-1;i>=0;i--)
, l' o9 {" u: e3 K t. T6 n {, K! t, ?0 B/ o3 N( _
var node=objs.item(i); ( O! c3 ]6 f$ N$ d* q: U4 f
. d" r# }5 U2 a& B* a
7 V# v* y4 x/ i' [6 ?* k if(this.getobjstyle(node,"display") == "none" ||
7 k! v0 I; v* j this.getobjstyle(node,"visibility") =="hidden" ||
; T0 T- y) n6 j3 u% Z/ t$ u8 n parseInt(this.getobjstyle(node,"font-size")) == 0)
$ Q% W9 m3 b# n' ~& z- U {
, l; q Z2 a; R0 g if(debug)
- y/ g( z+ n' @% p6 H& z {9 \# E7 }8 o" g$ w2 E4 }4 L2 h3 l
alert("remove invisiable!");& O3 W+ P! I4 o/ J" i' }
}; K6 T- t. ]+ w" y3 W9 @
node.parentNode.removeChild(node);
) j( A2 @! h5 Z- x1 L, v
( U0 p( t+ E( b0 y }' `. _& u' q* _1 N k, M
else
1 p' J, H. `1 \ {6 J( G8 C. o* ^$ i _2 w0 E
if(node.parentNode)
# _) M2 G, r2 E {4 ], C& r. U8 e
var orgNode=node;' ` O$ V, [+ Q- I
var orgColor=this.getobjstyle(orgNode,"color")
- [$ I7 @- }, q! \' L: z, a: j var orgRGB=getRGB(orgColor);
. h9 ?" v8 |) K ) X7 A. R7 P6 p P7 ^+ J0 t
var parentNode=node.parentNode
9 a% _- g, U. j% T5 G var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 z+ l& g8 G) B r# v3 F
+ |" O) N: m( Q6 s: t$ ~+ I1 d var isLast=false;! x) L9 k8 w+ F; n- A5 @1 V
1 w1 S# k3 Q/ s; {8 F while(parentBgColor == "transparent")
7 M0 ^ a; z, t* O* m8 V; ` ~ {6 [. \6 X( b, E
; m, H) Y' o- L7 _6 Y9 E
9 v- g8 P* C; h if(parentNode.parentNode == null): }/ F8 b- x v5 |2 x c/ F
{
1 D2 B$ X5 ^; H' q# _) B! m" x isLast=true;
8 i+ _& _0 l( b break;' L) u4 A7 [# B P
}
% N1 _; ]; `- n4 x a- ^ parentNode=parentNode.parentNode;
: ^. m' v' o+ d' {5 [ parentBgColor=this.getobjstyle(parentNode,"background-color");
) u7 L& ^/ ~9 Y+ D) |3 ]
4 Q& M7 o. w1 z9 [5 ~ if(parentBgColor != "transparent") & d5 J" o0 A$ E
{+ H- N7 t/ h" x8 K/ \) Y* H) ?
break;
6 z& u" M4 i5 e3 F; d }, z; Z X9 x, r
}, c& [2 N* E5 F, a; I/ v
if(isLast)
5 J- q) v U$ ?9 d! O0 A* f {1 `$ P2 z: o2 U; P/ }3 h9 }
if(debug)
# t" i) L6 K; a' J- K! G- x, M {2 D- B+ ]% R* j( P! i: E
alert("last!!");) o" t& j% l: f- P+ \
}
( g5 o0 f- X% Y2 v* @ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 l) X+ c5 F! }" l. [; O {( V; s6 V( w! H r# P* p
orgNode.parentNode.removeChild(orgNode);
5 E, M) k2 M6 l0 E3 i& d0 l }: l8 a* b4 Z: E1 ^3 ^2 j) A! ~+ M
}
, ]1 R% R5 S; H# C" v& j8 h; g else3 x0 h1 w q5 Z! Y7 o1 e E
{
% @% A* ^! V" z! d0 I% r if(debug)% ?: \. ~% ~8 y1 {2 T) a% B
{$ D7 x. D9 T& m
alert("compare color and parent bgcolor!");2 H/ ?2 ` j& H( F2 ^! c% S
}
4 z% k8 r" m% a2 V parentBgRGB=getRGB(parentBgColor);1 e' m" @ c: y8 Y, g
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ b4 G, H* X) q8 O+ G( C, \
{( _/ Z& R: L f) F
orgNode.parentNode.removeChild(orgNode); . ]) f% y& n, ^! ~) Q( J$ C+ \$ H
}
8 ^; ~: @" ?9 V9 D2 Z }
k, M n: A/ I( P- t }4 ?8 r6 x2 B' q" O2 I
}
2 A7 T. S$ A' Q0 }8 d+ Z3 k }7 {7 [; c( M/ j! T% }' \7 ^. l; r
}
% m2 X$ _$ [: b3 Y* K6 Q
' ]( p1 k$ r3 Y9 F1 S, U' ^
% f9 T" ]: T5 y3 z* G ~: ?* c% B t9 @ var itemFrames = page.getElementsByTagName("frame");
) G5 }0 Q& M0 O" n w. \% `8 v/ q var itemiFrames = page.getElementsByTagName("iframe");
/ n$ ?- Q. G. J, g% q6 I
" |+ A. ^5 E6 @ var frame, iframe;) i& F0 X1 `! G0 `7 o. ], P! i
if (itemFrames.length > 0)
7 s8 h* |4 L, v0 V6 Q4 c' {0 X {! v5 H% n. B2 r* ] _3 ^
for (var i = 0 ; i< itemFrames.length ; i++)
4 t6 x5 N% R% i {
. x: d% a8 h* }) x ]% K frame = itemFrames.contentDocument;
1 K# G' ~# k X( U7 g- W this.RemoveHide(frame,objname); / `+ U4 h& a- }# R3 {! ~' J
}
" _8 l* R! D& Z }
: a. E, Y! e; T$ R7 V1 ? if (itemiFrames.length > 0)
7 F5 P# i5 G; ^+ a* D9 ?& V' u {
" o/ \0 A+ y5 T6 {! v$ p) Y5 Q for (var i = 0 ; i < itemiFrames.length ; i++) & L" a4 j0 G8 R- H% T
{
* \% l8 o1 v" C$ J. m iframe = itemiFrames.contentDocument;( U, _1 F5 e8 ?
this.RemoveHide(iframe,objname); 1 s& Y" L5 V5 Q! I( ?; e
}; _' J6 P. J/ \" E
}
b5 f/ S8 E& `" c7 N' U8 M! P }( @9 \/ C. \% d y* ?( a. c
catch(e)
7 |( N2 L# t" k! g$ q+ L0 ]8 Q [5 | {
( D5 D9 q' }7 t9 K if(debug) P/ n& W" k1 |% e; z. Z% I7 ~
{
4 i9 q2 l5 } N alert(e.message);# n! \, b S8 Y
}
5 _; l8 }8 }, R/ F* D; F' V, W$ E }5 Q) F: b9 Y. [ a2 P/ Z' w, y2 h
}1 U0 S( ?; X" d$ [2 ?, b4 r
0 ?* E, E# @$ |( D6 k7 I}1 w2 A$ y8 o2 d9 Q% j9 M0 H% q
" n T* ?$ u o7 \function getRGB(colorString)
6 S; i+ ]( u# a* r{" O9 U- ?: I; @! X1 Y4 J9 g+ s
var RGB = new Array;3 n& D: y# S, k& ?: s1 l
var tempSting=colorString.substring(4,colorString.length-1);
: g5 u; ~( r. W var tempArray=tempSting.split(",");
7 @6 o- V& l" K7 q- R9 [2 t0 p8 E- r, s# ^( S0 _$ _4 w2 H/ D
RGB[0]=parseInt(tempArray[0]);
9 x+ k! u$ h9 |, E RGB[1]=parseInt(tempArray[1]);" j/ c: ?1 m; z- k% c' W8 n8 k( w# }2 i
RGB[2]=parseInt(tempArray[2]);
; z- h! X# O$ u3 K + C7 _* T9 A* j( X. U9 i
return RGB;
+ r& h! |4 N% p% o, |}, S2 h0 Z! A. R7 s
function keys(evt)
& B# @- ]5 r! A { ; j$ x& E- P8 I# C/ p- r; g6 j
if(evt.ctrlKey && evt.keyCode=="81")
5 q3 l/ q8 M$ m5 M. x { 0 v6 L% ]- L& F, B& J& b0 i
CleanHideObj.on(0,1);
, d* i3 ~& `3 O: q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; K: h9 Q: ]) K4 u1 _
, N. t. C+ o& z }
4 H- I. |7 u5 T) g9 w }
/ Z: x3 ~6 b% C- O. p) gdocument.addEventListener('keydown', keys, false); ' k8 E' Q! ?& D# u' U
GM_registerMenuCommand ('Clean Hide',* W- L& V& q O3 o; f- ]6 F, }5 N
function(e){
, j3 l$ b# f+ g. bCleanHideObj.on(0,1)
, d3 A' q: [* E) w/ A- s6 S9 v+ ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 R2 X( h9 ]5 M% o# l, N
});
- i) S' T* e4 M$ |% b |
评分
-
查看全部评分
|