|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 s/ A/ {( b) S1 {7 H3 C4 C0 @9 `4 v7 C0 q/ o, p
火狐插件,用猴子
0 r8 q1 J! o* R7 A2 Y8 z8 R6 J1 b/ t1 Y2 w- P4 U7 p
var debug=false;
4 _, ~ M+ \& \$ _. \$ Lvar CleanHideObj=new CleanHideClass();
+ l# w! R6 v* ]: Q! {6 x
, E4 I0 ]% Q, u2 ?. qfunction CleanHideClass() ! V2 o8 |( e- F, |
{ / e0 m- U& ^. q) B* Y9 s& Z# ~& @ {
3 B# u+ G0 x6 R
this.on=function(id,bMZ)" E9 |- m& V4 n# P+ C4 \
{
4 N/ ]" s5 _: G f/ s7 n * c. H& Q# j: e( ]$ r% P7 t% K
if(id == 0)
: h% b1 U1 v0 N- Z ^) _3 M {
6 _/ l- v: c. q6 h var page=/* document.getElementById("content").contentDocument */document; / F& X( `; S8 W- [+ j6 y# K
this.RemoveHide(page,"span");9 P8 P* f3 Y2 H( n
this.RemoveHide(page,"font");
, f2 O, h3 f6 [5 L this.RemoveHide(page,"div");
) i p( V) e9 }: ` this.RemoveHide(page,"p");: F3 D4 R# g: V7 ~8 ^
. D* L( l+ c+ N
}) Y! c8 g( S( O' U+ g x4 R
3 f2 V/ ] [2 V0 O }
( i" A2 j; q! E0 P4 i this.getobjstyle=function(node,prop)
& ~# o7 z$ m$ g# S {
( g, ^/ k- f( ~8 y0 ~) p try- v7 l- `7 a5 M" u/ @% F; ?; {& B
{
! f6 U: A' G$ ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 X$ l( x" J0 i' [4 ^3 X# o E
}3 C) r$ P) w5 f* _9 U
catch(e)# ]% K% D% K \8 q4 o* I, c9 p
{
" Y2 c4 \: `7 N" U. B/ Q if(debug)4 P7 R3 A: R7 f0 @& ~- I+ R# t
{8 ~9 N8 D4 D! n4 O8 f& g! f
alert(e.message);
$ v% {4 b9 L" A* V8 r% m5 R H5 g }! i* Z9 B- O+ M
6 p0 w8 m2 u, j1 ~7 Q; Q return "200";
5 U7 {* T. v# ^5 Z }
]- o$ R5 H \ }( D+ ~0 R; |& ]3 g
! `( R* Q7 e5 N& A8 V1 X2 d- D# Z this.RemoveHide=function(page,objname)
# {4 ]) u- c! g2 \7 X( n {
) z+ e- _7 K+ c+ A# Z. d+ F try
4 G4 x ], i4 J2 h# }7 w' z {
, n7 I* y+ w9 x* U% i8 @' I var minValue=15;& |4 [& u: q* T3 L' W5 \0 v! N7 i
var objs=page.getElementsByTagName(objname);
3 f x/ s; h1 e; N: ^1 ~ D. @ J8 M3 q8 S3 M+ W: J5 h
if(objs.length == 0)
9 R0 R2 D' _/ v+ o% A/ D; e9 y {3 l: ?7 p1 _8 m& m
if(debug)+ g# h- J5 K7 m0 @& W& X9 F2 w
{. p6 I- M* l/ H6 z+ N& t7 C3 @
alert("no object found!:"+objname);
6 b; t" @% r/ C6 m }# q0 v3 d9 s i" O$ U) i1 R0 d
}+ e! Y4 t* Z6 _% e$ V
else" h: C% E) @% g9 T
{" Q5 a6 n1 ^9 r" ~; T; F3 m) \' J
+ z- a: c1 O2 ^9 ?! K
for(var i=objs.length-1;i>=0;i--)
6 V3 i2 W( l* f3 h {
, _& i' j7 E" h& y& _$ J var node=objs.item(i);
9 x9 W; T- J$ T, C 4 }9 I- l* X$ ~& P. J' v
9 Q \1 ^4 ~: T% p' \8 K5 s) ]5 l
if(this.getobjstyle(node,"display") == "none" ||' `: [. h+ u# G8 C6 C/ Z- I/ J
this.getobjstyle(node,"visibility") =="hidden" ||! U7 U& B! V* f; h
parseInt(this.getobjstyle(node,"font-size")) == 0) " O9 U1 t S' o% }+ r& e: S
{
8 P1 U9 @" K, f5 h* R) S if(debug)
7 m3 t& i n0 p u& r9 j {
4 R) {6 f5 @+ k; { alert("remove invisiable!");
' e& Y' ? u9 `3 n/ ]: I }3 i" x5 K6 U0 |! D1 k- t
node.parentNode.removeChild(node);
* W: @' u* q! g
& \& W; `+ ?" n: n K }
& V9 U! } O2 w9 m2 p else 2 X" e" i' B; m/ k! p; e6 q
{+ ?. t; W9 K) L0 ]& S$ P
if(node.parentNode) 3 K7 j3 X" d! h% m& J
{
1 E1 q+ M2 ?3 L5 K1 p+ v var orgNode=node;' r! v0 W) R1 _6 N! ^
var orgColor=this.getobjstyle(orgNode,"color")
: i( V, d7 k& j; V# v; f( ^9 j var orgRGB=getRGB(orgColor);
! J6 E7 c. f/ z/ K3 f1 \4 p6 h
0 x/ D4 f6 X3 M! z var parentNode=node.parentNode8 G: x& H- a+ E1 \3 `5 ~6 C0 }2 F- A
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 F9 V2 ~2 c1 E' C% X. V. g . A/ R* k# I+ N
var isLast=false;# w+ P5 O. R! M+ l
1 a! G$ N( E; ~- d( ~ while(parentBgColor == "transparent") 4 R |8 M% F9 n- f& G F0 l0 Q5 \
{
8 }. _* M3 V1 x5 H* c: y8 G 1 l, [! t/ M( c6 j3 i
/ a/ \) ~9 i' h4 L7 @
if(parentNode.parentNode == null)
! m E8 M( A8 |+ S6 ? {
( |. P# u c5 [; K, z# ~ isLast=true;
5 q# C) t% s2 R, n- K2 r/ P break;
: ]9 [# D& g& V4 \6 a }/ ?7 {+ u; Z6 [0 A2 p" o
parentNode=parentNode.parentNode;' ]4 e" Z7 P3 V9 D5 O" x3 U- E
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 j Y) ^5 U& n* P9 h# V3 G$ E N, c1 j. ?) o* Z6 _5 w
if(parentBgColor != "transparent")
( Q, z. I2 M" s' `0 ^* W4 J {3 h d- J! }. ^) _) A; S3 X
break;" ?* \$ N( N0 E$ `) N
}/ ^, m: I" M# c
}
( _8 t! Y& k' f0 L3 f9 t/ k if(isLast) I& @% }; \9 x% g7 ]
{
7 D5 d8 W- G' j4 c% _ if(debug). G4 }* Y; |! B: y& i/ H6 a
{
- |$ y! h& p, W" ^; t: } alert("last!!");
2 u! h2 g% j7 D# B/ h( ?9 { }1 q/ q! ^+ s+ G; [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), A1 s4 \, `3 U* t( H w0 X
{
! }6 t. T! C8 c) v4 d1 X4 h' _ orgNode.parentNode.removeChild(orgNode); % X' x+ M' O8 I3 V& ~; I
}
# Y- V: l; K8 u3 f( a# V3 G }
) a5 c G% z, G else
M- b# l5 g, E5 |. R6 R {
$ [. [5 S0 y% b; |+ S; _5 U4 U if(debug)( Y# J5 r; T4 c! H' f
{' V# _: J1 _; A: C5 v5 e1 k
alert("compare color and parent bgcolor!");
0 L1 O6 j; }, g4 k! R. r" i }
; C" P) s. l" n5 j4 ^) X0 p parentBgRGB=getRGB(parentBgColor);
: W" r) b; V9 @1 J0 b3 d6 _$ U8 W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' J% W- Y4 `6 a$ n7 L3 G
{7 x+ K4 I- |* G2 I5 X! }3 z$ G
orgNode.parentNode.removeChild(orgNode); * E/ ]3 ?$ j1 f$ S1 m
}
; E1 [/ e- h+ X6 q3 H& N5 e0 N }
1 R, r+ J/ |+ p/ H, ^ }
; R$ q2 _6 }% P) k( I. \ }( s& U$ |8 m' Z: y! K2 a9 R
}
( L: Q( b3 j2 d0 f }
" V& c" q+ w4 I0 q3 S . p, q- b& h' r" Q* S! y
4 r/ @! ]* x4 }
var itemFrames = page.getElementsByTagName("frame");
9 [* {" w1 l9 g- S( F. r& S/ y+ G var itemiFrames = page.getElementsByTagName("iframe");% @' @/ I n* o- l2 X6 p) }
0 }' O9 A. M& @+ G var frame, iframe;& }- }; ^# w3 x* R3 g( M
if (itemFrames.length > 0)
N0 l1 A$ d4 {9 K s; Q {- [7 d: \8 [ ^8 ^
for (var i = 0 ; i< itemFrames.length ; i++)
7 X+ f L, h' k% ?' y {
M8 a- b# r: U& p- P8 X frame = itemFrames.contentDocument;5 m2 |* Q/ d1 I) N
this.RemoveHide(frame,objname); ; u9 ]! B9 {' O6 a7 ^
}
: x$ ]* J% w5 B, H* ? }- b, a" h4 G" x! L
if (itemiFrames.length > 0). k( D G) j& a: b. }
{7 V+ x; L1 Y3 |/ y
for (var i = 0 ; i < itemiFrames.length ; i++) % X+ Y8 V' M$ A
{ l( I' p" {4 X+ ^' V
iframe = itemiFrames.contentDocument;
( {8 `4 y% u4 P' f) B this.RemoveHide(iframe,objname);
- f0 [- G3 x+ `- }2 H }
+ r0 Q5 B0 @/ ?% A! I' r }. Y2 T+ `- |9 G0 S/ W U. G' q
}1 M+ q5 ?4 K2 J! `3 S" b
catch(e), S! @) G! L0 l* d$ C( }
{
# V2 [9 {5 B1 `& C) i5 v% o if(debug)
. S m# g5 E# Q3 ], v( G {) a$ R9 {- ]" M) N4 O
alert(e.message);
& c* u, y' ~5 i' ? s# q+ V0 ~$ V }: {1 O r" j' a
}/ R4 g& U! ^; Y8 E0 s
}
' p/ [5 B5 [; `9 z, {5 `2 t 5 x! o/ D# F1 u* `7 W
} W0 R: o/ `7 V8 H: h
7 }2 Z+ W1 F( s: {; v
function getRGB(colorString)# W. a9 q+ H! F! n7 G7 E* \0 [, M9 U
{" t3 @. c+ E# ^: J* r
var RGB = new Array;& [8 C$ U: F& Q+ ], {( F, z
var tempSting=colorString.substring(4,colorString.length-1); J. S/ K2 r8 O. d0 t6 {2 n
var tempArray=tempSting.split(",");
8 \# W: Z- K4 X4 m$ f& }5 R) u% `0 p1 h/ [& [: q
RGB[0]=parseInt(tempArray[0]);! B% K/ g/ S" M
RGB[1]=parseInt(tempArray[1]);
: i# X" T3 s7 p8 g# ` RGB[2]=parseInt(tempArray[2]);
3 u; q0 H* c7 `% }* ? * q( W, R- d8 Z& w4 {
return RGB;6 C4 k5 D* ~4 U* L, I1 K
}4 m) j! P V( k# i4 Y! L6 U
function keys(evt) f' I0 a( Y& j; u+ h
{
# O5 |; I7 d9 R if(evt.ctrlKey && evt.keyCode=="81") ( A7 v7 [% N6 V7 ?
{
8 E N2 H; s/ [$ D" n) J CleanHideObj.on(0,1);% p/ ?% z" C( ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, {: l; o. S/ h9 V
: ]5 \- D* X Q v4 k$ [ } + e g% g; M1 h9 H" U' [
} 4 i; O4 d' D* L/ M5 H& G% E
document.addEventListener('keydown', keys, false);
) M& l: \$ s8 k1 mGM_registerMenuCommand ('Clean Hide',* J% K' N2 i9 y, `/ {" y8 O- g
function(e){
3 Y m" d: v; W; A& \CleanHideObj.on(0,1)
( Y! ^, F N+ |# z+ ^' `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% U8 N/ v6 G( ^$ E7 M/ t4 Z});
0 ^ g" L7 R W$ V+ X |
评分
-
查看全部评分
|