|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 N1 \/ x+ h$ u* @8 X1 |" D/ D
9 ]5 j9 _" X; N* p; Z. [/ q( q0 X火狐插件,用猴子. e6 x* d3 `6 {7 c Q
|0 b$ O/ p4 ?) M/ b# `. t1 e
var debug=false; % [4 l7 P1 H) b+ X1 K; m* f
var CleanHideObj=new CleanHideClass();
( W$ [; L& Y' P/ Y
# P5 j2 X& d1 h$ x4 y+ r& N1 n' j, xfunction CleanHideClass() 5 k, V7 @# y! a6 X1 d
{
5 _& A, \# Z/ e/ Y& K" s 0 o% g9 d e: }6 }6 k
this.on=function(id,bMZ)6 L* h6 T; Z3 `+ J8 x( L& d& ~
{
6 p P1 ^. @/ U, l& k 3 A2 O* S( X V. W4 {
if(id == 0)9 a$ _9 z) f( }
{
, ]2 `$ L; S( T5 @ var page=/* document.getElementById("content").contentDocument */document; P% @9 [' w7 K$ k( F
this.RemoveHide(page,"span");
2 i9 x4 F: }4 h+ l) m( Q2 T this.RemoveHide(page,"font"); O5 o5 u! a2 B/ L( B: r0 k% e
this.RemoveHide(page,"div");
s* u* d9 G, S; O# f this.RemoveHide(page,"p");) m% M' |" r4 {) V; }6 w( L
/ t8 R4 v9 h5 ?& Q4 E" K
}
" F) a: _/ a; z+ H I: k% B
3 {0 O; x) T8 V* U- P( m }" C# D' B" a' y+ c" Y# z3 {0 C
this.getobjstyle=function(node,prop)
% ^) r# b, B% s, {6 i {
; P9 v, {1 M' v* V: Q: m/ C+ w& O! Q try
1 V4 \' D, s$ u4 M0 d; Z/ }# E& d9 a {
/ I: k* r" v( E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 T) k0 @/ j! a* ]. |
}
8 F5 V& F( `; G( e catch(e)
* x; ?) f& r- I6 ~4 W {. h( P7 w$ [- k
if(debug)0 U4 R* w' R( l* i2 _) j
{( s3 p/ O4 j7 l8 i. J* x2 r
alert(e.message);0 B: X# [+ X* W* u
}! H8 S2 Q- q) i$ b# l8 d
2 t% \: z0 s# x8 D" ]; n return "200";% d4 }& n) j$ P3 f5 ?4 V0 _! X! |
}
, c8 d- T! i! ~% K1 J p }
9 Q7 v. Q- X* x* j
+ @ t$ V) I3 V this.RemoveHide=function(page,objname)/ t8 D( S4 ]4 T
{
) k8 ` s- J7 j# P: b+ @% B8 t try$ v7 k$ m; B/ q7 P3 _) c
{
* F- b4 m* ?7 g5 ^% V3 ~! h var minValue=15;
7 L9 `5 k$ D. y2 M, R4 ] var objs=page.getElementsByTagName(objname); # p& V6 _% {# o2 ?# `' k
. Z# k' w% d3 m; T# R( v
if(objs.length == 0) 2 G) x; `$ x+ K2 D7 \* U
{, Z* E: S# l4 u2 b5 n
if(debug)
% u% Z: z; m) b w+ W- n; X/ [4 k {
7 g) ^, Q5 S: h: E3 ~ alert("no object found!:"+objname);
! g7 ~& v% V7 ^1 e3 g }. l6 B% n9 @9 ~- {: o1 U
}; c8 m4 W A/ |5 }
else
8 G4 ^( |- ` Y1 C* L7 [ {
& |5 J- @& H5 ~$ k: q 6 U9 k* f& c2 ?! [) E
for(var i=objs.length-1;i>=0;i--)
" t; _: _. V) {% @' G' N( N& | {
" {# a4 ? r' w( n7 ] var node=objs.item(i);
' e: k* C7 F V! N! v' ]4 e
! X. K0 y4 D* [3 r3 C , v+ R' ?6 G4 u: V/ D. r
if(this.getobjstyle(node,"display") == "none" ||0 l- y: x$ i* q+ }" }
this.getobjstyle(node,"visibility") =="hidden" ||
" v9 q4 {! \% S: S; @: Y- L parseInt(this.getobjstyle(node,"font-size")) == 0)
/ ~8 B$ p% G" `$ e: [" P {
( E- u& b) r ^: m) C0 f$ m( v if(debug)
- A+ p! |. t& M- x2 B, a2 v+ Y {! [6 V1 ?$ }' ~2 }
alert("remove invisiable!");% R' A& i& U; h8 J1 Q) u. O) _9 d( C
}
]" p; }) |2 w5 G6 I node.parentNode.removeChild(node);
* ?" K% T5 k! H9 D$ y2 g2 N( s ' b& T" j6 C; M
}
4 ` W, c0 s, f+ Y8 h else 4 ^) F5 Q' s: Y d$ T3 h3 E
{+ A8 x6 f( y5 |1 _0 O; ?% T) z% f
if(node.parentNode)
- V) l5 X" w+ P n* f' { {# s; L, E# {' |# O6 F
var orgNode=node;
- m5 V5 P/ U0 M; f var orgColor=this.getobjstyle(orgNode,"color")& b. R9 C. }- m/ d" h; d9 k
var orgRGB=getRGB(orgColor);
. H5 A# p# A) ?+ ~1 z, D0 v " {% r( @6 `" x! [& q1 @; a
var parentNode=node.parentNode4 I1 H0 `: Z Z( @# a1 a+ H/ n
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 j/ J, g5 `' [% V7 v
2 I' A7 ?. Y1 a9 Z8 o T
var isLast=false;/ H- p; U" S N+ G2 H' T
# |- y3 v7 p- ^% [: C" S
while(parentBgColor == "transparent")
/ G6 J( M8 q. M) C# N {
+ x/ r9 X6 d2 B4 ?- r
- X5 M: {. k$ Q2 X) I
0 t! z$ M+ a* {7 v( ` if(parentNode.parentNode == null)1 T7 r& g% ]5 l9 Z
{
8 o) g1 O S9 K; _/ y isLast=true;" S" o s! P& G. M2 h7 v
break;/ |; k# w8 Z( z! k
}
9 C7 f$ m* x8 F/ S$ S! v9 ` parentNode=parentNode.parentNode;
' v# {' W- _; v; \ _ parentBgColor=this.getobjstyle(parentNode,"background-color");
" P* H4 i# G2 h* b. d* M% T# f
- v3 V* A8 r; v# |# R if(parentBgColor != "transparent")
! U1 X5 J" m0 E0 A1 e- v4 [ {7 ~1 p" T4 e& {
break;
" F2 w( ?5 y5 S. m2 ^* q( `$ e }
1 ?3 G+ N; Y% N& d+ | }9 t4 l7 Z- W' C9 Y
if(isLast)
& j" {% M4 K# d: z& ^) M: O1 I8 c {
! Q2 N3 }7 w' S if(debug)) Q5 r* b! e* v# D& Z0 j4 i
{$ ?4 o4 b% B+ G
alert("last!!");* S, R" {/ B" e! ~& }# o
}! ^, R( u! e8 a9 x- M c& [9 d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* a* L: f; }# R* P- Z6 {' @
{+ k& q' a; U5 ?
orgNode.parentNode.removeChild(orgNode); 7 Q4 y0 i+ T3 I& L R/ o
}4 V2 O0 [9 g% t `$ T
}
: l# }) D/ a8 O- g else3 j7 W' b; B1 x r: R
{4 J! j' |! ^1 L1 I4 w
if(debug)' h+ c! F' `, z
{
- d- ~( x) N2 E$ J# u- C alert("compare color and parent bgcolor!");0 |) C" U7 M/ c% |" w& Q
}' U- ^- f: T7 {4 Y w. h
parentBgRGB=getRGB(parentBgColor);
9 r& ?# s# n5 \, B5 L0 R+ t if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: t7 P& {) D. _6 P! r2 j {# L- L, j+ l' @$ n
orgNode.parentNode.removeChild(orgNode);
8 R2 y, ]/ }6 ], k0 U- c' q- ] }
& S2 J; [- d' R9 A }0 t3 c$ z: C" ]' f; X* Z& w
}4 J1 |7 G- ^% e2 n3 X
}- P! |, [6 c5 K a3 L
}# a& d# e0 w0 `4 m9 P7 S
}7 r- U S# {0 h4 t
0 s' R( e, C6 L: m; L" B& U' Z % [1 M8 I g2 E. H2 s/ l
var itemFrames = page.getElementsByTagName("frame");
% N% Z' B$ a' ?! E var itemiFrames = page.getElementsByTagName("iframe");0 D+ [* n2 u) V) x6 T, D
( B! I$ N: ^8 _) {, ~2 ?
var frame, iframe;( ]# C- S& Y# a; D6 E0 A! S
if (itemFrames.length > 0). C" A0 N5 ?+ p0 Y2 N4 E$ v+ n) V
{
9 O: N3 n0 z" q9 g* c: b5 Z; { for (var i = 0 ; i< itemFrames.length ; i++)
: _1 F0 W2 x# t( l {/ m# T+ k, @" K$ _+ m0 f
frame = itemFrames.contentDocument;
$ B) c3 R4 d$ j4 J& W4 M* D u this.RemoveHide(frame,objname); - B0 u& r" v+ Q7 X+ e
}# n: {' A _4 ^' H8 `% n9 R% k
}
" I* g8 `. s9 K4 Q if (itemiFrames.length > 0)
; o: `7 a5 \# `! [0 d, Z- C7 u {- L; E" C, r4 g! R$ G& h
for (var i = 0 ; i < itemiFrames.length ; i++) 6 i- S# J9 E4 p/ K" P
{
9 V% Z$ A' s0 K9 n y/ S) Q iframe = itemiFrames.contentDocument;& c. o8 ?3 K: K ^) y1 }0 j/ |& D
this.RemoveHide(iframe,objname); 1 V: C( o- K3 g' M, @+ c5 p
}( G; T" ?0 Q5 y! F
}/ n7 G0 B, w! O/ x+ G
}3 w' C/ B* f% q( r: u! W* ~8 {
catch(e)
; n0 m* ^$ L1 ]$ s, i {1 x" n& x/ h, F( e; [1 Y
if(debug)
" g# C& \2 m9 M1 z {, Z# _' B2 |: Y: ~6 f" E7 P( V
alert(e.message);1 Y6 J9 z& d3 {2 B5 n( w
}+ T. m7 t& D3 x {7 H( I0 W" ` {" Y
}
. D" b% P: k6 g0 m }
6 K" w! a. \+ h% w3 S
' G' c: ]% K' S/ s}5 _) q! a3 p7 H/ I/ O
( ?; h, c- g- [. \; Wfunction getRGB(colorString)( C3 n) B$ {! l7 s1 r
{3 h# f: X7 n0 x2 L4 y: g
var RGB = new Array;% S8 X5 d# l% I8 v- z% b: }1 g
var tempSting=colorString.substring(4,colorString.length-1);
9 f4 T) Y% q3 Y# z9 o" b6 A var tempArray=tempSting.split(",");$ n- Q3 c6 E1 L
5 g5 v+ j6 u% z
RGB[0]=parseInt(tempArray[0]);* F2 d) z* m X6 H. o$ l
RGB[1]=parseInt(tempArray[1]);
2 p8 g. \) J2 b RGB[2]=parseInt(tempArray[2]);0 T" Z+ `3 w n, _4 Z- l" [" ^
: |" A' {1 c) G+ K; o$ m1 N
return RGB;3 O6 V+ J" b6 u) k, W6 m2 D" o
}
8 r K ~" x1 @, T) k9 ~function keys(evt) ; p. f- ^/ ^5 Z; L& X
{
6 W( ?5 \- [ t! K, T, B( o if(evt.ctrlKey && evt.keyCode=="81") 9 @" J- {5 q6 d X! p+ g
{ 9 } o$ S7 g8 J0 n1 z. n, S' E
CleanHideObj.on(0,1);, y7 x% T9 E7 A( p/ Z+ x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 i( ^! P; ?) P0 z$ \7 `
1 |% q) _7 S& b! ~
} - {. L) I. v( S0 N$ U6 k% w
}
3 |6 h j4 i% Z9 n. d) xdocument.addEventListener('keydown', keys, false); . x* j: c. H, A* W
GM_registerMenuCommand ('Clean Hide',' ?# a& ]/ W& v; a4 I, Y
function(e){1 [6 c2 p3 A3 o& d. k+ l, @& D
CleanHideObj.on(0,1)3 }& N, O8 h* f e y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( H7 Y2 d2 Y+ \# F! g% [! N});
. O4 k# {9 f4 v _! e# D9 M1 B; A7 F |
评分
-
查看全部评分
|