|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! U- E* s& ~9 X9 w' |, I/ o" P
' y. R( ]# V* L8 S G
火狐插件,用猴子% S0 @; }$ X% n
" y, c, l# O/ b: k6 b% I
var debug=false;
2 ?8 Y' ?8 [. r+ Svar CleanHideObj=new CleanHideClass();
. m" K3 b3 w- W3 J0 a; |. h2 Y) O# P6 m; [3 V1 d& N
function CleanHideClass() $ L I% F# Q5 n; E5 s+ U- d
{
X- e8 F z9 l% ^. z- { ' F8 ?7 Y" _* h
this.on=function(id,bMZ)8 M, r1 R, c7 _0 u
{
8 O, D+ s! J. Q ; g) B4 H, Q8 q2 w& m7 P; B! u
if(id == 0)# q8 k6 `8 t' |
{
! e3 U! ]4 A$ z( v/ d& ? var page=/* document.getElementById("content").contentDocument */document;
7 }5 K' f) R/ @7 {8 d; T1 C this.RemoveHide(page,"span");; _ m$ O5 v+ Y3 T3 P
this.RemoveHide(page,"font");$ R' p* l! N2 t$ _8 P0 _% ?
this.RemoveHide(page,"div");
X; Z2 O+ X; G2 } this.RemoveHide(page,"p");
A' F, u( K5 V3 e; Q6 D& t " V4 l8 W, G9 i5 W7 X, x2 S0 d
}& `# l, e+ w$ j
8 Z- @9 v3 c& ^. n$ V4 } }
1 b5 Y& Z: y9 Q+ G) c I% K" ^ this.getobjstyle=function(node,prop)9 U5 W, G( D- G! Q6 p
{
( \, b' | N4 y6 d4 Q try8 \, D( }2 P! N
{
9 Y' U8 Y5 G3 A3 P5 K: U return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 j6 X. Z) p% ~1 B* W! ?: u! @ }
7 a2 A/ M5 l+ G8 z catch(e)4 T+ y2 l$ ^9 H* a% f' f4 |
{
* r5 [7 {- H& a+ t if(debug)
: K- b N' q& L& B. h$ E: k2 [( Z {
7 A, t8 R$ Y# W5 m h alert(e.message);1 G- ~6 _9 k `+ U& L( l# a$ k
}' a) V# H" b/ V/ z1 U! u6 y
( s6 X O: E& s: Q: P) \7 _# @6 S return "200";8 o2 B/ e; Y0 W% R2 y
}
+ k0 ] I' a1 @' u w# T: Y: Z }
. ^$ q2 U) p8 m- V. c
6 [' S& l( r+ {/ z! ]2 d this.RemoveHide=function(page,objname)
3 Y5 A4 [4 b: \; o$ A {
$ u3 p9 c/ I$ I9 V try0 B9 V: E' c1 {/ t3 h
{7 E4 m2 Y2 o! R" B. U% T; | @) `
var minValue=15;. g3 R) ~# F" M% n/ E8 Q8 N. Q3 A
var objs=page.getElementsByTagName(objname); ; b3 \& z+ u8 I5 {/ I" J: k |' o0 ]4 D9 ]
" _0 R6 W: L* o3 H1 U
if(objs.length == 0) ! R) i& V. V. P* X
{
& P9 F; h/ f4 s if(debug)
( S- s( l% P# ]) J {3 J4 [' @) [$ Z2 y+ U+ ]7 T
alert("no object found!:"+objname);- L# q9 ^: D+ K; O
}. s' K: R+ s% g& _7 _/ f0 L& e" d. E
}
9 S0 @0 Z1 v4 e% O4 l else( c" v0 E& A( t$ l! ~8 b1 M4 a* z, V
{
{- N: U$ c& t0 T3 R
2 l8 M V( Y1 y [% b' ?$ S, v, u for(var i=objs.length-1;i>=0;i--)
) `+ v4 t8 V, Z7 O {
3 @$ {/ \% Z' Z" R' P+ W, \: x var node=objs.item(i);
( G$ N9 P4 n8 {
! ^- z& V% A# V2 Z 1 J, J$ C% T% e& V$ ? Y
if(this.getobjstyle(node,"display") == "none" ||( G, Y8 Q4 \$ Q/ B6 A
this.getobjstyle(node,"visibility") =="hidden" ||6 W4 ~( ?* y; W* S8 G7 q
parseInt(this.getobjstyle(node,"font-size")) == 0)
6 E. s4 w, Y0 D' _( n6 m5 f {- y1 F: u/ O7 a* h
if(debug)& _: `7 H2 O! [: [9 G
{
! N8 l' G+ C' v* R9 n! E alert("remove invisiable!");
% h7 N) V% @0 ?1 N# E [ }
) \6 b. \+ R. C& y& t node.parentNode.removeChild(node);
4 d. N/ X1 g: ~2 O7 s7 j$ y
# p- j( Q+ v: U1 l0 e# k5 G* M( ? }9 O8 P; b7 y0 f1 \- Y0 ~4 A
else
9 x1 i% }, u {9 d {* V% M0 l- D0 f4 t- w5 U. [
if(node.parentNode) - B$ _& l I" i [4 v
{
* T' I& Q5 S/ p3 v: ~ var orgNode=node;
2 A: q( r% Q. ^; x. s( @& E var orgColor=this.getobjstyle(orgNode,"color")' i- A$ z e9 H' f% |2 ~$ E9 Q
var orgRGB=getRGB(orgColor);
+ o j/ J- G5 @" J: r; e& c 4 M/ w- ~4 F- a! I' ^
var parentNode=node.parentNode
8 p5 i0 z( F1 j& B* N; G) c1 v var parentBgColor=this.getobjstyle(parentNode,"background-color");
' @: A p, C& a3 F
$ e0 ]$ V3 y* Q) ^% j+ i var isLast=false;
4 o; [' S( J' M. x 6 M8 u7 {3 Q3 @& S- a
while(parentBgColor == "transparent") ! C' ]: L/ h! q+ d. f! J
{0 M& e3 ?6 k5 e6 u" E2 H( b; N
; K1 [& D: ~7 v& G y) C, T _- Y/ W0 N: |6 y1 @% s
if(parentNode.parentNode == null)' d& j) M6 R2 D) L+ H: y# r* ]/ u
{' s- [* z3 M& ]0 v5 [6 T
isLast=true;- L/ ]4 x3 i- Q, [0 W/ L
break;" K! V+ w6 a8 o. X4 h( R# Q, L* |" U
}
- R: [" g1 t, z8 j% T parentNode=parentNode.parentNode;+ I9 @& q" r3 V! y; `
parentBgColor=this.getobjstyle(parentNode,"background-color");: ?. [9 e) l. f7 z
% I0 c9 S d& N/ t* \0 W if(parentBgColor != "transparent") , |( J/ P L8 x, ]. F$ W# \
{
7 P2 n# D% k: i" _/ z. B* {3 r, q# S break;9 W2 a! K: E1 V- k/ ^
}
- ~% y5 Z, }3 m/ u! } }- z, L8 a8 `7 `& m2 b# o% @4 o
if(isLast) ( m) s; B; R, I4 e& _9 s
{
8 n7 g% Z% \0 v8 z7 e- ^3 t* l if(debug)
8 B6 h! e9 s9 o6 X6 [8 l; F {$ }6 m, F! _: p* J
alert("last!!");
! [ o: c* a% ^( J' e }+ N, [0 H2 H8 j: {% g3 t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); q! J& R; \ |/ Q' {: t9 J
{
8 L7 F! k/ L) x orgNode.parentNode.removeChild(orgNode);
5 I8 S! q: A$ U2 J+ c& y }, k& M1 s) y: H" j5 B4 V' K
}
4 j; v+ T) j0 d# \! x: ^ else7 x- B' b r9 B
{" [9 P( f) p& L
if(debug)
7 T6 ?: u- Q9 a2 p& R d {
) N) s! O( r& n( G alert("compare color and parent bgcolor!");1 o, C# x0 l2 ?5 f. O$ O
}
' x& Q1 b# j# e0 S2 D parentBgRGB=getRGB(parentBgColor); n) B1 E4 f) \* ~. E! u& f
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- `( d! K* h8 c- W; _# P/ |5 v4 U. F
{( S1 A& O. g5 T0 J. C. }6 w
orgNode.parentNode.removeChild(orgNode); 4 z, ], g. j' S
}
. C5 a. ?9 B4 a: z }
/ x- `. K( X9 @ }
2 [3 j! p; a+ n' I }1 ?' s2 E9 K: W, K! F( E% P. o
}/ D7 X) F3 A; E! j% a, ^% S2 h
}# o K- Y" E2 L# M
! T' A9 L' w- B, @! M
& x# u2 i! D& c3 Q4 }4 G# C
var itemFrames = page.getElementsByTagName("frame");
7 T9 S; a: S' U0 V3 W: W var itemiFrames = page.getElementsByTagName("iframe");
& @+ L/ C. l* T& \3 X1 u6 }' f
! s" d6 v8 _1 t1 a# U, ~' x var frame, iframe;
) q2 B% @+ S6 R! d/ |) n: v if (itemFrames.length > 0)
$ Z0 J# Y Y' r& a- q0 T0 H {8 E% A$ p3 H4 O) @
for (var i = 0 ; i< itemFrames.length ; i++)
1 h& |2 O' T0 |4 S* h7 i: ^4 ]* f- E {
/ C. o1 T2 H# N1 T5 `3 A frame = itemFrames.contentDocument;
& I) K9 B- X- ?0 t5 Z8 C+ r this.RemoveHide(frame,objname);
7 ] x3 o" L4 s) F- f9 A9 o. B$ ~ }
% h6 z( j; Y4 S2 F7 ^( u }
* w/ l. e; c) w& S. L ] if (itemiFrames.length > 0)
2 I2 g* ^( T* J, E! R% b- |4 {0 i {' W- P, T2 ?9 j7 _# ^
for (var i = 0 ; i < itemiFrames.length ; i++) " P. T E4 e" s0 j- I4 p
{
8 U0 X- s- G+ ~ f- i9 A. n9 D iframe = itemiFrames.contentDocument;
! Y+ B" L7 Q, g4 F this.RemoveHide(iframe,objname);
* E- s: t( A, \8 Q5 k! y9 S1 H N }, a5 ]& f: L( o; W2 u
}
" W5 N( b- _, @/ C6 S# o }
# H( i8 o: i2 ]0 { catch(e)9 X* ^- X: H) t- }7 _( P
{$ {& D1 w5 ~0 K6 p3 I" X: t3 S% [
if(debug)
6 G2 Y! w" L1 c4 U7 ]$ {5 s& E {( i& p9 j1 r: C% i% R6 }# u
alert(e.message);
2 w% x, m2 _" c' Y v/ x) O } \+ n6 Y4 h# D1 H2 x" _
}
2 {9 X5 d2 z) s- k }
3 v! b! f f. C- P/ y% y& K: d ( }0 U- t2 B5 R+ n
}7 u3 B5 Y: G3 I U0 T
) J- G: M% u' l* G4 mfunction getRGB(colorString)
; `" \: F( J8 q{6 a: }/ A/ w7 P
var RGB = new Array;+ x* e+ d& B% r9 v6 R, q, ?
var tempSting=colorString.substring(4,colorString.length-1);# B3 O8 R7 B- X
var tempArray=tempSting.split(",");
/ F6 a6 b7 h* T/ W3 ?' f( e
. _2 y' S( r. b- Q RGB[0]=parseInt(tempArray[0]); o- l- v' N5 V0 G9 y. q
RGB[1]=parseInt(tempArray[1]);3 E! t3 |4 l' m
RGB[2]=parseInt(tempArray[2]);; E, T' @ N$ f7 N# E! t
2 z! z+ j1 l- U9 Q8 p6 G/ W return RGB;( K2 c- T. y5 E' {8 J7 W+ {: [
}
9 z8 p4 y" m5 q- `; d+ yfunction keys(evt)
. v: \1 Z. K8 m: x& z {
# G2 w7 O m+ |+ A& R3 y3 { if(evt.ctrlKey && evt.keyCode=="81") / Y7 v8 m, ~* K- \5 F
{
) d2 q$ i7 k( d( n; V CleanHideObj.on(0,1);" T- M, a! n+ l: g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . g2 C3 l' A$ Q5 A) l
7 k( r4 Y% s8 r6 C2 P9 ~# a
} 8 m7 r4 g# a: ^/ _
}
& s, Q' Y7 E2 G" m' o4 Xdocument.addEventListener('keydown', keys, false); 3 I& ^" B* m4 M: c& X8 c
GM_registerMenuCommand ('Clean Hide',, E6 c2 I8 U: R5 A+ I7 t
function(e){
e- _; E0 k6 B. V# YCleanHideObj.on(0,1)
% P0 v" S% ^4 P' Galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: y( u7 r, C4 [! u2 l8 J});- j0 Y9 p" J1 h; J7 L3 h
|
评分
-
查看全部评分
|