|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 e4 _6 T6 z, P- O/ ~ J: T. E
) }% Z6 k$ P7 m% z
火狐插件,用猴子" r6 B% m& J8 g3 R
7 P' l/ ^. }' ^/ `
var debug=false; 2 U: \9 O) I& w" }$ q% o4 R
var CleanHideObj=new CleanHideClass();
, N7 W. @: |2 S# U% i/ p! b
+ f* Z1 k6 O% O- w# Efunction CleanHideClass()
5 }0 {- e3 X2 S ^( Q$ u{
- v, i1 w: m: V& A, {( C3 Z
. Q1 j$ H" F7 h/ W6 X this.on=function(id,bMZ)" f) x- ~, Q; E s4 }$ l
{+ ?9 h; C) u. @9 f
) c" R) y y: M, P! G+ S/ r if(id == 0)4 D3 y9 Q5 O# ^% T0 O5 q3 n
{! i5 i# A$ B% P* l0 w. \
var page=/* document.getElementById("content").contentDocument */document; & I3 Q; L4 l( Z$ p. H' a
this.RemoveHide(page,"span");$ g8 T$ T2 ~5 }/ o
this.RemoveHide(page,"font");
], ~& Y- Y7 e1 b8 {2 y3 ` this.RemoveHide(page,"div");- ^9 s, i) p: `- y1 j
this.RemoveHide(page,"p");
& Z! R K6 \: k3 L' I9 @7 w , j. [ ^0 _1 W
}
2 E( z5 a* V, l+ |2 S. l# ?
# Y0 @3 M1 N, @! f- C; [ }0 I7 [) F8 p4 ?/ B+ m
this.getobjstyle=function(node,prop), N: q7 }4 L k( S. q
{5 B* U( M8 \1 E; W! [5 t' X
try
) u, [$ g4 F: Z* g3 f) ^* t S; ^ a {7 y* f& |" q+ s9 i
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! ?2 h- C& j( i/ Z4 p7 o }
& D6 `. v2 [9 z4 b+ z9 [1 C1 K catch(e)9 _6 o# z$ r' G+ [. n
{0 @2 Y3 h" F/ Y) Y
if(debug)
" Q. G* I% [% L5 B, `1 T x. \ {
( x2 Y4 D9 f8 u. A( Y! j2 R H alert(e.message);+ m2 m0 U7 T! b' j" P1 @7 K& q9 K
}
2 K8 f4 L% m2 o6 M9 N& c / Y# x* c |8 m0 _+ @0 {1 U1 k
return "200";
& u) j4 I4 i9 [# K. A# c }
; p% [' f$ @& C6 k: d8 ^% T }- V- K! S1 ?+ w' \
/ C0 F* K# |$ A! | C2 T4 t this.RemoveHide=function(page,objname)
1 P$ l: C1 Z9 o) Z {. e0 \* b" H0 l# K& F
try
, @& f2 @3 H: W9 M {! Z2 q$ Q& \) V. v
var minValue=15;. ^. O7 X% D/ b! ?3 ]0 T4 y+ c1 R9 P
var objs=page.getElementsByTagName(objname); 7 U) A, b6 T1 {6 ^. u
* n' x: p/ a& E0 p! ]1 G if(objs.length == 0) t6 {# M, E# c+ D
{" d0 w5 [/ A) X% A" Y- B8 J
if(debug)% Q T7 e! L" s; \$ {
{! A( |. D1 \+ U8 r" G1 i. x
alert("no object found!:"+objname);! g- T+ Q) h% o F7 G6 |
}5 P+ h/ b9 I# r( S+ L
}0 z3 M/ ~7 E9 C# r: ~4 s! A
else
. x( s( C! T' X5 u9 W7 o {* {9 }' W; R; p s6 U8 l
5 V* S6 ^- E9 N3 P! M( s/ W1 p
for(var i=objs.length-1;i>=0;i--) 9 ?0 o$ y( t8 z: C) A
{
) v% Y' S. J+ n) Z) e6 J1 m var node=objs.item(i);
2 W4 V0 _% @) K0 y0 ^* C / U, c2 o2 T2 W7 v/ G! V# k, |
% M3 W$ `# G( p" ] if(this.getobjstyle(node,"display") == "none" ||, S3 q" Y) J' L. G& Z; Z
this.getobjstyle(node,"visibility") =="hidden" ||
) L1 U5 ?$ r; b& q parseInt(this.getobjstyle(node,"font-size")) == 0)
& m& [6 z6 }! a$ i' h; V/ F+ a {
2 @" K: t. g8 b. m, ` if(debug)5 `- {8 I7 x: j) Z0 W% X
{
+ a& Y7 ~- D. o0 a alert("remove invisiable!");
. B* u0 o$ s: p& Z }
3 u! Z: w' E+ o! v, l node.parentNode.removeChild(node);! D0 _" J! j$ y1 @5 u
" v4 l5 C5 n }& C4 `& r# ~2 H }
2 \! ^" ?4 B+ s. X% W! f else
H$ J1 k( |( \1 _5 x {
+ A9 l4 Z1 R4 d; _+ a* b" s if(node.parentNode) . \6 L; x8 I% I( Z, j' r
{
3 G& e* Q1 Y6 y* { var orgNode=node;$ h, }- v2 i! b
var orgColor=this.getobjstyle(orgNode,"color")0 k3 F5 y/ V5 j2 m( A( `5 h3 X
var orgRGB=getRGB(orgColor); 3 P" d4 L/ E8 a6 X% V4 t
! Z1 y9 J; h8 M7 l+ R: L8 X5 j- C
var parentNode=node.parentNode
7 X% s8 C$ z" m) T6 d0 _, E var parentBgColor=this.getobjstyle(parentNode,"background-color");& P# ]! k, z2 C* k# s8 X
* q' K6 Z" B4 ~+ R; j ~( N* {% g var isLast=false;
/ Q6 ^! u; b9 Q1 G# _
\# N. H C2 e/ a while(parentBgColor == "transparent") 7 R& M: ?5 ]2 T$ N2 e( A
{
: i8 p! ?. [8 M
) u$ q. M. d( y/ C : S; a' {9 Z. ?5 P; T
if(parentNode.parentNode == null)
& ^4 {1 s- V t# j& i+ O {
- n# @+ R2 Y% e! K$ Q0 D+ L( Z0 `* Y: Q isLast=true;# z1 V& y4 U7 l! @# G
break;; C7 |7 U' [& o4 ?% l
} F- Q4 S9 {3 O; w
parentNode=parentNode.parentNode;
% V/ A% s1 q, B% z# J. r parentBgColor=this.getobjstyle(parentNode,"background-color");
" h2 o; A; G; Y# z7 E* C) _8 {
+ O( T% T O1 K% s' O if(parentBgColor != "transparent")
- [# D+ }1 r {, a( W5 b {* [& F+ ]+ B' r$ O$ j; N
break;
$ D2 ]: `' B$ M3 W3 k }9 j; @' Y x% K9 H6 a
}
c( S. J" \ `1 B" g) Q8 c( ? if(isLast)
- Z" }$ @+ ~- V {1 g/ ]* F& J; V ~7 \( s
if(debug)! n6 L' V# C# p$ Q. M
{4 i9 R' W2 Y% \& J0 r& x
alert("last!!");9 N" k* x% Q+ M( r
}0 J9 k# h7 {9 }# @! q0 d( ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 Y0 }, c( X. w/ z) Q7 A2 Q7 l1 t
{0 I) x. t; B, u( `1 w* M
orgNode.parentNode.removeChild(orgNode);
8 b% A8 w7 _2 S$ c S }1 X' L6 ]4 z8 e
}2 c- A0 f# g3 ]5 v# m& N( ^
else: F# X1 y2 ]6 }5 s2 ?5 h% |6 r
{5 I6 g& M% Z9 Y; M* v: r1 E2 W5 p
if(debug)# _* W( s% E( W/ O9 d1 h( n% }. R
{ j" J6 h6 E% Z; L3 @1 l5 \! O
alert("compare color and parent bgcolor!");
+ G9 n* S/ f6 |9 `, \$ c2 K }( m: L0 C. c% w
parentBgRGB=getRGB(parentBgColor);# @5 U- ] s+ `4 F4 M4 U4 `, V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# u+ f+ S% o, _% m+ k
{. ^; ~9 P, S5 f: k$ m# s. H/ ^7 m
orgNode.parentNode.removeChild(orgNode); 9 l7 E/ v. U% g$ z1 m2 a+ d8 B8 t
}
6 h3 F, E' p. O* U+ z& f1 X }
, I. ~3 ?5 g, k( K8 j" h }) M3 J$ x2 W2 k2 ?, {
}& S6 e, b) J$ v K
}9 [9 Q8 E" |' T9 a% d% _
}
0 e7 r X% w3 B' Q3 X 8 H1 j1 B& H; v. T5 c/ O
1 d( w; I8 B G- n9 G, z var itemFrames = page.getElementsByTagName("frame");
; d. r+ K) ?5 h8 r! S+ J z var itemiFrames = page.getElementsByTagName("iframe");
1 o' {: q9 A1 _# R7 o7 U$ p ' I7 g, p" V; v$ l
var frame, iframe;6 E! g0 F8 l/ R0 H8 K
if (itemFrames.length > 0)
% D. v: ]8 F7 I" j {
7 ~; S! r' z6 m7 w for (var i = 0 ; i< itemFrames.length ; i++)
( |. }: s+ s# O u" d; X2 | {6 ?- Y/ ^. x& v) w0 t
frame = itemFrames.contentDocument;$ n+ y+ R0 p4 C
this.RemoveHide(frame,objname);
3 z8 r$ t; R& E }
% p. B4 J- @; X* e9 ?; d2 L }
8 m% f' g9 j2 y if (itemiFrames.length > 0)# z2 D d+ x0 K- J: q
{
0 Q% x3 W+ _" W4 h' b9 D6 V for (var i = 0 ; i < itemiFrames.length ; i++)
. \3 ]1 J% V; \5 h% |% j7 _: |8 m& m/ H {
+ K7 q2 j# W9 q9 M% x9 @) Y/ a& Q iframe = itemiFrames.contentDocument;
* r) `7 K- b3 {6 Z this.RemoveHide(iframe,objname); + N, n) h3 {: a) a
}
! N" s U. P! X/ Q0 k6 D! e0 R, n }8 {' y' u. {& f. v5 H; n/ ~
}$ g, d+ s! U% t% p
catch(e)/ a& F% ?5 _0 l- _! p
{$ s' D( b& z0 {( y2 {
if(debug)' K3 B2 }7 q9 t4 u
{
$ s4 }8 a- j1 n/ \% C ^2 W alert(e.message);
7 U+ e, q5 @8 E+ F' x }
9 }: ^; A, b7 y3 V, | }$ i' J7 b( v/ c/ |( H) Y) M1 b
}: X& s: l: H4 m
- p2 I# d& q) d2 c; E}
! j v' A. [# v( J0 d. ?0 }7 X4 g# S# H8 H. q) j2 h
function getRGB(colorString)
0 c. A- P8 U4 {$ [% O{
! a* Q( D+ C5 F) w% R1 g var RGB = new Array;
' x A5 w: ` z2 {7 y0 V2 U var tempSting=colorString.substring(4,colorString.length-1);' k$ @* g' G4 t8 I) B
var tempArray=tempSting.split(",");
& w: E2 }- J7 D( K0 b* c- ?$ x, i0 }' C7 Z. V! \
RGB[0]=parseInt(tempArray[0]);
2 V7 Q3 M' s% u) ?: D2 o7 h w RGB[1]=parseInt(tempArray[1]);
3 z7 n# L* g: x+ l2 n6 P# P: w RGB[2]=parseInt(tempArray[2]);
# ~' c. [- B7 ~* j$ r . B: e- x8 z% A# D6 K
return RGB;$ [8 @' r5 k. S. e/ n, }
}
9 l4 D) F/ W8 `* l7 V2 y1 rfunction keys(evt)
4 O0 u6 m6 p' I% l8 T3 q {
! r, n$ }: v1 p' \7 }5 U if(evt.ctrlKey && evt.keyCode=="81") + M7 `' ~* n8 X% u8 [9 G% c
{
, l7 B1 g/ g8 s7 U! R CleanHideObj.on(0,1);" G& O% I5 R' O4 k0 M: _! }9 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( J8 }/ s0 N' V2 F+ C, L, i% A1 W: `
! S6 a, B: |7 b- ]# m
}
" A9 {' N: Z5 [, P' a* C' } } ' F0 @) k0 Y7 X- G5 n/ u+ W) v
document.addEventListener('keydown', keys, false);
& e) p# ]* ~4 `( G4 k* h% MGM_registerMenuCommand ('Clean Hide',$ w! z* I5 e- c
function(e){
' R3 a: M0 H5 G- l, E6 g6 {4 fCleanHideObj.on(0,1)( w; G" p( C8 |3 x, V% K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 D, | g6 M& u( `1 @! w7 o! J});
; }7 p* e' i+ s5 J( f2 D" d; }9 {3 C |
评分
-
查看全部评分
|