|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) t% \$ `6 ~% M2 O
. Y4 P) p0 T, j& U6 Q+ N火狐插件,用猴子
9 p; A% Z9 m7 N; d4 L
2 [) }9 C* @0 q: @, n9 L! \6 v# i$ Dvar debug=false; - t; B; y; s# \
var CleanHideObj=new CleanHideClass();
% L' M0 s8 c" i8 N! H# ~3 X0 _3 B8 C, C& Q2 l. ^, k/ U
function CleanHideClass()
/ W5 r5 J; r0 ^" ^{
' f) u9 s# j$ f
! h! G) f, q( C0 J$ F& z) Z/ q this.on=function(id,bMZ) a+ l2 E$ L2 S5 T& X- l
{
% W. ] c4 N! N( K. n' E
6 }) \; i1 C* E6 S/ H3 w; e if(id == 0)" K" I5 A$ s. {- v9 @* \
{
* O; u7 F1 L% o9 O! x7 I. p1 b: h var page=/* document.getElementById("content").contentDocument */document;
Z$ R4 a9 R# ^9 R* x+ L this.RemoveHide(page,"span");
+ N6 C/ Z1 Q! d9 e this.RemoveHide(page,"font");8 E" U- A0 K$ E
this.RemoveHide(page,"div");
/ W& o& m1 ]' d0 p( A9 u& I this.RemoveHide(page,"p");& A+ e! L) z6 b' {# P5 c* X7 K) s, d
7 y- ~, r4 \: l U1 ^ }
% P: O9 o6 z$ g/ l0 L5 x
}0 g0 y2 ?" J4 I6 \- y1 A }, K& M8 c% r' _% ^
this.getobjstyle=function(node,prop)* S, n3 i w9 h
{
?; t( I0 `: y, S" Z" D try
7 x; h, P/ H+ X5 V {
* V# I' G9 `4 r4 |$ l6 @2 | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: j/ @6 l0 }# r
}
! \/ H4 H+ ]& d) X) ^# Q catch(e), K# U$ {! c% j* I8 }; T& \
{
9 F! |$ T P: r( n) j' m if(debug). r+ r; o7 h! H- |+ T9 t
{! |# f( @1 _9 ^+ y, w1 u/ e& E
alert(e.message);; T( g& Z8 ]* w) ~0 g" w6 q0 S6 d
}
) h r9 } E" `7 D$ |% r- K 8 o% u1 Y. A1 Y, ~! i/ z5 E! Q
return "200";
5 Y, i4 K; f' ^$ x }
6 m- h$ s4 C3 k8 V }
. l: H& `( e; a; q2 K; } 4 ]% X5 M, z! y- F4 q
this.RemoveHide=function(page,objname)
0 V& z$ _4 w1 y1 o& s9 e5 C5 j9 @; N2 f {7 ]6 y9 Y# z1 b
try
6 }- @* t7 p5 `, U# `. \% ^$ E9 S$ Q {
0 f/ h, k8 F, D9 f var minValue=15;
, i8 n- g; j( p var objs=page.getElementsByTagName(objname);
% `# o( ]. _5 g' n. H
+ E; p' s3 J5 v' n- v$ c( a if(objs.length == 0) 6 ?+ ^% h: F5 n: Z
{
7 q8 j/ s+ O6 c6 ^. B if(debug)1 p# n, G! B: O+ U
{& P# ]1 F% ~8 {2 x9 c, g# P/ J/ q: Q
alert("no object found!:"+objname);, m2 r- b" ]3 D5 Z
}
' K: \# C6 F1 s }
, w* p3 X2 M+ n: @+ o% l8 x' j else) d5 z2 k5 Y0 W, c9 A# q' h# s
{' O2 h% w8 ^3 O1 C
9 ]9 X1 Q- N: x9 Q- ]0 V for(var i=objs.length-1;i>=0;i--) + K# T2 L+ o$ f2 V) l, h
{; F( Y( R: X& Y5 Y2 E
var node=objs.item(i); ' T7 E2 z: E( M2 r
6 E, M8 r( X7 q' s# j b/ ~
% U0 k/ G3 W, z E2 u9 {# T if(this.getobjstyle(node,"display") == "none" ||0 v. S4 J5 d7 s0 `" w
this.getobjstyle(node,"visibility") =="hidden" ||
; d% D' ^5 ~# Q1 P: @! r) D* x parseInt(this.getobjstyle(node,"font-size")) == 0) ' U, \5 _# m5 z" T5 U# u
{& N4 Y: p) ~/ X
if(debug)* ~! z. ~" ]: Y s
{
- t+ Z2 @+ v0 g alert("remove invisiable!");
+ |! V9 x/ i/ g }) g: G: E5 u/ g' Y& C) u& C
node.parentNode.removeChild(node);+ L0 C+ ?; X$ e2 i, u
7 |) @$ Q0 r$ B8 L
}
}: {6 h# Q K6 ? else : q8 f. t& b( Z9 s% `
{4 `4 O8 f1 R1 H2 i4 S6 X
if(node.parentNode)
$ x2 c8 I3 q& S: Y c! B {
& @ v$ k1 j9 n0 I( m# G* V var orgNode=node;
% V; \) d" W3 X var orgColor=this.getobjstyle(orgNode,"color")$ p9 ~ Z; i& P6 E+ s6 q- J
var orgRGB=getRGB(orgColor); ' z) [% M6 U8 J) F9 u# T w
9 X% R0 g' Y; j var parentNode=node.parentNode: P; j8 [% q( n" Q* M, M
var parentBgColor=this.getobjstyle(parentNode,"background-color");) V/ B# Z E2 B- U' S
8 S* h" M0 a* h4 |( D! |
var isLast=false;
8 X' ]3 q7 L, E6 k. |" m . s) d( f2 h: i8 Z/ G% P
while(parentBgColor == "transparent")
8 t& Z3 r u$ y2 y1 q: T3 M { K2 z e6 f; O$ A" I' ^' s
5 C. ~1 }" u: ?! B" Q7 R* H
0 N% e! Y/ q; N( g& c
if(parentNode.parentNode == null)9 `1 {; T% ]4 H* z$ e
{
2 C Z: x* d8 l9 I I6 U2 y isLast=true;
% N) T& t+ Z p* k, ] break;$ L4 H& n- r% Q- Q$ x) P/ _
}& p" K- {& h4 B
parentNode=parentNode.parentNode;
5 [- C5 L/ P U+ {$ G parentBgColor=this.getobjstyle(parentNode,"background-color");8 Z% f7 z1 c( m6 m' |, h
6 q$ W& j, R9 D$ a7 l0 Y- l/ q
if(parentBgColor != "transparent")
- _5 u* B: f7 H8 z& Z. m* ] {
4 @" U! I# h; k& v( T break;& ?8 _% Y2 h( T7 u: R
}
3 y, v. M6 B: F* ]) ?( u }
y5 z- X; Q3 J) W- z w# a( c if(isLast) $ ?' ?% W( m( r& H
{
2 x {' O5 Q ?* G+ _7 W! [ if(debug)& h1 s! o! C G
{1 k% V$ O ^: M: u M
alert("last!!");
2 Y( A4 g! }- b7 G8 l+ R$ w+ | }
7 ?1 W8 |+ Z& U" K* x+ z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 S s1 T ^% \: E {
9 l5 R! d5 N+ K8 F8 |: O7 H orgNode.parentNode.removeChild(orgNode);
: `+ p; Z0 W4 G8 F* F1 x" p) E }
3 D5 A, D% L) q" h, i. K3 m7 e& Y6 w }
, L z# U* m6 P: I. ^: v6 q( ? else
/ z7 ~8 F/ `8 n) J8 V4 e {' ~* F; D% P$ B- i! A& i" e
if(debug)* c: H) q( z; Z+ m* t, R# ]( ~
{
# Y6 n/ A8 K' ]4 b. W alert("compare color and parent bgcolor!");
5 P _- \* D$ ?, n }
: _' f6 y4 v4 D8 P# r parentBgRGB=getRGB(parentBgColor);
. ~+ f9 X0 ]# D3 [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: F4 p, V) E( u; q. C2 ^. d1 C& g {- z2 d& ?7 t0 l
orgNode.parentNode.removeChild(orgNode); 3 H0 i! v$ O! ~% K8 N
}% D+ i0 U' \; y8 n, A8 j8 ^2 D" @3 G
}
1 K+ O2 R( E- x& O/ D$ }0 x }
% \6 W8 D- H; V$ [ } X* S- X7 y0 N" S
}
l3 z9 B* N% W! F }, j! w5 H& i. v B; d
# M4 h" s" G8 R3 A
: F0 ?6 D! m( \* {& W* K& k" p var itemFrames = page.getElementsByTagName("frame");
0 W" S. k9 {" s$ L2 W var itemiFrames = page.getElementsByTagName("iframe");
/ W6 c( h0 P+ g3 B* B, C5 ?6 S% W0 l
' {' j1 ?3 I& z+ R1 D$ z var frame, iframe;
' O# q0 g& ^1 d0 B$ A if (itemFrames.length > 0)4 t+ q/ z4 `! Y3 U
{
* ]( n ]" Y$ l% V* n: e& Z& \4 {' P4 c for (var i = 0 ; i< itemFrames.length ; i++) $ a' W$ l% n: [2 u8 O' j2 y8 i
{# y1 l) d) O( F' J0 |# a, K2 ]1 B
frame = itemFrames.contentDocument;
2 ]: Z, y; T6 f this.RemoveHide(frame,objname);
" I) f( t4 ?* D. o9 Q. S3 y }
. c; H0 G% K5 [# M; ~9 C2 u; U }
. ]# E' v* j# x: E" H+ m# Q if (itemiFrames.length > 0)6 B: [3 @; ?! I1 |$ A
{' y3 l+ G2 a q& K% y, {. s
for (var i = 0 ; i < itemiFrames.length ; i++) . [$ P4 ^- \7 V, P
{9 b+ E/ E# n2 k1 h8 `3 E
iframe = itemiFrames.contentDocument;9 _9 U0 r4 s7 R% b: ~+ i+ ?
this.RemoveHide(iframe,objname); , K+ F8 {) k" @) d' A/ q/ x
}
6 T+ w3 @/ \& }5 X" \; Y }7 w( i# E* a9 {' v
}& s1 V6 Q/ b. @$ w/ ^$ t
catch(e)$ \8 J4 j- }8 A( O( W* r
{
. L4 a" q, z5 S% g( s5 | if(debug) j; E. m2 ] @& i" V2 z, p
{
; G) F$ @$ P" Q) b8 @ alert(e.message);$ n6 K1 B( o/ V+ B) S
}3 ]9 |3 [0 f0 W: S, v6 I6 N
}. a+ w9 p, d" a6 v' A- g' f% i9 G
}
/ j0 W( x/ D7 z1 _- ?. |% g& M) p 3 \2 i U& u/ f& t
}
% t( P' _1 n3 w3 K0 ~- j- d3 n5 E) h9 _" q
function getRGB(colorString)0 _0 Z4 p* ~5 g% g( j
{
/ X! W3 M. V$ V% l& m7 r* q var RGB = new Array;
+ d2 j3 g* B8 Q! a# F var tempSting=colorString.substring(4,colorString.length-1);0 x5 k# K5 C' h2 K% s
var tempArray=tempSting.split(",");
' V/ Q0 n. m+ s* T. R& n5 C" o/ e2 Q" g b7 R
RGB[0]=parseInt(tempArray[0]);
% n4 v" e, t" m$ b C RGB[1]=parseInt(tempArray[1]);
. {; i( J; @% h4 o8 B T$ A RGB[2]=parseInt(tempArray[2]);8 q6 C! m! u* Y4 O
" U- A0 s- E( s: a return RGB;0 r2 f% j6 R* U
}
. b" K2 L+ `) V% z) ]function keys(evt) 0 ~; M: b. m g6 _
{ 5 m. X# p( ~0 b/ g" c
if(evt.ctrlKey && evt.keyCode=="81") $ g, F" h3 R8 w
{ 5 k7 w$ m, Q6 G
CleanHideObj.on(0,1);
* Y9 ?6 I% P9 w+ r6 r+ M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 s" c: q; r: a# M" P1 r9 z/ l5 d
0 f5 {* B7 Y, z5 x- F6 s }
" x; q3 ]. n/ d. x, B } & I1 g7 @+ K; P8 c) N6 C
document.addEventListener('keydown', keys, false); : G4 v/ O5 p. w/ \9 T
GM_registerMenuCommand ('Clean Hide',
$ Z+ t" a2 n8 C: `5 X$ P, `" s, Wfunction(e){8 Z5 `/ _4 }, f# Y/ f& ?0 R
CleanHideObj.on(0,1)( k, u# D4 F& m5 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 r; p( g s A5 v( d7 O" f, X
});5 h# l v. S* K0 O7 {8 F
|
评分
-
查看全部评分
|