|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 q. q t1 \4 ~4 S- x" r; a) f: Y) G( c
火狐插件,用猴子
" w. K. q. P8 R9 Y, |& G
! t; o8 ]' I$ v$ J+ q# Nvar debug=false;
" r( B' n( R/ T+ j1 u/ gvar CleanHideObj=new CleanHideClass();
+ L6 ]5 e; l+ j% h$ W, ^/ M# }8 u: E0 |1 Y7 u F, u: Z
function CleanHideClass() ; |/ p% K( P$ |8 U( y# ?
{
, ~5 ?7 l& ?6 Y7 p Q - Z! i7 ?/ h& W- A5 j- C& n
this.on=function(id,bMZ)
/ ]9 v6 P" U4 \: ` {2 y# G# `/ I% ?+ I% f
" S. @$ ?9 I0 d; p1 m' s: Z
if(id == 0)
/ r8 Y6 i9 Z# \# S$ K0 q* }0 d& [8 c {& L0 h& r1 ^' K
var page=/* document.getElementById("content").contentDocument */document;
) Q& ^. k6 \) t+ y; L this.RemoveHide(page,"span");- L, m( b0 K& y+ c
this.RemoveHide(page,"font");& l0 ?! F r# S& D; }
this.RemoveHide(page,"div");6 p2 W) f- G( R5 o' p
this.RemoveHide(page,"p");
4 B# v" p$ T4 W* K' f
0 A' V' [6 O; z t: g3 p6 U }
8 a! y4 u+ a6 I4 k
# `6 d/ a& h3 ?# h: v- f1 V2 O }6 I% h, i7 r# {8 J @
this.getobjstyle=function(node,prop): O4 T+ O% D; N6 ?8 K# c
{
/ _0 C i0 W2 l% V8 N try
\' z8 s3 N7 a m {5 p) y% z- d) I* y6 S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; o+ j% B( K8 M: v/ |& Y! b3 ^
}
5 {5 M. P z/ M6 K( x2 w catch(e)
8 F& }$ s$ ]% u( B3 m# N8 ? { }9 ?1 }. t: G4 ]5 M. M$ E
if(debug)
D3 T1 j2 l6 R# l$ S5 a {; S/ f. |/ p X! _! A* E/ |
alert(e.message);7 G/ s. x" k, `5 W; G
}
) J$ g. M2 l( J- V2 r4 w 9 v4 U" S$ n1 D
return "200";
- D1 c5 i8 U% s* h% w4 K( Z }
G q5 p& l+ t: K" t% l }2 |! E* h4 B2 i5 [/ |) u
3 R$ f8 T8 q- d; j& q6 a3 {$ `! v
this.RemoveHide=function(page,objname)2 y$ I! y' D9 K6 Z+ T* k
{
( Z# @9 \& W$ K9 f% {! N try/ Z& |9 ]( ^1 M4 E6 V0 S
{
* M" }- x# @% U( Y$ H var minValue=15;
1 Q2 J1 @, j6 `, K/ q. n var objs=page.getElementsByTagName(objname);
9 U) q. y8 L- b$ J' i. d4 L" l
2 \) }6 ~- {# U. e% ? if(objs.length == 0) * c; O. R: I( @2 h4 O7 q8 W m2 L7 R: C3 T
{
6 Z9 d/ h7 X0 F# w* v2 g if(debug)5 x8 {8 k; F4 ]4 X: V; j& o1 _
{
9 a1 {( b) F x alert("no object found!:"+objname); D9 |, u1 I- M/ \( U
}
: V' g H: l5 `% A- k' |; T& X }
0 \. O; g, [" y* p4 x# z* R) E7 ^ else; C- n. T& ~ V% [: n7 J5 w
{
1 p! n4 ?1 n' B# Q% r7 e& B' P
/ l! ?3 W1 @4 [: b) j8 ^ for(var i=objs.length-1;i>=0;i--) 5 L% K6 I4 ^. v. a1 g% ?
{* a9 u2 G& T: E8 Z9 D9 g
var node=objs.item(i); 7 I% U/ {9 p/ j2 h1 a7 U
& K: T+ k7 f& W6 u- H4 d
& ^2 f" k# S; a5 z+ A9 o$ t+ J
if(this.getobjstyle(node,"display") == "none" ||9 t% V3 T+ V# { p4 u! H. F8 r
this.getobjstyle(node,"visibility") =="hidden" ||
8 ~8 ~- B' [5 q# \, n+ K, I. l parseInt(this.getobjstyle(node,"font-size")) == 0)
$ n# Q+ x4 y; E$ Y" p4 R {
! t; d6 d, R6 I% Q if(debug), a( {1 b+ R: z/ P) A. g% {
{( _* R( `7 d& ^) E* ], W# J7 a0 y8 A
alert("remove invisiable!");# L5 U% q2 V P/ x
}7 k- p# [! [/ D6 i0 @2 @
node.parentNode.removeChild(node);' J* ^- g: ~) @( R+ M- }
$ r% M- {6 E! t; x }
! j6 \1 x4 [* c7 T; l else # d3 e1 Z9 F3 V' [$ G4 E$ ~
{
/ i' Z k( |3 Z/ C9 z- s) A if(node.parentNode)
+ v6 n- t9 s: A, U+ b5 g; `) \. H {
6 s! ] X2 O+ {8 h& l var orgNode=node;: P0 L+ d8 t2 X
var orgColor=this.getobjstyle(orgNode,"color")
- {7 Z* n1 B, Y$ S# V6 ] var orgRGB=getRGB(orgColor); |" L/ ? Z& j& V
# Y. o6 Q/ f- \) Z( k% o, m var parentNode=node.parentNode+ s' u( w9 F# H0 S2 T! S! }4 C
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: |! |; q3 s2 f& d
) Z- n7 w' ~( f, d S8 ~% J var isLast=false;: @ m" J1 u; e& k
% B5 `$ b$ j1 `& |
while(parentBgColor == "transparent")
( o; C; K; i. J {' O: X5 c8 {& X6 B" O& v0 Y" m/ S
7 z' Z6 T5 U6 S" x5 a5 o. g ! t: S) }4 R" f: N! m; @* q% \' C
if(parentNode.parentNode == null)% g4 y3 C3 W: ]
{; p0 C5 U7 V, D' `; t
isLast=true;/ a8 z& R, q9 Y' d+ \! O q
break;
. A9 y" ]8 n/ l1 _ }
9 E9 j4 @; [3 b( }% |7 Y# F1 w6 o parentNode=parentNode.parentNode;
8 ~: m) u$ y& l8 Z$ q, x9 F8 v parentBgColor=this.getobjstyle(parentNode,"background-color");
0 R3 U: i' Q2 @- U5 c. x E6 C3 w* Q, S
if(parentBgColor != "transparent")
: D: d/ h1 p/ w0 h6 _ A8 } {
$ S0 t- i- a6 T# Z. L7 ] break;1 D2 k! L P/ s h W7 ~
}* G, x- h4 w3 @3 V( T) q$ r
}
0 o( f2 J4 j; Z: d1 }" D4 { if(isLast) 5 J( U6 Y" w7 M% I% }
{& d1 S; j" q. f, W# e* q
if(debug)
) d2 N* C' j0 C1 m- g1 T5 M {
, l0 n. i: ^8 ` k" \( H/ l5 r- i alert("last!!");
0 @6 {# W2 j9 `, y8 Y- ?, p4 J }) \. C: y$ v, C; O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) p+ e5 t" q X3 i$ o; W' e- b: r( n
{, }* R2 C+ h( _# N7 U7 H
orgNode.parentNode.removeChild(orgNode);
) n: J$ a+ t3 \( | }3 A7 K: Y$ |. L' |% ]9 p
}/ B0 l1 n+ t4 |' f. A
else0 y) {& l2 C/ ~0 G6 D
{+ Z( k' D: a+ H2 {
if(debug)
# n. B, s+ ~! J& h; t( m {
4 w% Z, }+ r7 } alert("compare color and parent bgcolor!");
4 _5 y" o/ H3 s: X }5 }; J3 ?0 P( u4 ^/ S( m1 d
parentBgRGB=getRGB(parentBgColor);
" U" l9 e7 {$ K# m if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( Z! V9 v* i# a5 ^: u( H# t# r; }
{% [6 V* J. N$ j. L1 @+ N8 ~8 f. O
orgNode.parentNode.removeChild(orgNode); 8 P( N: q9 V9 \; r& K7 f
}, O1 S" C/ W3 j% T: d
}
1 w, ~8 y# T5 k& I }$ Z" u7 }8 S; H: `% F S
}( h. P. Z0 J/ H% G5 ^, S' k* o) f
}
( R: A) n# q8 r1 `+ Q$ O! V }
% m# h9 y. E4 K4 V- ?
2 G) `0 `4 i/ e$ G , M/ r, C/ b4 }5 D; ^+ e: ^5 _
var itemFrames = page.getElementsByTagName("frame");( i# M0 \+ k1 ~# ?2 _
var itemiFrames = page.getElementsByTagName("iframe");: H; |8 J1 O3 i
) \: \5 |. H9 w* I7 o' c# J) S3 \
var frame, iframe;" |' n! z) ^( R3 M2 w! M
if (itemFrames.length > 0)9 n# o; |3 ^0 ? U! C! H; ]
{
1 V m: x; z8 u) T3 O2 a for (var i = 0 ; i< itemFrames.length ; i++)
) s l- x% q# T {
! c: i5 V! L( c. C, i frame = itemFrames.contentDocument;
; T, [8 N. c$ ]- { this.RemoveHide(frame,objname);
& ~2 a" N3 ]0 u7 U }2 U0 x" V9 x! Y6 u
}
" Q/ Q1 Z0 Z) h: y8 K' k9 n if (itemiFrames.length > 0)) H7 k6 e0 j8 K% H1 l$ m
{" M5 I8 U' X$ b- V
for (var i = 0 ; i < itemiFrames.length ; i++)
* A% O; ^- M6 m% G {. Q% F/ k" H6 P J- Q
iframe = itemiFrames.contentDocument;
3 T) I T1 t! t" f( Z this.RemoveHide(iframe,objname); 0 M) I- ]9 O" V+ j; _
}" G! A$ D( ?4 o/ y4 U; w7 ^- v
}
& Y; i( J3 a* @& z; Y2 x }
/ @; z# t; Z( j" b, L' G" ? catch(e)
\$ ~- C4 } D1 |+ o {! Z2 _2 f0 I t1 T- @, |+ @) c# a9 W
if(debug)
# l. t7 {% ? n6 \! I2 {( R {
8 M% E' _; `1 d7 P alert(e.message);
. F, ~$ _9 B( E! D: y' [/ n! E }
0 ~) x j2 }' r3 {4 Z3 x }
7 e: Z3 G% N Z5 K, k8 W9 O. s; Y }
+ S' s0 @) n3 F/ t, U& E; f
I+ D2 k+ B5 y}
" u ~* N z3 P2 P0 c$ \. `9 b6 s& N( n0 @6 k
function getRGB(colorString). u/ J5 g* q: ?# w
{+ A+ N3 U% G: G/ u( l
var RGB = new Array;
1 s2 W5 G' ~/ B3 l2 e- z$ g var tempSting=colorString.substring(4,colorString.length-1);
0 Z0 ]- @6 ~3 ~! h var tempArray=tempSting.split(",");& ?8 ]8 J, F1 ^6 o
2 [1 q, x7 p& n( Q, Z RGB[0]=parseInt(tempArray[0]);' T- N( ` `5 q5 o3 x# a& C
RGB[1]=parseInt(tempArray[1]);
% b! o1 X8 |' S, a RGB[2]=parseInt(tempArray[2]);
& c; K; T4 Q; H9 O( m. Y6 j% V
& @# j# t* d9 C return RGB;0 }! ~1 {% v B9 @; n8 {5 [
}
9 J: L$ l* Z: J3 }' [8 R5 Cfunction keys(evt) 0 O; ?* ]% [# Q/ \
{ ' ]% T5 B& Z7 b- r
if(evt.ctrlKey && evt.keyCode=="81")
- E/ j- M* w' D _: A# G { % v% u( {; E8 P
CleanHideObj.on(0,1);
9 W5 n x" Z3 I6 ^6 _ D8 V6 E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" l7 \8 ]8 |; \3 j. o
5 D% l0 ^% g/ l$ R5 }5 ~) r }
6 M" Y, p# a& \* ]) l% i2 R: B! B } . e \" ?3 a( ~7 g6 Z3 m; D8 J
document.addEventListener('keydown', keys, false); 8 n# o0 m5 M. G, R% ?4 s
GM_registerMenuCommand ('Clean Hide',
1 \5 n% L4 R3 B3 @* Cfunction(e){
" C8 ]" t0 _, K2 a' I, [( ICleanHideObj.on(0,1)- Q* W" V! \ i" v. k V( h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 m' B: z- m3 d+ `/ h, ?
});% h( m6 u( u3 n; i6 d9 U
|
评分
-
查看全部评分
|