|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) ?" p" n" }9 S7 W/ g p9 L' W0 Q" h1 I$ {5 D/ A
火狐插件,用猴子
1 ^9 {6 F$ j% y& z- @: F. M8 j5 o6 i9 i" Z9 a
var debug=false;
C, w$ E3 A& J \var CleanHideObj=new CleanHideClass();5 q g- H C1 {( e4 \2 p
" c8 k, k, p" nfunction CleanHideClass()
( t8 P; w1 ]0 G2 d{ % ~$ ^; S0 O6 K. I! S
( F* S$ t) E) G" U! d this.on=function(id,bMZ)
: i2 T' Y8 D5 `4 h! @ {
( _+ p, P/ r) G3 S7 `3 S* t
2 M) H/ U9 s1 Q# n6 j if(id == 0)4 c. K$ T. y2 y* N
{# |& C& }+ {9 I8 r N
var page=/* document.getElementById("content").contentDocument */document;
# F$ |# F F8 u3 l; z this.RemoveHide(page,"span");
) R5 q7 _' [0 t) B) I8 y, H this.RemoveHide(page,"font");
4 n. l+ K9 K) X$ B3 m8 } this.RemoveHide(page,"div");
, T K) |) w, r& V" H& |, C this.RemoveHide(page,"p");# d m& J% ?4 s* @7 E6 z* I( ~# o9 w
* w' a- a: ]4 k3 F1 R+ p& `) O: [
}
4 k7 }$ V3 K5 F
( L' Y6 x/ U; q% ?$ L4 D }
e* `" X; B9 G/ Z this.getobjstyle=function(node,prop)
# j+ k+ o( y( [ {9 b+ v6 o+ C7 L& S, f+ F
try: g( f0 ]5 z, N6 G8 b; L
{
; D( h! d3 }9 d m0 P. r( S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 G% i9 o }" L b$ m9 x$ G }
- w- V; Y8 q$ N& L7 G$ l% k catch(e)6 a" O8 Z [( t8 w5 e
{: W6 n) ]- _; H' [$ d! k
if(debug)
0 q- B2 m) p% l% \' \ G/ H) d {0 I$ U" n0 _& T- R6 J
alert(e.message);: U1 T+ {3 y& P& _# |
}
" a5 H( h* f; l% ]" o$ M |
9 b* x6 |( L9 C return "200";
! q8 V6 t1 o+ g, u: |0 | }% f ]0 D4 T( @1 T+ ?' y
}5 ^0 L; v. W. Y" ]( s
) u1 v0 P: H0 ]' G, g3 }. L8 T7 B) J this.RemoveHide=function(page,objname)
+ X ]( h: d& G# ^ {
- K) J$ ~* V4 c' `& R2 t \" o try' h' P" G! t, `! |3 q
{2 L' K8 {/ d7 k( X; Z
var minValue=15;% u3 q0 O! `) l5 Z; E( H- }
var objs=page.getElementsByTagName(objname); & m3 R3 K( X8 a$ Q4 v
; T' I4 B. ~$ `3 O# N" l* ^ if(objs.length == 0) 2 N0 v( H* A: w. i9 d b. U7 B
{
8 D3 A2 c* I# j$ A if(debug)" u6 f1 B5 T. X2 n: C1 K
{- U( p# h# d7 y7 U, B6 }1 k: e
alert("no object found!:"+objname);
7 }: f W) e& o( R8 y. Y( W2 }& r }% U! i v5 a9 r' K- l# Q
}) d1 |. ?& _- u
else
* y3 h+ p$ A. X- [# y9 `/ K9 j+ C% z. Z {8 p( u. B W. J8 K( l) ~
% W* n7 I( f+ l8 c' P
for(var i=objs.length-1;i>=0;i--)
& S& ]2 _% ~- J- B" B {
8 r1 [$ O1 r) r9 v: c2 S9 Y* M var node=objs.item(i);
* m9 x& R! t. ~. v$ u
5 k; \( w' j. o * F/ z }1 H5 B3 ~& r/ d/ T
if(this.getobjstyle(node,"display") == "none" ||
% _" p& @9 f2 ?" b3 M this.getobjstyle(node,"visibility") =="hidden" ||
7 h6 L: n8 w+ u6 S& u$ z/ f parseInt(this.getobjstyle(node,"font-size")) == 0)
1 G2 P- N7 Q- s1 j) `- @$ } {" o3 Q5 S4 O& f6 S5 g) r
if(debug)
: i& D3 l9 p K {" @9 D7 N) R$ J
alert("remove invisiable!");
! X" _$ ?# t% Q2 U }) z0 ?- a' I: I7 E. @4 X8 e1 p+ Q
node.parentNode.removeChild(node);% K( J% ?7 \7 l2 H5 `" ]
, D) L- y7 \: p3 l) n$ p1 e/ D }2 H8 l% q1 k( j/ I' @( Z
else
4 s' s6 c' C- t1 G/ s8 ]) z {
R* y: T' }+ e% }7 s, ~5 Z if(node.parentNode) ( ] e! s7 y, T. O7 D
{5 c5 \9 \3 }9 Z8 D
var orgNode=node;
- _3 D1 t4 {7 r/ E6 E6 ]* l var orgColor=this.getobjstyle(orgNode,"color")9 H7 t$ W% x5 G; w! i+ B. @
var orgRGB=getRGB(orgColor);
9 G6 _, h- ^2 ^3 e' |/ R' {) I* j * [- O% p" F' F- I3 k! I. }
var parentNode=node.parentNode
/ ^: q/ s. K0 B+ C |8 B. M var parentBgColor=this.getobjstyle(parentNode,"background-color");
: H" E- M" f X* E; \
: J2 f4 l, w/ E/ A% z var isLast=false;
9 f$ Q- @* W, j; {8 V
3 p8 ~6 s* S; E8 E while(parentBgColor == "transparent") - P2 i: S9 M+ C
{, A \ f5 E1 o ?
6 W, n1 m* Z O7 F) _1 d% c5 h
' ]# Z% z* w0 s- _, ~0 W! }! _/ o if(parentNode.parentNode == null)/ J* E+ J: k( l* U6 ^
{. b# f5 V% q3 q. H3 q6 E* i. q, D
isLast=true;
$ j& w' D$ g& I& s k' d break;
2 o9 J6 q2 _7 Y }
# h, A C- k8 h" j" b! y9 H parentNode=parentNode.parentNode;
/ m0 J! ~9 K+ h2 R% Q. a parentBgColor=this.getobjstyle(parentNode,"background-color");: j* L' Q/ b$ m! \* \
/ k7 e/ M& I1 s, ?) S$ d- M- M* }! k+ ?
if(parentBgColor != "transparent") 2 D! R" R& U* U" ~
{) g0 C2 ~: Y* Z8 Q
break;
* B% R% X; Z( I+ R( \0 o, i4 b }( c" d4 U6 U! A& B9 o- H
}
$ a* i. j( T- H4 }& P if(isLast)
5 A* F ] ~! F( x2 l( z3 m {
3 t6 S1 @( P6 r if(debug)
" n- R6 ~9 @( ~ {+ R" y/ ^9 w4 [
alert("last!!");& {- y" k: P+ V1 K
}
0 m* h( {" F# l3 ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 `* `7 ?, O) u. K2 v# S+ S {
' Q: l" r3 q# g! E+ J! L! b orgNode.parentNode.removeChild(orgNode); / X" Q! B/ W8 }5 `: g4 B g- a
}
/ f# r2 x8 w9 R2 A- u6 Y; ~ }
; o/ Z! e7 \4 Q8 s else7 {8 w L/ Z) E% m0 b
{
% {0 _) ?) T5 P if(debug)
) ]7 P) v- ~4 X9 W4 ?1 _ {8 o% O" T, g1 f, _& h8 I
alert("compare color and parent bgcolor!");6 k) m9 P1 \& V8 N! l
}! {* S# p- p' Q) N
parentBgRGB=getRGB(parentBgColor);9 [: w9 J7 B+ F8 ?1 U7 y" N3 z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! y0 s0 N% j$ y8 P- `" g' A {
8 G9 m' I* t' c# Y# K orgNode.parentNode.removeChild(orgNode); " [5 A3 T, s# Y) \
}
* x3 A' X; K; A/ \4 J* o2 x* I }
7 I7 K3 x. N' L% b+ E6 a( @) m }
3 r0 u$ |( r& L }
5 `" M# p% [6 [. J% ~. t }
, w# N! V2 Y- I N L' c% \& ] }
$ S! {3 t& \/ U$ s) [0 h; W; s3 A . J0 G5 w3 `% n2 n% ?
. @$ o' P, p# D* g) ` }! |/ S1 ^
var itemFrames = page.getElementsByTagName("frame");8 a. r$ C8 p& ]8 @( d
var itemiFrames = page.getElementsByTagName("iframe");0 v2 V$ R/ m1 J* ?- q
2 M' F2 s. _' | |& H) H) \
var frame, iframe;: Z) S0 a9 i1 L4 u) L& L
if (itemFrames.length > 0)
2 J% |! M* ~) f ^" X# q/ ^ {
# f/ A+ ~1 V3 n( G% q' S for (var i = 0 ; i< itemFrames.length ; i++)
. ~- }. |# V; B B2 X1 m7 u1 m2 ` {
5 X! ]: q" O. y frame = itemFrames.contentDocument;
4 {- B2 [3 [5 l9 Z! _( G0 C. T6 v this.RemoveHide(frame,objname); 7 ~3 v1 H9 ]- _6 t9 @' A( y
}' \6 {0 y6 w+ i" O, H0 O
}
1 e7 O; Q5 N) b8 F if (itemiFrames.length > 0)
7 \/ G k/ O; ^, [; F7 T {
$ z8 r+ ~7 J( _ for (var i = 0 ; i < itemiFrames.length ; i++)
+ A9 b: T* R! Y! p+ z! [8 u$ _ {6 ?8 X& D1 F( U" }
iframe = itemiFrames.contentDocument;
1 c* S: `% D4 n( f9 d# v( ] this.RemoveHide(iframe,objname);
6 l( i4 Y1 z& [3 g1 \. F" j }3 X r: C; Q9 U5 j: T" `" _& ?
}0 s1 [! r1 v4 k3 J9 d' K. E
}5 J. H- _: S8 l. }; L) a4 A
catch(e)
' A; @; Y3 }) ?* k4 z) U6 ^ {
# X! Q, w7 O- h. O% I if(debug)
/ _2 `2 _! I5 j6 s3 E; } {
" ?$ o T, m+ V+ @+ E8 Y alert(e.message);
- k/ n2 p6 L9 q8 l% h } f# a. E+ m8 _5 \: _1 J% [
}
) ?" O8 T4 r$ ^/ \0 l9 p& E. r }5 j! j9 H! l! a5 f* y
) G/ N7 w! q: {" F H+ b}. [/ T/ R$ D2 j: |
. ?/ X* G" h+ D! u8 T* z# @6 ^
function getRGB(colorString)
: P7 w' o; Y2 c3 x A) D{# t5 @/ W5 g ~5 P1 S- ^! d
var RGB = new Array;; _9 I3 g7 b/ w; L9 C1 b" J
var tempSting=colorString.substring(4,colorString.length-1);& ]$ ?! {4 V; N5 V( l
var tempArray=tempSting.split(",");
/ U( q0 f6 e1 o8 d$ L
* p1 x e$ w* ^0 ^8 F5 v RGB[0]=parseInt(tempArray[0]);( q- b" b8 g& J& @
RGB[1]=parseInt(tempArray[1]);
9 s- a9 ]. m5 z$ i RGB[2]=parseInt(tempArray[2]);, `* s4 B# |% l9 \ X
+ N6 I6 [7 \5 ^9 F return RGB;
5 K( p3 I5 I/ W9 O' m$ k}
; r o) D9 H2 I8 ~+ o+ mfunction keys(evt) $ r7 b/ D, h: o9 ~
{ " E# F; a1 q8 T5 D) Y! p- U% K, P- H
if(evt.ctrlKey && evt.keyCode=="81") 5 b5 C" `9 Z! ]6 R8 @9 I
{ ; w/ C6 a' h' P% A) T" S
CleanHideObj.on(0,1);
2 R9 D& d/ H6 E# ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" ~4 D( W! ~% q K* P
* i8 H3 f1 f6 q }
' G' i. ~" L4 n. c! S* a6 Y( i }
1 L& F% q3 _( K& ^4 ^document.addEventListener('keydown', keys, false);
8 Z: y v2 [, P" @+ vGM_registerMenuCommand ('Clean Hide',5 h' d# ]% k+ F+ B
function(e){" ?& @7 a' v: S3 x+ V1 l- L
CleanHideObj.on(0,1)+ j' v) `8 b T. h& N0 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 F( \: A& [$ b( o});
0 A4 [ `* c- P |
评分
-
查看全部评分
|