|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 L& H! C# G9 X7 ` X
! p B- {( Q* c- p( t5 k; V火狐插件,用猴子
7 u- L, }4 ], v
/ p# N& v. B( o8 j' Cvar debug=false; - ?1 J' M, i( c& q8 k
var CleanHideObj=new CleanHideClass();
- i) ]' ]( B& V* M6 q& d1 R. b$ o& J Z
function CleanHideClass() % h6 s" r O" S" I+ e9 h$ G$ S3 k
{ $ m; b/ S9 n: J( Q1 [$ v
! l5 N' i( j( }1 m, \# N
this.on=function(id,bMZ)
: u" k: v0 I0 @- f9 a( r6 W9 B {( V6 ^2 ?7 @, |) C; c8 C
( @" ?" p! }& U$ j7 w4 Y; _ if(id == 0)
& U& l7 @9 z) t8 ]9 x: A8 v {3 f# |8 z0 L& f6 S( k& x
var page=/* document.getElementById("content").contentDocument */document; 7 }/ ^0 c7 M& q/ ?+ |
this.RemoveHide(page,"span");
0 c- I+ a3 ~( j) @; b this.RemoveHide(page,"font");3 A T. s7 Z+ R& |* |
this.RemoveHide(page,"div"); Z4 o, o+ o3 n9 I! b
this.RemoveHide(page,"p");
* t$ f9 ?3 L! d% U
7 K- S5 L4 c, Y A. T! m, R1 P }
7 I9 b# S2 ?2 k0 J% l
5 K% X" V- A- U& c }
3 p" E4 }: q! y- @' e8 }8 X. b this.getobjstyle=function(node,prop)
& k# N4 K4 o% o) ~0 p {
/ y3 n$ [, l9 B x8 d try, ]% Y$ D a4 }$ a* ?- ^3 A$ q
{/ Y' A) j4 |/ n/ k& w' G8 a
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' p( x& a3 H1 E, J& F+ `, ^ }- h! D- U0 d( X; ^; o
catch(e)
' p1 s$ b5 K" z' @ {
# T* I- ?3 I# J* i) k if(debug)
! V4 F" Z( t* x9 S H! [9 I- w {/ p! O7 y0 {4 n$ j
alert(e.message);
# L* t! Y4 ^( ]$ A- d }5 @1 o6 T8 ]# X9 T' T
& r6 |1 K% L8 a! E# F! a" C
return "200";( |8 Q& i# }0 V, ~' q' G
}8 @: K9 p6 o2 X: L L Z( N
}2 V, {' k! s: |/ F$ c
' A( j! y3 c: ]0 u3 q- t# x6 C/ M
this.RemoveHide=function(page,objname)
4 V2 @* [) O' e {
* a$ G9 O( \# Y- [ try+ A% N- z: P F, b. l1 q* c
{
$ J+ ~0 U! b: S9 [: z. q5 p5 F var minValue=15;) P) Z3 o8 S% v, P0 M
var objs=page.getElementsByTagName(objname);
. A, e4 \! W5 D4 s. y. x
4 C; X% ^; ^) j7 x1 Z if(objs.length == 0)
: p& B# g# G0 {( i, _6 k {
) o0 A9 v7 j0 o0 ~' F8 M if(debug)
* |# ~9 w( V% M E! ~0 }' U {# n; s @# E4 w, c/ N; w' |
alert("no object found!:"+objname);2 i" S5 ?* [* Z2 Z0 d" {* c2 V k
}
1 F; u2 w q2 a k8 d }9 O5 m: z( H0 ]5 z! c' _7 f3 |
else
" z0 W B* ^: E: g$ `# }7 | {
. Z* O+ N7 E- G2 W 5 J; H2 v- r3 W: i' R3 |* F6 f3 t2 }
for(var i=objs.length-1;i>=0;i--) . u7 X( H& G$ f' v
{5 }2 ~% ]% G7 t) h; Z" P
var node=objs.item(i); : S& p i2 |& R3 ^4 \
3 w4 \, B& _% l" P* W- C& k
) Y. A7 C ~0 ]+ y- J- ]; u: Q if(this.getobjstyle(node,"display") == "none" ||
0 x2 q$ w+ L3 d! X0 `' K0 ]- m9 f this.getobjstyle(node,"visibility") =="hidden" ||# o* s* q8 k- k# l7 q! J
parseInt(this.getobjstyle(node,"font-size")) == 0) % w8 m" b' w* q0 x/ U5 x
{
6 s" v5 U# A, o4 a5 n4 P if(debug)
( d. O; z U1 V2 b( P. @ {) ^+ w8 D6 K3 L- T! P/ N" l+ G+ f5 G
alert("remove invisiable!");
1 i) T) r- e6 d* M }: O* `. ]1 m. s, w7 y0 v- b' s5 p! Z8 X
node.parentNode.removeChild(node);5 n8 b' S" I8 d
% {( ~) s4 ]; C# F* j
}. L I, r/ B: `% G. M
else
$ W, c" v* R) u7 l {
t6 T8 O. }6 L if(node.parentNode)
- r h( }$ k. B. r% L {
R& V* O; p/ |( t var orgNode=node;
- F( ]! j8 b3 c2 S1 j+ h2 } var orgColor=this.getobjstyle(orgNode,"color")* T: z, q1 g, \
var orgRGB=getRGB(orgColor); 6 [4 R5 v6 k( ]2 E6 \! E o) q( w
) E& I( A1 ?2 R. a0 S var parentNode=node.parentNode
& R K7 X O' C: [- x5 r. C var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 T+ u+ c' N, [# x1 x ( e- L# f7 }8 M, \. @ v# L
var isLast=false;
9 m( I0 X5 H6 G( r" y2 W # d4 G' L$ g$ ?9 y/ V1 V
while(parentBgColor == "transparent") % H7 B- ~/ T4 R1 F+ D
{
) ^, ]/ l, c5 G 9 v6 M0 i3 h4 Z
- t* F0 }3 r! ^/ e
if(parentNode.parentNode == null); t% o6 L% { e- C3 U$ M- z) m
{' L w+ g- E4 Y! Y. ~4 D
isLast=true;) B' r3 X$ t* S; V' I/ y7 V
break;' z9 W( \; M4 L# a9 G
}
: W' b* F. R6 P& d( X" z& F1 x parentNode=parentNode.parentNode;) Q' U6 X4 T$ U9 V3 I4 P
parentBgColor=this.getobjstyle(parentNode,"background-color");3 a- W3 g8 p% A$ f+ b! K: N
: [7 B0 L; L" S1 i4 H8 J z
if(parentBgColor != "transparent") : y) i) \, W; g* x( a8 w! \$ Y
{, a! l2 l+ [$ ]1 o
break;9 C5 {' t1 E5 o( ]' V5 Q( Y$ a9 Q0 k; w
}
5 g$ b( M8 f! F( M+ f& I }, F: c8 B. X. S
if(isLast) . Q; w9 d* s$ r( p* e* M
{. N& w# D# s. ~2 G# f; j
if(debug)3 v- a4 h# q3 t$ N& P
{1 S r- _0 l6 `7 D, m/ ?3 @
alert("last!!");/ t. F- k& S9 {9 ?! q9 n/ W4 V
}
% b6 w# ^2 L j# F2 e if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- @& D' u9 e5 j: Z
{
! b) m: k6 Y a$ e8 E4 N, h orgNode.parentNode.removeChild(orgNode);
. g% t# C( N/ ]4 P% X2 _) V }- @7 J) D- ^( L; j
}
- S7 Y% }4 b9 \& h4 f else6 p3 Z$ c- e9 }1 X+ D+ \5 [ c! N
{
I1 { n! k0 i7 e+ q7 ~/ j if(debug)
p; X/ }6 v1 [: Z8 _: H, a {' V! M% s' G& W2 F8 D$ w; t7 z
alert("compare color and parent bgcolor!");' `' H5 X: T- n8 a
}1 j: S6 b8 _) b! G; ~$ G- V3 P
parentBgRGB=getRGB(parentBgColor);
4 L# ?* H8 v% H9 ]& `1 }: w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 @$ E0 Y i5 Z; u# Y
{1 m1 d: o( B( ]9 b0 h
orgNode.parentNode.removeChild(orgNode); $ |7 F& q, x; n0 o& d9 c* o7 f
}0 X0 G" e5 N8 @8 U4 A) Z+ R
}
# J/ x) w' x! j, b3 Y4 c }
8 x" T6 z7 }+ B4 a2 U }) d- x9 j: A% G6 D) b j
}
) W) B0 v2 n x: y$ z7 f! D8 v }
; H' G2 S/ A; O) _- y $ I) w/ m8 W8 ~ W
4 ]$ O: S* ~1 V$ J' m var itemFrames = page.getElementsByTagName("frame");
3 k) O: A0 j: X6 R$ }# z var itemiFrames = page.getElementsByTagName("iframe");
/ H5 m& Y3 e- p7 m0 @/ U 4 d; ~- z% @* X
var frame, iframe;* E; `# H' f5 h3 l
if (itemFrames.length > 0) I2 o V" d+ l. F% T2 t# y1 S
{6 t" S, N3 T3 h
for (var i = 0 ; i< itemFrames.length ; i++)
7 x4 \$ x' X5 \ {
4 }' n3 _# `' U v frame = itemFrames.contentDocument;
: C4 T" t9 s+ `4 R* m this.RemoveHide(frame,objname); * A; h6 E1 b0 \* t; _- J' x/ P
}8 Z5 W, V7 x0 E
}
* }% b, J+ v* h* T6 q+ N" ]3 c( E( x; i8 p if (itemiFrames.length > 0); ?, P# l# E5 V3 R2 ~
{
: j6 n3 Z. r; G. F for (var i = 0 ; i < itemiFrames.length ; i++) # R" |- s/ p2 p0 V
{( h- r/ J) D6 t$ x+ C
iframe = itemiFrames.contentDocument;& T) {" [* J/ N) R" c( g1 B9 F
this.RemoveHide(iframe,objname);
1 A4 D/ P7 e$ C }
# c5 I0 p+ f# L1 D3 i5 J2 y }
: d7 l6 ]/ ? d" a6 A4 [+ N* i }
1 J5 k r8 t+ o+ p/ F catch(e)
/ u6 ]4 E6 P \ {
- Q9 D9 t% s [* b1 j if(debug) \% B& v O3 ?& R
{8 M5 X* O4 L9 Z8 M# s& }
alert(e.message);& _# e, x/ |& o. ?. v+ y6 ^+ J
}
+ P( c% g# ]& h8 `' I }1 O/ d' h9 \' A& _
}
4 d1 ~6 b$ ?. f6 t% K0 @; t 2 D8 j( L. {. a2 e2 Q% R& a
}, s; C( ?) C/ {# ~% z' |# W
6 v; ?% X- u$ i" C! l- e6 Hfunction getRGB(colorString)
- e, x1 l# y' P$ X/ F- j( E! T{
' d: P, m( E% K6 [0 o6 p% j" u var RGB = new Array;
" l/ v! I! v5 \0 P var tempSting=colorString.substring(4,colorString.length-1);
, L# J' c" H# B4 R A f var tempArray=tempSting.split(",");
) ?$ S" u6 h; A( y5 D4 {3 w6 u6 M% Q2 S, A
RGB[0]=parseInt(tempArray[0]);" Y4 i& y5 Z+ `) t
RGB[1]=parseInt(tempArray[1]);+ A' o2 B* ^) y+ p- i) A0 o/ Z3 C$ z6 q
RGB[2]=parseInt(tempArray[2]);
1 B$ C T! \1 V9 L$ ^' Z & H! Q. B2 e9 p1 l7 J f
return RGB;, {8 z2 z2 s6 D6 w& |, D- _- [- [2 T
}
! Q* l/ w' I) `" K7 E y ?function keys(evt) 5 b% I- O( D$ F/ g$ Y9 A1 q' z/ |1 j8 a1 r
{ Y9 Z2 D# g) H
if(evt.ctrlKey && evt.keyCode=="81")
/ J) @; o4 R9 n" D2 b" x {
4 Z0 v4 D+ f4 `/ i, _ CleanHideObj.on(0,1);
- ~" K3 S2 j. B- G; G- s5 o alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 q" a$ c( x$ P7 l/ a2 L3 z
$ Q$ q) g9 [/ N$ o8 @ } , G9 j9 a3 i- _3 }& P
} ' T. b' m! ~* Y& q0 p# B
document.addEventListener('keydown', keys, false); 2 ^5 H# V0 ]' D" o& u$ ^, Z/ n! F/ x
GM_registerMenuCommand ('Clean Hide',
+ Q' ~9 u+ X3 c, Y- Q m0 Ofunction(e){
# h5 w7 K) W7 e/ UCleanHideObj.on(0,1)
8 p0 Q( a( M+ w5 ^, p( Y2 ]! @( malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 S1 L9 V6 z" n9 v' v});- i7 C6 f9 b) F+ G2 ?* h& n
|
评分
-
查看全部评分
|