|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! U/ o) w6 ^1 J0 |3 c! a' H, n6 M7 z1 G9 E! @3 E7 k
火狐插件,用猴子7 U- U1 K# x6 B+ y" @0 x4 m" x
( i1 l. q4 U1 J+ r& j3 s/ Pvar debug=false; + b: C- y( ~ r m; q
var CleanHideObj=new CleanHideClass();
; F4 e# I& f; M. H, O2 }
9 O! j% o/ F0 B5 U- Xfunction CleanHideClass()
/ ^5 d) s) `; A* _% @) U V2 t{ 9 q. |+ L9 H% U V4 _; J
) @* r% q) ]0 ?0 l this.on=function(id,bMZ): H5 K% Z6 N1 {. D' {7 I
{
: d& q7 b% p; j
2 p1 Q& d0 l' d, m) `- z8 J if(id == 0)# ]1 o( _( Y8 M9 A% a# _3 B
{
+ I. f& \0 U/ e! k7 r var page=/* document.getElementById("content").contentDocument */document;
. P4 V5 Z' @9 A this.RemoveHide(page,"span");! C3 ]; ^7 j& B/ q
this.RemoveHide(page,"font");/ a$ `3 D$ {2 _9 d# Y" `3 F
this.RemoveHide(page,"div");
: F; u' m- \1 O% d6 I this.RemoveHide(page,"p");
" w6 o6 G! v. E& g" a% [
% K0 {$ y5 Y* O* A8 K! z( Z }0 ?& l) w4 H& a- Y+ U; n5 X2 T, ]+ }3 N
2 g( p* s) x/ o6 n3 P- O, k& @) m }4 s2 S! q: \; k7 j' M$ w
this.getobjstyle=function(node,prop)
" A' h# N* }: Q" Q, Q {
' ^9 j7 g. Y$ i try# u; [4 c, u# \% I0 w
{- ?: H+ _- t+ {* G9 e' I, O! q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 e( y1 U, _7 n. q! _ }! c% e, ? F" z" c# ^, C5 K: d
catch(e)
( o, }7 L6 s1 L- B5 w: U {
6 Q' q, j* Q8 w) K if(debug)# K* ~1 {) [1 j: Y: J
{# j/ c$ l/ D* ~5 v: b: r9 Z E
alert(e.message);
/ q9 `# h4 }0 W9 f! S. t: E& p; E }
, l( f3 g/ P9 N& h( W9 U" R$ N: m8 K9 |
* z, V2 L; p' {, s) E o# ~ return "200";
; n$ }0 ^9 C* y3 B }
7 w; U% Q! N x) `# C) u5 b$ } }
9 i% B! m: d) x
0 d. F! d/ C% Y2 D/ a1 R. X* ]) E this.RemoveHide=function(page,objname)0 M: v6 T) e6 j: s3 Z
{; j' Y% Z1 Q+ s2 O5 T
try
& y$ s8 D& m+ O {. w/ _$ ^' V0 Z& z$ O
var minValue=15;
# z t$ Q# A! R0 o var objs=page.getElementsByTagName(objname);
) ^/ N' M. j& u, W( t
; h [5 z5 m2 h G if(objs.length == 0)
& u0 H) L+ }9 D) F {: ]% W5 K8 z+ N& I3 g
if(debug)
9 o& X: A& m" r, E1 Q {( I k; V+ e0 N/ Q$ r! N- L
alert("no object found!:"+objname);
; x) Q/ N" u D# S" L. Q }5 p* s+ x( l( D( C# [
}/ u2 {1 d( X+ T) E8 l' D) D
else. |3 i3 H% Y: ]( S0 M! s. I5 `
{2 l4 M5 R4 R% j q
; R# H6 h1 F- U/ k2 v; N for(var i=objs.length-1;i>=0;i--) 2 h* U7 ]/ ^# `4 I! a) \
{
+ E! e+ @: a7 P2 t1 t var node=objs.item(i); $ Q2 E3 E. {. Q$ i4 ~% J* M/ z+ a* ?
- v/ s9 M2 K7 U: s8 H7 C
: b. ^. r i" h) d( a if(this.getobjstyle(node,"display") == "none" ||. x# l% x& Q. g( |# b3 t
this.getobjstyle(node,"visibility") =="hidden" ||. y' F# b5 \$ s% L+ ]4 r ?* t
parseInt(this.getobjstyle(node,"font-size")) == 0)
% `. Z9 D9 H+ ?2 ^% A# g {
' e3 p6 d V, Z" x) O/ T if(debug)
( x: t9 m; ?" _. z {% W+ @. V: q) U9 W/ m5 K E" Y
alert("remove invisiable!");
" B' L* a1 T- _0 k0 C }
# c( H# V- r4 j node.parentNode.removeChild(node);
9 ^4 `5 l1 P* q+ O. g$ Y0 Y/ F4 j) }
. m1 H( `" i! D) M. {# Q }
, Q, O# \$ b- N, |2 `; z else
% M7 m9 @: H( Y' s' | {
1 `- L9 h+ J3 r0 c; o- z( J if(node.parentNode)
" Z" |8 ]: b6 v/ ~! H {6 B4 [ m6 @9 a7 z
var orgNode=node;
Z' |+ f( h& J var orgColor=this.getobjstyle(orgNode,"color")
4 |/ w \/ q! I- W9 { f0 s$ Y var orgRGB=getRGB(orgColor);
9 C: R% K" y% ? w% a( R
4 ~& m9 H5 `% ] var parentNode=node.parentNode
! m9 F8 n4 O. o" N6 v/ y var parentBgColor=this.getobjstyle(parentNode,"background-color");) l! K Q0 F+ Z. n% M$ y
2 K1 y7 M: S$ d+ ? var isLast=false;- f" P! K/ l4 e
4 F- j3 R- x8 D& t$ k while(parentBgColor == "transparent")
/ o3 X# W7 ]4 o% f T3 @ {: v2 Q8 C; n5 ~9 F+ x4 G, [
2 @, [( ~, p& h. g* [+ i9 E6 [4 t) h& E
( G" @6 d8 A0 F if(parentNode.parentNode == null), ?& A8 `. l. |2 q; b0 E& A% ~" z
{
# A7 S- {1 j C+ K4 P isLast=true;0 i1 g& d* f+ s
break;" t: W/ e( W1 G- K6 k8 ~: Y
}
5 m3 k. F f! H3 h) g parentNode=parentNode.parentNode;( x& d% C; e: ^3 t3 `
parentBgColor=this.getobjstyle(parentNode,"background-color");
4 Y% e: j6 V. G+ k: D
, C3 J- T" }3 K, b! Y if(parentBgColor != "transparent")
9 d" d# Z, X3 H2 } { j" \! h% ^: J, k0 m0 Y* e8 j! z
break;7 ]5 `4 P E- k4 w3 d5 }
}5 Y w; O# Q3 \5 f R1 |
}1 P8 u, j* p: j
if(isLast)
5 ~8 y& O( y' ^% ]' b) P {1 ~" Y1 R2 z h* Z( b( i
if(debug)& Q* r: w& E" v* Q) z. t" ]# Q
{) A/ U. @* }3 W" G& _# X6 R( v
alert("last!!");
9 ^6 Z g0 c3 u0 t }4 T( W2 d: C" H0 Y( ]5 r% R
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 r2 h }* k+ `4 ^; J! t
{$ ^2 E. {# M' z# Y6 h5 c: I/ R% m! U6 E/ e
orgNode.parentNode.removeChild(orgNode);
+ \* w! h* n+ Z; Y+ h t9 l }- G) n, v# S2 j5 i0 h
}
! X y- R. D7 ^8 @# E else
- J4 M' P7 o- J( t {$ }$ l" K. u" N' p6 ]+ m. Q1 V( M
if(debug)( L& i m4 ~# y4 j4 u
{& b) @# n+ B: J& p
alert("compare color and parent bgcolor!");1 n5 Z4 s0 t1 v) u
} B3 ^+ |9 O9 U3 u' C8 d% O+ \
parentBgRGB=getRGB(parentBgColor);
6 U) O! J5 q$ r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* D# W- @: U2 v2 j! ~ {8 v3 n; Q% V. h7 d+ }8 Q
orgNode.parentNode.removeChild(orgNode); ( C8 {- a- [$ v8 _# W" V
}' [* r; J/ u& A, w: m2 ^
}
, ?. L! q: D0 j6 t0 u }* g, k c; _' f3 w+ g
}* o0 ^& v* | z
}
: P G2 N, @) I }
9 Y. o* b) W8 R! J) M; [0 M7 } 1 B _! t3 e: Z+ K' W( S( m+ }
+ C7 J3 c7 S3 z3 b* D* \- S
var itemFrames = page.getElementsByTagName("frame");
1 J \* e& D. G4 ^+ x; s var itemiFrames = page.getElementsByTagName("iframe");
+ S& n6 B3 N" [7 P6 K9 D, H3 ` 9 r ? z0 j2 T) r' @/ q
var frame, iframe;# _8 P" x& H+ `! c( o6 w
if (itemFrames.length > 0)
! t, d; H7 p. Z$ }6 B {
" U( j* ~8 O* n+ ^ for (var i = 0 ; i< itemFrames.length ; i++) 2 Q+ b3 N. w% t5 T
{6 J# y) C- S* l ?
frame = itemFrames.contentDocument;$ m" ]; x9 \2 O5 E
this.RemoveHide(frame,objname);
% a+ [1 e; o9 K" i5 H! ^ }( h9 F$ n9 o) P
}6 ^# A# {# U! u$ a: |
if (itemiFrames.length > 0)
9 D, z, [0 [% R2 x" a' r; C {! ^$ ~6 p% O& C' F, ?
for (var i = 0 ; i < itemiFrames.length ; i++) q5 U# g& `% z
{
5 G6 f2 k1 b& _6 s! u+ X; q# q iframe = itemiFrames.contentDocument;& M/ W/ D* ?2 f2 b( O. a
this.RemoveHide(iframe,objname);
, f1 z0 b3 U3 E \! x, s }
# |, K L8 r/ N# ^$ x }
5 f" k/ w* N: J9 D2 M' k; S, B- N }
) B3 B, R3 u0 w( q' s- { catch(e). H3 i4 t0 ^* n: k. S
{6 R7 i% J5 t0 w3 a3 P# Q
if(debug)
' S1 b# |' M$ c4 f {8 H, |! S5 k9 F' Q- C# d- @
alert(e.message);
. g$ C- F! H; z }
# w. p4 W$ X/ ~* _) \4 \ }
* W2 E6 ?* o8 y( s! }" e6 _# P) S# [ }6 @4 c6 X1 b/ J6 i$ z6 F
c" o! t+ n( C) W
}
5 [2 l0 q- J' m$ J
@9 u' x3 ]; P, N4 qfunction getRGB(colorString)
% i1 v0 X! H" g9 p) a{
, i( n2 t6 s! j' F5 b b var RGB = new Array;
* f8 }- j7 S- o! ^ W7 v var tempSting=colorString.substring(4,colorString.length-1);" L; s5 `1 C3 B, @ H" w) h
var tempArray=tempSting.split(",");: K' q: c' a4 k2 G* H7 |
7 x% l& U5 C: b8 h+ W4 P( o* Q RGB[0]=parseInt(tempArray[0]);
# n, O6 Y/ O/ Y: l* u RGB[1]=parseInt(tempArray[1]);
) r6 P0 i( O& W! V; H RGB[2]=parseInt(tempArray[2]);
) G0 |7 K' W0 f * K* U: A& o4 M$ [$ M! ~
return RGB;
" F. P, u+ j4 P- c/ o2 t}
' u3 h* a. ~, K" a! h/ P' F/ o$ ~function keys(evt)
0 W0 m3 g3 f+ ~" Y, } F* b {
4 H5 o' @/ x: h% G4 G0 K- Z9 }4 [ if(evt.ctrlKey && evt.keyCode=="81")
' I' [5 O1 O4 O {
5 @( n4 Z6 I; n$ D: T CleanHideObj.on(0,1);
+ F; Y5 p6 T5 p* | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % U7 Q8 {; \' v. [4 H, Z
A( S G/ X* @+ i }
% S; T5 R( y; j1 W; o2 C0 P G } ! W. J7 z# j+ T4 [& n2 \& c
document.addEventListener('keydown', keys, false);
: A' U* H- r+ KGM_registerMenuCommand ('Clean Hide',! S, U% q) T% i- |# i' u: n
function(e){
& J+ E: \) T8 Q7 Q# P1 XCleanHideObj.on(0,1), Z/ x, L" m8 b; g- _: E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( G# x0 B! V: ?- g; F$ e! V
});
N# K( C, n+ h5 V! j2 w |
评分
-
查看全部评分
|