|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 W/ Y" X0 \& H; x- e9 h' f6 j9 r
* f& N$ ]6 _, P1 T0 ^火狐插件,用猴子1 R. e L: {, n1 G" v9 l
- d9 j% w5 }: B6 H/ y, y: R0 \var debug=false; ! d( d' S- p7 r* T* y( C
var CleanHideObj=new CleanHideClass();* @& G( t4 o8 V+ y+ h6 I0 B
) l; _; z* i" s+ ?5 ?( pfunction CleanHideClass()
8 x a- c7 n; o7 n, l{ 5 q# o4 g, R2 I3 Y8 n( m3 e( S1 P* o
2 l' L' Y# y W7 a$ Z) Q! e8 D this.on=function(id,bMZ)
k: W9 t2 Z& z2 k% X# E {
5 Q0 [; x6 _$ [" ]( w $ f7 ?% O' ~5 z; r- D2 D, T
if(id == 0)6 v9 _4 e4 E! \ Y" J
{
8 G( _) `: S; X: M var page=/* document.getElementById("content").contentDocument */document;
; H; N+ r! v. u2 G, w/ l2 } this.RemoveHide(page,"span");( i9 T& a/ g8 B. J" B5 z
this.RemoveHide(page,"font");
9 n; d* {1 ?2 | L Z/ Y this.RemoveHide(page,"div");/ N2 h6 f. E& X6 g; \: v1 K
this.RemoveHide(page,"p");
9 F' |9 Q& M, X$ \ . _6 q" X+ P( W8 ^# Z
}
# B; U4 N) [% C4 L# n 3 x* r$ i9 x/ L; |" W
}( Q6 E9 ~1 u- n4 X d
this.getobjstyle=function(node,prop)4 k2 Q+ l! m* F5 Z3 E7 j( M5 p
{
6 M. R" t0 f6 ^# I+ J: X) _ try( p& H$ E! a7 z6 E+ q2 X2 W3 G2 X
{
+ R5 @7 S3 l; w' x3 m m z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 M; z" v% B3 G4 j) ^ m }
$ i) k0 V m! ?( Z1 Y l( A) R catch(e)) y/ c6 j! b* g, J6 Q3 L
{
. E( i6 K3 R$ {% [/ o- p if(debug)# F/ ^% m; {6 Q+ V9 x# P) O
{
% y' E. ?. i, }. F8 s% u alert(e.message);0 {1 Y) l- X& E+ B+ ?# Z
}
1 d, g& e/ V/ V4 G9 u8 s. l- i . ?7 h, D, `* p5 r+ ?
return "200";' w( c! {7 |3 ]' k. }; A
}
1 R8 }8 c9 }7 |2 @/ ]% ~ }
" b$ y. y/ K* F8 D4 F
( W" }8 p) p+ |+ K8 j this.RemoveHide=function(page,objname). Q3 Y1 M' M: p z' R
{! W `, j3 d6 G, n( `0 M
try/ e1 ?: o0 B0 Y( p% l& [* b% U
{
% q4 e1 K) _4 {+ m- O2 N9 w var minValue=15;* z- T6 B- K5 ~" F0 A
var objs=page.getElementsByTagName(objname);
. C# ?% O) z( E1 P( j4 l3 T6 m4 I& m' p
if(objs.length == 0)
5 j4 K+ p0 `6 Z& ~- s3 H {! E& D. G. m; d
if(debug)
2 V. Z* q4 e7 q9 V% [( a% R {9 i" H$ a+ y+ v7 W1 h+ p
alert("no object found!:"+objname);
+ ]9 `4 A5 z, f! l, u- d }
, }8 D8 U: W1 u# i! P }7 d. C; [$ N$ }- l: L) R
else
: u+ V- s( i- g; |! m/ p' n, s* Q+ j {' H2 f0 K( _- o
2 ?' [! ?7 G) Q \ for(var i=objs.length-1;i>=0;i--)
5 L$ a2 G1 \# O+ r; V* V9 j- r {
2 H2 `7 S- S5 f \ var node=objs.item(i);
2 r, k# b9 B$ L/ X& \. Y8 g
W$ M; N9 E8 m% h$ B0 l
4 b( H% f: @. ^ if(this.getobjstyle(node,"display") == "none" ||
( f3 c9 m, w! Q2 z0 q4 {7 ? this.getobjstyle(node,"visibility") =="hidden" ||4 K; e8 z: T; V
parseInt(this.getobjstyle(node,"font-size")) == 0)
! s6 ], Q/ f$ r7 K) r {7 B; A. H7 V7 j/ n# W) Z8 T
if(debug)0 z+ j" s. e* P" F* _9 Y
{; [9 R8 r9 E0 S8 \6 G
alert("remove invisiable!");9 M8 n0 g" z; D9 D; U9 S" o$ L6 N
}( z: m6 L+ ?( b0 \- v7 t
node.parentNode.removeChild(node);
* u' o9 B3 i+ q $ E$ i- s4 l& G2 g3 e
}
0 C# b: `# K6 a0 ^! G else 9 a7 W+ _) V4 D8 O$ G8 |. \' I1 V
{# Q8 @& D- `: [
if(node.parentNode) 8 J# @" B! U" G
{
- A8 [# [# m/ [' V+ a var orgNode=node;
& O/ `! o: j! Q h5 Y var orgColor=this.getobjstyle(orgNode,"color")( V# b9 V) l& _
var orgRGB=getRGB(orgColor); $ Z6 R8 q! K, |6 L/ l0 }. O( J
' E$ T/ e4 a# y s o
var parentNode=node.parentNode
" ]0 |( J/ u+ A1 X* W& P var parentBgColor=this.getobjstyle(parentNode,"background-color");7 W, J8 c* @) T9 a7 e2 B2 @
& W) J) } Z& Y' \0 s3 D9 _* z var isLast=false;4 S7 v/ R. o6 \
; D/ k# z- L+ w# w- R/ d: X7 ~
while(parentBgColor == "transparent") ; g- I5 g3 g( @' i- }( r
{
9 x2 F6 W2 W% b 8 @+ V' k; I& S: r' `$ v
* `- X8 G# F0 {7 z! l5 {. L if(parentNode.parentNode == null)
1 @8 ?; Q$ z. E2 l {
, l! E. g7 O- I1 q) K* _- ]; {( C0 K isLast=true;
9 K4 i3 ?) m9 D2 h3 t5 m break;
( {; b5 H, b/ X+ d$ u: | }. l0 V" e0 q* T
parentNode=parentNode.parentNode;
S" @' k- f: N6 ` parentBgColor=this.getobjstyle(parentNode,"background-color");0 I# V& d+ ^' p% k
8 ?' [: A. q( y$ o& Z) E
if(parentBgColor != "transparent")
% }5 [/ Q, Y* z4 r; U( D' E {0 A8 |7 G8 ^/ {- o. O r" e& Z6 |
break;9 ~/ D, Z+ @( a& m# j" k, i
}+ V4 d- X6 v1 r5 a
}! s" Z/ y% ~( _6 s( u2 B; w
if(isLast) + M/ i) L! C2 n4 f. [
{
& M5 s; H# o9 Z r& x; t- T7 W; d if(debug)4 ~# E* D, a+ }7 Y* |
{$ B8 r. m1 K; Y3 w% Z( n+ K# @2 h
alert("last!!");# J) E3 X0 S6 }8 K* ?
}
% O0 B3 c% ~# }% p" i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& C) r& Y, V: N y3 i. a
{0 J0 n7 _2 v5 j
orgNode.parentNode.removeChild(orgNode); ; ~3 m8 E% G: L: Z
}
, [" h7 F9 H o5 j: B# Z. o } I0 h* S5 x: x# Y; Y8 x6 F- c5 G
else; M' x7 M/ w6 [2 p0 s+ s4 g
{1 b* }. q+ F& G# k4 A- y" b q
if(debug)% i; N( K7 \7 ~# Y8 i6 U5 W
{
- t# D1 H9 E+ [6 R# j( Z alert("compare color and parent bgcolor!");
- _! \3 i9 I* }9 y( N9 W# K }2 R6 @. k, k/ M, A$ r/ e
parentBgRGB=getRGB(parentBgColor);
8 y; S. P+ \. i+ ]$ p if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) c0 b; ^. a$ a: j7 \% n9 i6 S
{9 q- }: V" e! }+ e/ Q4 P( q2 u
orgNode.parentNode.removeChild(orgNode);
2 C( S6 P. U4 R: b; e' f; S* D. J }
! ~, h, h& N5 z* h" Q+ u }
5 L t% t( {4 n' B% o/ w9 v }0 d' s: T* X/ f
}. X4 q5 f) @. Q
}. C4 `5 ^- [+ m) s$ k
}
' ?* q6 S* O5 ?
, L( a2 I A% i2 N6 y/ J8 d
2 n D1 k% R5 h: u5 T; s1 a$ Z var itemFrames = page.getElementsByTagName("frame");# U! Z' q4 B1 E
var itemiFrames = page.getElementsByTagName("iframe");7 n6 R9 h* T! G0 K2 W
5 a- Y% M& L& d6 V var frame, iframe;! s/ y/ o- v$ S
if (itemFrames.length > 0)
+ @6 l5 d& g: q& R {- R* ^' h% h; k# @
for (var i = 0 ; i< itemFrames.length ; i++)
* }. O/ \4 j w! j- N {3 s+ \. b" I7 Y- U! b( z
frame = itemFrames.contentDocument;
8 R3 q1 R9 N( Q2 d0 y this.RemoveHide(frame,objname); ' q9 p$ s1 W0 W6 f$ {
}/ H, \2 Q0 i1 i5 W8 o
}
6 E& m4 i8 w- m9 b0 e if (itemiFrames.length > 0)0 p4 y. H( `6 G* j, r
{6 D1 k5 X( V" d" ], n6 M% f) {0 v
for (var i = 0 ; i < itemiFrames.length ; i++)
( M, H) Z1 h# Q {' t% Q( C) ~+ ?5 W# W1 |1 j7 w
iframe = itemiFrames.contentDocument;0 i" Z5 p3 }7 O$ X; `2 x3 F& W
this.RemoveHide(iframe,objname); 1 X2 A5 V; A' ^5 p+ _* K! s3 j! Z
}
1 @0 S1 k: K9 T; A$ Z& }) i+ \6 D+ s }2 u5 r- K- d4 \* w$ a0 P0 c
}; o9 P N/ S* v4 {
catch(e)
' B+ |/ O0 a }( d+ B {
0 N, c/ I, m. B( R4 [! L( L- c if(debug)
8 K$ P2 i( p! v9 P2 f {2 F/ d& Q" g; j/ J) @( ]
alert(e.message);
* M; p0 l% A& y+ z( j1 \6 u }
! `- W* z& j' G2 h: Z B, n% r }- f/ G6 A. J* X
}
) l; R* z3 N! r1 I+ T
2 h/ H" s" P9 W0 E9 ?# r}
" w4 D. w) _% Z* e2 _
& ~' O" A2 ?1 x+ gfunction getRGB(colorString)1 ~! I( d4 m+ ~8 y% R
{
5 ^' N0 @% x R, f+ _& T var RGB = new Array;' c) |( u: e( C! ?
var tempSting=colorString.substring(4,colorString.length-1);1 L& @5 ?4 v0 w" j& L3 W! I
var tempArray=tempSting.split(",");' k h' `8 A' d6 m, Y; h
; t. X. u# j9 x7 X/ k) `' I/ ~ RGB[0]=parseInt(tempArray[0]);7 V$ |" B8 A) ^/ l0 ]* e
RGB[1]=parseInt(tempArray[1]);: |( T/ |/ {2 R$ |
RGB[2]=parseInt(tempArray[2]);
# b: d3 H- y; ]- _* b
% ]5 r. M8 T( w4 f. W" [; ^ X return RGB;
7 U( b( V7 ]" f( h+ w}5 [) ~2 w' U9 P+ |3 J4 H
function keys(evt)
4 l: e" j& U7 P- c; ^ {
1 U" g& A7 x, O7 V& C7 A if(evt.ctrlKey && evt.keyCode=="81") 7 y: ]0 T$ ?0 j. ~; W: F
{
8 u3 h% M& v+ y' S# z9 s3 N CleanHideObj.on(0,1);
5 s; E4 h* u4 F! \ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* L0 `$ |. X6 I: q+ U! s3 t
% n; F) {9 Z @/ Z6 s5 D! v, D8 g# A } B+ J' D& X9 i7 S1 P9 H
}
h g# Y1 y( [6 R% jdocument.addEventListener('keydown', keys, false); 8 ]) z' K. K! t; D
GM_registerMenuCommand ('Clean Hide',! ]) p4 C9 e! |: o2 T5 U4 g
function(e){- h' F! }3 B7 \9 v7 V! d
CleanHideObj.on(0,1)
; R, R) o$ K; ]* ]' a; D; C5 ~5 Balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% s2 @0 p5 n4 Q3 ?0 J
});. t. U3 u7 G3 k% C* U
|
评分
-
查看全部评分
|