|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 j2 k/ x# W& z5 f6 x
! Y$ ]. N! r7 ~' k1 q! c; C$ d火狐插件,用猴子
8 O; Q. p7 z, E* V1 B
% \; m- X( O) ovar debug=false;
" K' s& Z; R# M# a( mvar CleanHideObj=new CleanHideClass();: S4 |" f( r8 H8 z+ V: d, |3 c
# |7 ?3 ?& Y4 L+ N# z4 F0 hfunction CleanHideClass() 7 E/ N& w9 u9 z8 m/ @* q5 n
{
0 e/ @% O7 J; R; F6 Z% W! M 7 f- {" ~2 h# H' w- e
this.on=function(id,bMZ)
" J) B- B7 }2 l {! q8 o, }) Z' _/ F3 e+ i6 k
- D' z2 |3 K/ w8 P6 ^5 k5 \; d6 p4 O4 T if(id == 0)
: z( S! x9 o8 t, M$ `4 v5 P/ K {) x5 y1 [6 o' w) C
var page=/* document.getElementById("content").contentDocument */document; ( l" |, M% Z; Q7 h; N
this.RemoveHide(page,"span");
2 f* M3 P; p" Y this.RemoveHide(page,"font");
5 a+ I* ^: I( V" G this.RemoveHide(page,"div");# O9 z9 K, c9 ?* m5 n% d, V
this.RemoveHide(page,"p");
# U" V" t- F5 D 4 l# f# G5 T. B+ \3 P6 R
}
$ O1 O) P. H; M5 T& `
4 C- j4 S: }$ J9 i( [! P6 ` }% v, w }: C7 h6 v; o: }
this.getobjstyle=function(node,prop)4 ?8 d0 [1 c/ l: \7 L9 Q
{
" w7 h1 L3 H' D9 U1 B6 {, E$ E try/ L! |1 q/ ~- r4 m% |/ P
{' r0 B+ P2 \' l8 }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! J6 w) W% ]/ W
}; z* n. R* i. _
catch(e) K: Q, x. G9 h0 W) r) I% r P5 X
{
6 |2 S5 n% f9 G if(debug)$ T" D9 }$ a$ _6 w" ~
{
" A0 C) ]2 J' f9 _+ ], k alert(e.message);1 _5 P' B, r! K
}5 j- T: R: s- F4 }
4 U6 `5 W1 V5 N
return "200";' U/ e8 F/ R; O4 c( x
}
3 _, |* z; T( p4 q8 d }
2 x3 B1 p/ u x4 \, {0 W1 T : t) X' c, r3 D* W% S$ k" S
this.RemoveHide=function(page,objname)$ G9 s( }. \0 Z( g; N; B1 c$ r8 Q
{- O# v$ q- Q0 o- E: ]- x
try8 w# R4 X/ L1 {- V. `2 j
{4 g+ y8 o. B2 i/ E+ f& E- p' l$ V
var minValue=15;
( ?+ K' z1 \, Z var objs=page.getElementsByTagName(objname);
% z. }7 v0 ?; H( ^/ T
( V, R8 o6 Q3 M2 M if(objs.length == 0) # u! z. N- x$ h$ d5 \
{
- h2 Q+ ~4 j( _) g; m if(debug)# @) N' @' s& X% D% w
{
q3 G) x: I$ c alert("no object found!:"+objname);
9 X6 y; \3 I- p" @. z+ d1 p; F }
L/ |; F) C2 b9 }/ T' w }
7 }1 H4 c3 T, D% o/ U else
4 P% y8 U" i! S( i# @0 v {
4 }) j( o8 [# ^* Q! X* ]
# J! Q/ }- I! T) C$ d* U G for(var i=objs.length-1;i>=0;i--) ! j* f4 g) i* @
{
( X+ y7 a8 |8 u# i' E7 s- t: n var node=objs.item(i); ! G; K/ L1 V3 d! [6 o
2 n5 F: y0 T( s5 m. o, u
$ j% v2 D9 C6 q0 x8 \ if(this.getobjstyle(node,"display") == "none" ||5 @# @: }2 l2 P
this.getobjstyle(node,"visibility") =="hidden" ||
# k$ C. L( j8 b3 p# Q0 j# K parseInt(this.getobjstyle(node,"font-size")) == 0) + t' Y ?% r2 _5 I6 f- \
{% ^" a1 m# g7 o$ z6 h$ f5 r
if(debug)
' T, S3 T6 h: Q3 z0 [ {
: n% m5 B* X4 z3 G$ n& A6 e alert("remove invisiable!");
$ p+ _( g0 e. ^3 p( k/ D# g }/ C1 J0 \% f8 j8 S
node.parentNode.removeChild(node);
( [9 {- i( ^! l8 Q! M, ^
/ @1 q* C7 F6 j) A4 ^3 [7 e }3 K1 {& o; b, L7 R
else ) o) C$ l6 y8 p- |& i3 O
{2 X/ \/ _, ^: B
if(node.parentNode)
/ A7 H( o: W! q9 c8 d {
: ?) I8 R% O! W$ m7 d7 j$ {8 c var orgNode=node;% {/ e5 s2 M; ?; m. Y
var orgColor=this.getobjstyle(orgNode,"color")
7 B' J4 v+ ?" s) e var orgRGB=getRGB(orgColor); 9 g8 P5 j4 q1 \# f
+ O* @$ o6 k. J9 u" ]+ q0 c) u var parentNode=node.parentNode4 L, v8 z' }! Q5 R
var parentBgColor=this.getobjstyle(parentNode,"background-color");
. \& Z( Y0 h3 M' |
7 n! i4 Z* Y' c2 r' I var isLast=false;
9 i5 ?/ V! H( L( X" o
) f8 H. m+ `4 M4 r while(parentBgColor == "transparent") , ^& N& o% X( @; W
{
/ P. x* l- y. c8 |6 k4 W3 i$ R " t! g" |. _5 I2 m9 m
) E6 W5 D" J; x. s9 d: k if(parentNode.parentNode == null)9 R9 @+ G$ g* X" Z# U
{( v6 |+ K+ t5 j/ s6 v
isLast=true;6 B+ v1 B/ q+ w) K& v
break;0 Q0 W4 d+ R) h
}1 g. u5 Y& j! C% {9 x
parentNode=parentNode.parentNode;
7 D0 o% S. a" w1 i0 n" c parentBgColor=this.getobjstyle(parentNode,"background-color");
1 B6 A( @0 E! y$ \4 e) x3 A' s9 t$ i, l; d3 K& f
if(parentBgColor != "transparent") 6 i$ F* F% @9 T3 E* ]+ g' V7 i1 I4 [. x
{/ I- A. P1 t6 o; F. m9 h* t, f
break;
& M4 l' T9 k2 P! j! G7 \( K }
* j' j7 g& {& C! e8 _7 ^$ L }
( u/ i/ L5 F' g8 [ if(isLast)
( k& c8 P! b. \8 V7 y4 z: |& Y {4 y4 P# |6 L# M, S+ I F+ i
if(debug)( |: w. ~" W/ C3 Y# D: o; t
{
1 t$ _( g% W. n6 y# C alert("last!!");
$ f- T. W4 ^" W* p' y7 u) `6 J9 W }
) G& V+ ]! D9 A. Q, l8 e) E+ ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 ^7 C9 d- B4 O' h% P# {; u
{
8 O0 Y( ]9 M/ @1 n orgNode.parentNode.removeChild(orgNode); % V8 Z3 C Y2 r. B# t3 ?5 k# P
}
, w+ s5 `6 k1 P# w }% \, D" r5 W- U# ^1 N
else3 y$ E; O n0 e: c
{: n1 {3 _% C) n9 r
if(debug), T" x' w3 |! p3 m/ i1 }
{" `- U$ f6 i7 N! K! G( Z
alert("compare color and parent bgcolor!");6 w8 k! D! ]# O/ x% G+ v4 Y
}
3 R6 G3 J% f6 k0 ~% q& N8 l. z" @% o parentBgRGB=getRGB(parentBgColor);
3 {3 ], _7 T/ A3 `9 k& b if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ {/ e3 a/ d: s2 g' f1 }' X
{
; d- z$ d3 m) q. B# U$ z orgNode.parentNode.removeChild(orgNode); $ Z: s0 s% t6 R
}
1 j3 ?( O+ J) Q- ?! U }
) L5 m, [" [3 z! L z }
5 G4 F g& ~$ k: H& W" V3 e+ ~3 U }
P5 S+ R& O. ^% e4 i+ H4 N }
% u- ^9 c: m+ W- [ }
8 N9 R0 `* {% j [$ U* Z # u; v% n, {: U% _& U
* O K7 ]9 i0 U" h6 ]& H0 ]
var itemFrames = page.getElementsByTagName("frame");
: H8 C6 W- w5 T( ` var itemiFrames = page.getElementsByTagName("iframe");3 K' p' L3 U* w8 x" j
, p, t+ Q3 X6 Y( A! R var frame, iframe;
. u( J' H% o E- F, V if (itemFrames.length > 0)
, O, Z6 |& n0 M% M6 M {5 p& y) }& u1 m7 ?3 v! K
for (var i = 0 ; i< itemFrames.length ; i++)
! W2 j$ w- Q S k! @+ N {! w2 P: e4 F# `+ A
frame = itemFrames.contentDocument;
; C+ k* }: I" w- d0 P {; Q+ c this.RemoveHide(frame,objname); & y% k9 K' U$ b- o `3 ?! D8 [
}
4 t5 P. \* ]3 R# r7 }1 a. P$ n6 \( X }& C6 {, \+ P& F. A. z
if (itemiFrames.length > 0)
9 ^0 w) @+ N/ F4 E. U7 { {- L9 i) a, ^8 k+ j- }
for (var i = 0 ; i < itemiFrames.length ; i++) 7 b( `/ t; _& U0 c' ~
{
) g1 v0 O* J. F- q: N/ i! E iframe = itemiFrames.contentDocument;* H U, W3 O1 A9 L! Y
this.RemoveHide(iframe,objname); / j+ l9 Z& S8 T4 w$ t% l. ?
}* [) _& W/ g% x
}3 L$ P7 J2 z* k- R
}, N+ g5 h9 Q$ g; v* n3 E
catch(e)1 \: A% B! Z; y. r2 q1 R
{0 l: y7 j+ H# e% V
if(debug)
4 Q6 }' y- S/ j9 E2 Q* e! q$ ] {# Q( D! H3 G! U- Z) z" J0 y" U
alert(e.message);
% I0 }9 x/ U8 E& k' D }7 n; m8 g' t7 ^% o' e6 C% G8 P
}7 ]# i- D3 Y/ r u- H7 X4 r2 Z, f
}
$ k& U0 q8 B7 o$ |1 X 1 H8 s+ g; Q7 k
}' T# L8 u9 b% s. F w: X2 K K
N$ x/ m- D: r; i( y! s* D$ W
function getRGB(colorString)6 o" e* I" F; w* D4 h4 p
{
: V6 e* Y2 [. j var RGB = new Array;1 l: G( u$ O2 U' R1 I6 U
var tempSting=colorString.substring(4,colorString.length-1);
8 i! C% F( ]* k, A" c+ i9 T var tempArray=tempSting.split(",");
) q1 L5 f- [' q7 }$ T% V( u0 Q. B5 N. A2 m
RGB[0]=parseInt(tempArray[0]);3 Q8 Q% \& D8 A2 O
RGB[1]=parseInt(tempArray[1]);, E6 H Y7 ?3 O4 ^* W/ k2 Z, Y
RGB[2]=parseInt(tempArray[2]);
. {. r0 L# P: }+ e
, [ f+ M C2 D" R* x/ h. ` return RGB;
8 a5 b9 m# X1 t8 L. I0 r$ p3 F8 f}" ?3 V1 \6 ~3 _1 c
function keys(evt)
7 M% q$ P( N) S! I- m {
1 `. I7 R) F: ^4 O/ { if(evt.ctrlKey && evt.keyCode=="81") 8 L% i- q4 r" ?" n, U t5 z2 E6 j
{ 7 q8 d* m+ X5 l) L+ n6 l/ H" a% \
CleanHideObj.on(0,1);
1 o8 t# v9 l2 j; g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 p( d; E5 O; |, P
, _2 L H) J% h. V
}
5 X l( i+ S- h$ H# z/ V+ \) {5 c } 6 {- T$ v. v2 P, q6 H" x
document.addEventListener('keydown', keys, false);
! o; }/ R$ W y. h7 ^5 w% lGM_registerMenuCommand ('Clean Hide'," [ u) L& k- x" i1 }
function(e){- n0 Q4 B- G- B P9 A# h5 @
CleanHideObj.on(0,1)
2 A1 I$ u, a& G+ Zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 ]' t* l( N3 u/ ]+ i% h});, X, z2 L( Q2 C; d* ^7 h
|
评分
-
查看全部评分
|