|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ Q) c' g2 i9 c" R% d
" S- ~' ?$ c4 r. w火狐插件,用猴子 y5 v3 L& J' @8 l- G0 I6 t
; }2 w) o, a9 e7 _( f# ?/ ivar debug=false;
! L% D, Y' L, P& ?' qvar CleanHideObj=new CleanHideClass();8 Z8 g4 x+ n7 h, N5 x
) j0 B8 N& }: K! b* e9 ~$ C9 Gfunction CleanHideClass() 9 ]2 y# s# M" f L
{
R% n9 S1 J. o6 j1 K0 |- s% B
8 T' H+ g# }. e$ y2 Z* E+ U4 G4 p this.on=function(id,bMZ)$ r2 N5 n# J4 O- X8 C) m% L4 s
{
! ~4 |) t+ o% L; W6 ^ $ L1 C2 H& V$ B; S+ d, U! m
if(id == 0)
" a/ b' k. M8 e4 X1 J- E+ ^ {3 Y$ J: _1 e% ]+ ~2 ]2 z
var page=/* document.getElementById("content").contentDocument */document; ' Q+ }0 {+ R0 G/ `% Z4 u5 u0 @: B
this.RemoveHide(page,"span");
! i( z5 |, z" a, j% [7 w" | this.RemoveHide(page,"font");0 l* i) q% m0 C* ?/ B) v; T+ {" p
this.RemoveHide(page,"div");
& q( u+ E' y$ ]8 w this.RemoveHide(page,"p");
6 `& o) d4 N8 t) v( q* V0 j9 _9 O/ D
0 |) S/ p$ \$ Q3 N" M: n }' _7 {9 J( }% a, ~( P
; E8 N! p3 x1 K4 e9 c- U5 S% [5 n
}
4 o) D8 ?& C# R, L6 W7 _+ M this.getobjstyle=function(node,prop)
$ a. T) G; V* _) R3 g8 U# S {
( @3 \' Q2 A8 U2 e try
, F% U b1 t7 V8 L {
& t" ?. @; j2 B0 a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; t% t+ l" Z0 O/ }3 S# E }
& M1 R+ g2 P" A catch(e); x b& H) F% o$ T7 H$ J0 H% }, |( I* V }
{; x( T6 }9 K0 V9 L5 y4 @9 t
if(debug)' w; w4 t/ }$ U0 _' _. p
{
0 \$ h( m% d+ d4 N* N$ S alert(e.message);* @" I; n1 Y: n3 z
}" o2 t. ]5 K# e `( {
1 L4 |0 m! V+ n2 _! ~
return "200";6 r6 {' Q9 u, G' R0 W. G
}
( @- d0 F4 Z; j& @ }* [3 g u' P; [/ E5 q3 i
l3 c1 X, v' d/ h6 x8 }, }- [ this.RemoveHide=function(page,objname)8 k+ I! \! Y; q( a, S& d, t$ ]
{
% p0 @' P$ I. X6 T; h try# {1 j# U! d# \6 h8 X. S
{
0 [, }% U1 |2 s5 K- t: [- W var minValue=15;
L p) X0 _# k. d* c6 Q var objs=page.getElementsByTagName(objname); # Z2 ]3 Z5 @+ [5 n2 Y/ U
% @. Y8 \! o3 H B
if(objs.length == 0) 5 Y$ E2 U. d/ F. p% Y. r
{
6 E4 }$ h7 p! Z3 {, p if(debug)
% b* w- J% C$ I- m {
, m8 N8 | d% x2 R, s3 @ alert("no object found!:"+objname);0 o( u# U$ P1 e, @6 ?* [
}
+ o2 i3 h, I! w7 M1 c1 y }$ `# W9 e' s F% L
else8 Z6 A$ T2 ]) `4 A0 h+ R
{4 q6 X5 g( E; R
2 L4 u/ X- Y! I for(var i=objs.length-1;i>=0;i--) " U; C' b$ B" R0 ~9 A
{ F' ?9 i8 g% H. Y* J4 W' V4 }
var node=objs.item(i);
+ J3 `5 Z# h! c0 B: C8 v' O5 J o
, i* F( j! t7 u. X" Z' D" F
# I% b, i, L! E7 ^+ p) Z0 w. Q5 g if(this.getobjstyle(node,"display") == "none" ||/ d9 a& D" X; K5 e( v, ~" g
this.getobjstyle(node,"visibility") =="hidden" ||
2 a, A7 k$ o' H' o: F/ t parseInt(this.getobjstyle(node,"font-size")) == 0) 0 m+ U9 J1 W8 G. P' a
{
4 r3 A! M, \5 W% v4 ?: j" B if(debug)' {5 I5 @+ e' ^( b% p, Z$ @% T
{
3 Q. Y- d3 e' ]- B/ Z alert("remove invisiable!");: f. M/ n5 H. ~* P$ |. ~
}
. D9 U4 o' A G5 _$ A- a3 O node.parentNode.removeChild(node);
7 H5 J8 F9 l$ G
6 b' h) x$ i2 c6 _8 t }9 D( f2 j ?: ~; {1 L$ [# a
else 6 t& A4 `& u0 `) K) U
{0 w! R) x# _, Q5 d% S5 d- m
if(node.parentNode)
, v2 h% C* F% T" I! O# c {
1 E* p5 @) @. R) y( J var orgNode=node;
s$ D7 P; c, r) z' V9 s, F3 a; D var orgColor=this.getobjstyle(orgNode,"color")
c \8 |. B% q, @8 g var orgRGB=getRGB(orgColor); X% x# D/ q5 [& c& y. O5 H
1 B' U$ E$ d4 d6 s* j
var parentNode=node.parentNode
4 H5 p8 B O+ p- _+ g3 r var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 f2 U) t/ H' h; }) p( `6 P
. i) c. H/ B: t. C$ ?. K7 O var isLast=false;
# [* D; y' O. Q! f" L8 D( _ 5 h7 c: F+ D7 [9 B
while(parentBgColor == "transparent")
! D. o% L% w9 _# F' z {
3 B) S3 p, H4 z6 } 6 J/ Z8 S+ ]" ?6 ? o' J( i: z
( J6 e: ]4 M( D if(parentNode.parentNode == null)
. G9 F' ?+ }5 J {
/ i7 G0 X- a7 t+ X( _ isLast=true;
( m( \: J# v8 L/ q/ i0 G break;
7 l. S( T1 T# m }
9 s* w( U k1 }) J parentNode=parentNode.parentNode;8 B' B8 c2 C! A2 [: ]
parentBgColor=this.getobjstyle(parentNode,"background-color");8 o0 g. C m' `1 L( W" _
" j0 a7 T' T4 n1 S: V0 m( X1 X
if(parentBgColor != "transparent")
* v- }& Z' t- _' d {. ~( H6 _. K% C" x# z" y1 _# C
break;# W& B3 s2 P" l6 \: [. q7 }
}
. k7 F% S) h& Z% V }" o& f V1 i: w, K1 K
if(isLast)
: x* u0 J7 k% \( T& Z { a7 B8 w Z+ t' e. a" E w7 F
if(debug)
( _1 X! o4 Y$ [ {
5 L8 Q: F5 o6 g/ i- o7 w m8 J* Q alert("last!!");7 L. {. Z& r9 i$ f) ?2 ?5 {
}
9 S) L) W' h' P- R. w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 H& n. Y" F1 K8 _6 ~ {
3 \7 }" |* Y7 u" z6 V1 u, L orgNode.parentNode.removeChild(orgNode);
8 J1 H( C3 ^3 F$ g* @) M) I: d; C } h+ \8 ?7 ^* K( f, E
}+ }1 r, Q/ S( T# Z
else
, q2 Z$ \: \6 h% }( s j! N" _# A6 [$ l {
$ O& r! K+ F$ L7 x' e if(debug)
! L9 z% b# C! w6 F) D {9 ]- s% @' B1 M3 f( i7 d8 y2 y& F, \1 [
alert("compare color and parent bgcolor!");9 I* |: l" H4 R4 g. w2 E3 v
}
5 o% u2 X l/ K9 H4 O, i parentBgRGB=getRGB(parentBgColor);8 Y1 ~& M: i. t3 }( _9 H& }8 u- M
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
y" ]) R# q6 w! z$ }4 P5 ^ {
6 d2 r8 _' i2 u orgNode.parentNode.removeChild(orgNode); 7 g( H1 ], D- i( S
}! U- q' K4 H# o4 } ?) {
}
3 ]( }7 o; m0 f7 {/ l. r }
3 o. ~; ~. H# N0 ?2 ] }
& u$ I1 h8 N2 b( i& @ }
. g* t7 j" {5 w+ i }
' K0 P% w/ q( p
2 f) y9 A! b5 u1 n) t6 [( d
- L* J) D6 w' V0 r# g5 ~; n var itemFrames = page.getElementsByTagName("frame");- S3 m* @' t1 S) ]2 h
var itemiFrames = page.getElementsByTagName("iframe");
. \& T' w. N \: y* i/ ?" ]% s# j * q0 r) I: H5 C5 T( n
var frame, iframe;! \2 W$ ~, L0 w
if (itemFrames.length > 0)
( \$ y/ H8 k, X8 P2 l) x, I/ V- x {; I9 M7 f) K. }7 X+ [# a
for (var i = 0 ; i< itemFrames.length ; i++)
6 b7 X1 B9 X$ \1 v/ ]0 D" z {( W7 @$ Z+ d* y) o Y& D5 P. h, ?
frame = itemFrames.contentDocument;( a; y7 W& d$ G
this.RemoveHide(frame,objname); " k0 \* [) J8 k2 j# O0 U2 m& m
}4 H7 G( ^6 V1 S6 \
}) N% E& ^: U T1 m6 B' x3 u. B/ [
if (itemiFrames.length > 0)6 s* b/ x" U, a4 E3 s
{5 n- q( M5 f/ a: n3 _
for (var i = 0 ; i < itemiFrames.length ; i++)
% H! }4 i; E4 A! h2 f {
: u1 y* z8 R& D6 r9 T* x' l4 T iframe = itemiFrames.contentDocument;2 h9 M$ ?( K6 [/ J/ A& p
this.RemoveHide(iframe,objname); 1 T6 k# }. X9 ^1 g: Y1 R4 x
}- Q3 Y3 ~, F9 V. ]: m8 ^
}, h9 c8 }1 @6 Y% N- h0 X
}
) x- K4 O( x' t# f- q+ S catch(e)
3 v2 N1 V" E& u' i {; i: w& U( Y0 j; b! K
if(debug)
4 K! h8 K6 x1 O( _ {
; ^9 ^; H+ a& W; \. k alert(e.message);# @/ c$ |; C- u( l5 T1 X u+ u
}' M o0 t# D9 S* p
}* a2 \5 M j* ~
}
; c2 f% `* y6 C# v! e# P ( ?. B; o4 s- w. |' T
}
. f0 A: \" j y) u, S
1 r: r7 g S4 u/ ~0 `( Zfunction getRGB(colorString)
/ E( L/ E5 A6 {' _ }& {$ c{
0 L) R2 g$ e2 E var RGB = new Array;
: f! ~- { O) b- L3 U var tempSting=colorString.substring(4,colorString.length-1);. g# T# W6 E. n9 a. u, b2 k6 e
var tempArray=tempSting.split(",");/ }. s" N$ n, @
1 Q9 h7 O9 A5 I% [1 e6 @
RGB[0]=parseInt(tempArray[0]);/ N2 h+ \' R6 `; @
RGB[1]=parseInt(tempArray[1]);
" p& J1 B2 ?3 Q3 Q RGB[2]=parseInt(tempArray[2]);4 u) F5 n @$ D: I/ { i7 [% d
* g/ t( f# z$ C) @' s# b+ K return RGB;2 o7 K3 o6 f( m
}
" U8 y! W% u9 Afunction keys(evt)
! U- l) S+ ?) `4 i/ h6 Y { - Z% C+ j7 r% H, u7 [9 C
if(evt.ctrlKey && evt.keyCode=="81") # h3 l {! {/ Y" Q( d- y9 ?$ b: c& y- F
{ 2 B6 z$ Q+ V$ H9 E; w
CleanHideObj.on(0,1);
# E/ k4 \7 I( K; z/ x8 g! ^ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : _" ~2 b; y$ |2 N0 r
6 g4 k8 ^1 D* V. t: q1 g! y G1 ~9 T }
3 [* |1 E; q6 s0 X, H }
4 X* G& G- x3 `7 X6 ldocument.addEventListener('keydown', keys, false); : q/ d; a$ }* }% F$ m
GM_registerMenuCommand ('Clean Hide',* [6 \% K0 Y0 N8 J
function(e){
* |% f v& l$ BCleanHideObj.on(0,1)
+ m! S3 D7 I+ Kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 ~/ b; i, r6 }) F# {4 y$ r" D
});
k, l/ v5 O+ o1 K# d( t |
评分
-
查看全部评分
|