|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! H/ \* V( z4 a
" w0 G3 u0 `' s9 \0 f, s9 k
火狐插件,用猴子* S; J% s0 `! Z+ f0 a
; w( k! {7 V* R! V0 @0 N5 {var debug=false;
7 t8 ?+ y6 |5 I) Pvar CleanHideObj=new CleanHideClass();
) K& @' I: ?% `
( P% r, C8 ^5 y1 |7 h( Qfunction CleanHideClass()
' d2 J0 Z$ x; g, L{ v1 X9 t# h0 \
" c: v! E% C" s) v
this.on=function(id,bMZ)2 m" ?; j( u q9 r& M: o/ s
{: l3 O* Y, u( w0 c
! G' q/ O2 ?: F- M7 {7 p$ `6 N
if(id == 0); ^* t* @5 C* J G
{
( P* D- m! v0 S* y: x$ j3 }' [ var page=/* document.getElementById("content").contentDocument */document;
2 B# S3 m9 r, V' g( I this.RemoveHide(page,"span");6 R c7 c4 N+ ^6 y3 I& `
this.RemoveHide(page,"font");$ q2 n1 z3 t3 E9 m, @1 K: ^
this.RemoveHide(page,"div");; m1 k4 a4 J |
this.RemoveHide(page,"p");' n# ^5 f; x$ E8 J% v
, C( s0 q; c* z- R& Y }
# B0 G, p7 O% m
/ z, v/ b$ D. L' b' B! ^ }0 U3 s2 z+ Y6 A `; Y& j
this.getobjstyle=function(node,prop)
5 w: _% }; S4 q2 E- C1 X3 J {
7 v+ g' y9 j4 M, n9 P* y try4 {5 V [) K8 C/ y/ w3 {: W
{) R# P. y- a5 v* B; O& ]# O& j
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; J9 ]; _7 T+ B/ ~: X! h+ N }( ^% g0 F* n! L, r% z5 T$ w) s* h& l: x
catch(e)
9 _) W. K l$ q7 B5 T# y {
`% s. H; E* D5 v if(debug)+ {0 J. C/ `8 @' `% k) {' K
{+ D( S! r% D( F7 a& v2 L
alert(e.message);
! x- X) T( y0 a4 u/ O5 A. Y8 q }
) f' @2 T) u- A& m+ x . K2 q7 N; m: }& h; {& |1 A
return "200";4 Y6 W, z1 n6 Y
}; Q4 ?. I5 q o: V
}
( J& z' i7 u( h 3 o/ R% j0 y# Z5 c
this.RemoveHide=function(page,objname)
/ c( X1 P3 }! ^9 ] {
Y- s2 C/ h0 @% ^# } try
. X( J/ s* @6 I3 R {: N; j8 _) ]0 I% w- r( t
var minValue=15;
6 f1 v8 {8 U9 ]6 | var objs=page.getElementsByTagName(objname); & E) s( U4 V- k
: j1 T6 B2 h: }$ } q' i
if(objs.length == 0) $ } ~+ Q; P! a8 Z5 i; X& b: r
{
! b! W" f# [( E( n6 E. e) B if(debug)8 F* K9 Z$ a9 |" l
{! `0 l$ W' _1 U2 a5 |$ |3 g
alert("no object found!:"+objname);
* A9 H9 ?0 t, Y }
- M6 T! w' V: F3 [$ d. _: | }
+ W) D& E6 ^' H1 E9 n else3 B* j' r. }. w+ |% L3 ` w. \4 p
{. t" R+ t: S$ @6 S8 v4 D
! B# t- E( ], J! F5 W
for(var i=objs.length-1;i>=0;i--) 9 @/ i6 T' g4 S$ H: C4 e; F; c
{+ x7 d' a( _3 \
var node=objs.item(i);
# ^) C+ s) O# ^1 D) r 4 o. V, z7 F5 K
) M+ [' K" [) m8 X! p1 @
if(this.getobjstyle(node,"display") == "none" ||% d+ B; a# H; ~, ~
this.getobjstyle(node,"visibility") =="hidden" ||8 T$ U7 ~6 X6 B o' X
parseInt(this.getobjstyle(node,"font-size")) == 0)
% h; f9 i' B' p7 j. @" H0 B! E4 o {
# q1 Q# N6 y$ E4 [8 E if(debug)4 i3 d5 v6 f2 X+ m8 F
{7 t( d; ~, J: H5 Z
alert("remove invisiable!");
6 O1 M# ]; y5 T+ d4 Z5 E8 n5 O* r }
; ?5 y' l- H% S9 ~, H4 z* P node.parentNode.removeChild(node);7 L9 N) g) e" [
/ B# Z: K& n8 c
}% E0 O& E3 X4 v
else
# A. O& L0 y: z {
; m4 s0 G2 I: u7 ?; ?4 a& H if(node.parentNode) : M' A$ d0 F" W$ k% S' K
{
N2 @- v* I2 Q: W4 t1 X var orgNode=node;
0 b6 }, F# K5 R0 N9 F4 b* ` var orgColor=this.getobjstyle(orgNode,"color")
! v4 u; s1 W1 f3 Y9 s* C var orgRGB=getRGB(orgColor);
! T+ N8 O% \9 P9 b' O * w# I" H, r' ?! F X5 ~5 _
var parentNode=node.parentNode0 L% N* {/ m2 {, E
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& t0 c/ |' V6 [# b& m3 e $ X0 c3 |2 X$ I0 O& R
var isLast=false;5 ]* Y) k) O$ ]! ?4 ^
# z) V, T$ q4 @7 P0 H while(parentBgColor == "transparent")
& `: k' M+ l; @% V4 | {
- B+ L0 E8 X4 \2 w; N; `
: @% Q1 J7 ^7 s1 j; U5 S. G; L, H 7 D9 p6 n/ L+ f- y0 g" @0 d
if(parentNode.parentNode == null)
: {$ P) ?9 T# k8 _6 T! |) j; M {8 s6 R6 K ]( h- N- S' X5 g* S* l
isLast=true;" P4 y J+ o! M! X# m3 o2 n
break;
+ ]& `0 T" U N* a1 B! }6 ^ }8 a+ S0 Z! {4 z( e5 |
parentNode=parentNode.parentNode;
% r8 s% D0 S- D parentBgColor=this.getobjstyle(parentNode,"background-color");
# g: B. [/ i" t& g5 v- k$ f2 ]/ R4 {3 j# u4 x
if(parentBgColor != "transparent")
0 ?' ^# o( z( ~ {
! b+ C R9 N/ g% D6 `5 D break;( ~, g- }# Q0 X3 i+ n* L
}" }1 v! W: X. a8 w6 X
}( N- `1 K o& E" _8 s: a
if(isLast)
% \- \) G/ w" d$ E; B {3 s N: ]5 v- I# h( R, @. J, Z7 y6 b
if(debug)
. e4 n9 X+ z1 e0 }, L" w {
- t1 `. J. B6 c1 `: e5 X+ F9 Q b1 o alert("last!!");
+ T+ @8 D+ r( e" W }
- H: H5 z4 ]5 f9 b; g, o& E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& X- \" V! g9 O2 C8 {
{$ k3 s* K& H4 y* ~1 l
orgNode.parentNode.removeChild(orgNode);
& [* ^& U, k* O5 d) ]7 m& o, { }+ h9 g$ d6 P4 B& C9 Q( f
}7 F) w* B6 r2 W4 x! l
else9 H1 F8 g6 Z9 B& A, p3 E+ N: z8 N
{
( J2 @/ \. B+ ~. w$ A6 \ if(debug)- V6 s5 M# ]( M, U2 G
{
0 u' X$ z" Q: S, A, f alert("compare color and parent bgcolor!");1 A) k0 U" M: \
}
0 K" E8 f |" ]7 o: ]- G# q parentBgRGB=getRGB(parentBgColor);+ P, u$ }3 f, I! |
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) ~: E+ w( P# N2 R
{% {1 O E( B8 _& f N! ] K. v
orgNode.parentNode.removeChild(orgNode);
! w% @9 k9 Q1 t1 h3 @7 h }1 p+ M/ l2 u7 O5 U( O% b
}
6 s* `- @7 _* F! {2 j }3 h _4 i7 e4 U/ j1 G4 M
}
6 D- l! E$ u7 C8 j) s }' x3 A) ]: F/ U+ u0 N0 j
}
& w$ [8 b/ Z8 m6 [# I R: W ( a( T( H7 N$ m a7 d: l
, r- X1 G4 W6 P9 f0 b9 L3 u var itemFrames = page.getElementsByTagName("frame");: K0 Z" C- z" N0 q6 F
var itemiFrames = page.getElementsByTagName("iframe");1 j( `7 G* L6 {
6 A/ y k0 H& c; o1 u, [0 [, E! O
var frame, iframe;% k9 d) K3 B; k% E
if (itemFrames.length > 0)
0 D, S& l: h6 o/ j' g+ a {
' r" Q- V- d9 H8 h$ z- z for (var i = 0 ; i< itemFrames.length ; i++)
' I' @5 _3 ?+ ~5 `! X {
- f6 A( F! N' P5 I4 m, T frame = itemFrames.contentDocument;
% t8 ]! G. Q) v. ?, p this.RemoveHide(frame,objname); 0 P. n0 `7 c6 `! H, {2 |* w" ?
}0 d( m( M* v/ w' g$ j4 j/ K2 s# F
}/ U8 X9 j/ m9 H4 a$ X) B ^) s
if (itemiFrames.length > 0)
0 b2 h( q& Y m; n' ~" b& J0 u {
1 v" }( A' w4 P# `' C for (var i = 0 ; i < itemiFrames.length ; i++)
7 [8 j U; ]% _9 r0 M) p: j% ` {% J& O# q& v1 { ~
iframe = itemiFrames.contentDocument;
1 i& q* V& O3 T) t2 n this.RemoveHide(iframe,objname); 2 w: T+ K7 f( M$ x" z
}) q$ R- I7 P h9 q1 l' S5 H
}) y0 j. o0 I- [3 L7 c" `
}6 `; S0 I# I- E+ Z* ?3 y1 p1 O
catch(e)
; n5 |5 `' @& G% q( j# F* p/ z3 n {
% u& h' e, k+ ~7 I9 } if(debug)) Q$ S" o" P, j0 l8 d9 m! M
{
" O: R! C1 j, f. c8 }- j! Z& _! l6 ~ alert(e.message);% \* u5 |. o; H- A% ~5 r
}
' `0 a0 c+ \3 x; O }- `8 q6 k3 n2 z1 b4 z+ |
}
6 u4 X8 m1 s v# z3 l 8 o" v% e# V: z) Q2 b
}1 b/ V" }& ]8 o% \4 Q
: `3 f# j& R6 X( c: kfunction getRGB(colorString)
, c- M0 o. \2 k" [) o1 m! d{
' C! O5 O9 u. A- F/ } var RGB = new Array;* G; ]8 `5 r8 C0 n7 F6 Y- l4 k
var tempSting=colorString.substring(4,colorString.length-1);
+ Q1 s5 d9 R) B" w3 o: q var tempArray=tempSting.split(",");
' A" E4 Z# i9 c" L6 Q( Y1 d6 P( S/ B
; C& P4 r H5 [ RGB[0]=parseInt(tempArray[0]);
/ [8 c8 {1 \ q# J1 W RGB[1]=parseInt(tempArray[1]);3 v3 S" M- ^$ m3 Y. M
RGB[2]=parseInt(tempArray[2]);
3 w! X; J% H$ V 7 f3 n/ y' Y2 M/ U2 I% k' R! e7 C
return RGB;
4 g3 K/ S, {( h y% G1 J}: S! H. J7 B8 b! e8 A% q5 C7 [
function keys(evt) / A9 L2 J. W& C3 Z
{ 2 a* }3 q" J. @7 s! W! K/ v7 ~+ C
if(evt.ctrlKey && evt.keyCode=="81") / d* u# M( T) B$ \2 S' l: y' y
{
; Y% _( Q% ^) B% s CleanHideObj.on(0,1);$ ]. F, u9 B1 p6 A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 m* m! M" X/ _$ m
$ ^9 p r. A# d1 c* P
} ! ]% A9 w2 B' N B. h% f
} / N# C/ U! \ ?' @6 O& g
document.addEventListener('keydown', keys, false); " U# N: ^' h5 F2 L- d
GM_registerMenuCommand ('Clean Hide',
+ a7 v4 b- z: `0 t4 }( f- q+ xfunction(e){
2 u; E# {! f! C: m. {6 @CleanHideObj.on(0,1)
+ n3 [1 S3 l5 o5 ?4 m/ Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 \5 s4 e& F, f- e/ x! S L$ T& D});
, W, U" t& [7 |+ ^, a. J, a |
评分
-
查看全部评分
|