|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; p" M; g1 {; J$ K& f4 }
4 g: l1 J6 h1 X" R/ B
火狐插件,用猴子
" C# }( h& Y: ~: u
& b- Q2 a2 h g$ u- Y+ ^9 Wvar debug=false;
" D) O6 t6 Z/ J2 N# q4 ovar CleanHideObj=new CleanHideClass();, h6 A+ O, c) Q+ W7 y* j
: A2 ^% P) `2 s' T8 I/ x
function CleanHideClass()
0 x! Q1 m$ a# v- K* E% H8 S{
6 ]# E3 E6 Y& C1 a& D8 M
: Q! k: T7 ?$ ?' y this.on=function(id,bMZ)6 K5 L2 W* l# V1 p: r" h* U
{
' j g! E8 v0 d' H2 v9 R" D% Z4 r+ ^: e ) i/ K* [" v1 k+ S, |4 q
if(id == 0)
" P$ o0 ~' N9 J9 X {* D7 r1 w z/ Y/ R
var page=/* document.getElementById("content").contentDocument */document;
" c2 x& f! ]3 R! ~& } this.RemoveHide(page,"span");
/ @' N% I$ F6 p this.RemoveHide(page,"font");
% M* c4 J; V1 w3 u0 @1 A this.RemoveHide(page,"div");
6 i/ A: x/ Q6 J this.RemoveHide(page,"p");
7 q7 h) Y( L* D o N! r& |" j 7 b0 o% X( D3 U4 Z" X
}! Y# f8 {* `0 b2 u" \
% s: t& g' K* N7 E9 c) }/ t }' u* W9 C6 Y6 h0 R1 w
this.getobjstyle=function(node,prop)
; _7 ^' t/ c$ K/ @6 r: p, V$ U1 K0 i {9 [8 X h ?5 A: w# N
try
8 @/ E* H7 U" i3 P( B+ c1 Y& ~7 D {, {1 G% O- i2 j; C7 z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. B; G7 {6 E( i. k: c2 w8 \
}
- n, L' C' ]9 E' P5 n6 X catch(e)
+ R* p( X3 u/ }) O {
5 U) {4 i+ y5 r8 h if(debug)
' m \, |/ l6 c( B T4 l {
1 I1 o! b/ f* J- J" p- _8 n: Y alert(e.message);8 s# P9 I+ {; g) J
}
, t3 F( U1 E ?; p$ S1 a
( W8 a K" [5 m return "200";
, A5 t! F& ~8 b* J' N }
$ @& L/ \( V4 X ^% n- ]+ n- E. g }
: P4 P" `$ t. X% h: G% L
M/ Y }, p( \& o' r this.RemoveHide=function(page,objname)
9 _' `* Z. ?2 k( ]- H {& B0 s! l7 K& g9 A. x/ }
try p4 o4 [4 E8 Y: i
{: c: i' Z% s" W
var minValue=15;( C! H, t# _+ s& h9 O, @% D. v7 [. G3 f
var objs=page.getElementsByTagName(objname); : Q8 m$ S8 E, \* R( N; f) }
6 h) ~" m Q+ |( U( ]3 y7 `" C if(objs.length == 0) 7 |9 S6 r+ L& A, p
{
+ _3 r* F7 @3 q+ x, k9 R if(debug)
, v/ d6 t% @3 t& z1 ~3 \# g0 d {
6 p# p" S! z+ V8 c6 m alert("no object found!:"+objname);' H% \" O$ S0 t7 ]$ Y; h$ f
}2 y# H ?' B$ z ?4 R5 A1 S( p
}
8 o7 W' |1 v0 l else' m2 A) A5 C: R+ H+ B3 Z+ a
{
+ H- Z1 L; J* H; f: @6 q# y2 ? . p, X; u4 k* J7 [1 L
for(var i=objs.length-1;i>=0;i--) 2 F" R0 ^( W3 B+ u
{
* X1 g5 O1 b5 o* Q# c var node=objs.item(i); 1 I$ I) r* r. {+ c4 {
1 D- ^! [. O' Z1 E- H! m
f( ?+ u4 B/ d4 m Z- }2 ] if(this.getobjstyle(node,"display") == "none" ||
* t0 n6 f" w. b( l! w this.getobjstyle(node,"visibility") =="hidden" ||1 O# W1 m2 k" ]; P( P5 b
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 ]6 W9 y# f* C! f9 Z) p
{
; M, \! A" M! n2 p if(debug)& u* a3 d' O% O. F5 H* M
{
0 u) Q( f/ x# g' ^9 J* G alert("remove invisiable!");6 g4 R5 c! G! n
}. Z) K) C& |: D4 ^" c8 D
node.parentNode.removeChild(node);5 u( y: }, c& T9 t u' i
3 O3 {* {0 q; U
}$ T3 H% t4 |! v$ b9 ]* m8 q
else 6 @$ u3 y) s! r. x* e" J6 k3 e, f. D
{
; w: {& f/ H& ~* U% k4 ]2 ?4 g0 N if(node.parentNode)
/ x) S1 |/ v+ z {
3 a; i4 P' A; \$ y1 O9 q var orgNode=node;
0 E/ l* N/ f& W var orgColor=this.getobjstyle(orgNode,"color")
) P& d2 W7 Y; L1 s! ?9 @ h var orgRGB=getRGB(orgColor);
- R# R. y% [( Z! a! }7 r- g
}7 I! N6 j% m5 k var parentNode=node.parentNode
& y) r- C2 C8 P' P var parentBgColor=this.getobjstyle(parentNode,"background-color");9 c3 g+ V9 c% U0 c9 y* _ i
, o7 ?! Q/ E$ s$ z# p% v& Y7 @# Z var isLast=false;3 T8 `6 ~# q$ x( t3 m* C
5 B7 w" P/ g5 S' y& b* ~6 u
while(parentBgColor == "transparent") . U: v- I' p: R5 n n; m+ h
{, z8 |+ Y, [1 |- a/ y% h
$ [. R3 {) t, K& k2 g , K7 l* z5 ?; q m }( |) c
if(parentNode.parentNode == null)+ i1 y. H4 a( a# V
{4 t( y, v7 R* m1 ]6 V; W' x
isLast=true;! p: V7 b4 H0 I6 m; R
break;
8 P: Y( a* |' k' ^9 P- \ }3 K% B( V& ~1 F, h( u
parentNode=parentNode.parentNode;0 K# R1 D3 f8 y6 i) W
parentBgColor=this.getobjstyle(parentNode,"background-color");
, e! ^% t6 \; R. [# g2 P4 N$ D5 {; \+ z* ^
if(parentBgColor != "transparent")
9 N) Y! n% j. g {& {- H: }- M4 x3 }: T: n
break;7 Q. g7 i: t2 g" Y* |
}
" w$ N u9 a% o) v }- R& m+ n5 ]1 I! R5 S4 P R3 G
if(isLast) + L9 A4 T% f1 d" _$ p( X) b/ _
{3 U0 q& P, f1 ?9 j, c E* |' q6 p
if(debug)
' ]* j( x8 j! |* z, q {- o) B* a! p$ F7 E5 `6 O- c: Y. O7 j$ d
alert("last!!");
0 I* F3 b7 m$ n3 ^6 J }
/ _% Q9 O/ k. Y" ^7 m. z" I4 E( P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, z G. K& r) {7 W {
7 m8 t, C( w* H) `* r; _ orgNode.parentNode.removeChild(orgNode); 0 B0 g$ y) C3 [7 `1 Q# k/ K& j
}- t8 p, H) P( N
}9 w" T: J# v( _9 f# v( W0 j
else
5 J4 o: I* J: {8 T' h {
* L( R; l) r3 R3 T. J j w if(debug)( {2 G4 Z9 r7 r
{1 h( T; @4 L9 T7 Q( L. s# Y! i
alert("compare color and parent bgcolor!");
9 F0 G' I- k! u% J }6 ?) k" M! [9 B4 g
parentBgRGB=getRGB(parentBgColor);
* }5 X9 Q( h( o9 d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ g. T9 t+ ]* S
{% w; f# k9 D$ ]( e# v
orgNode.parentNode.removeChild(orgNode); ( M4 d. b$ c$ v8 Y3 Q2 S! P
}8 E# h1 {" p+ A0 S2 v8 o' `
}# f" ^9 _$ L2 z
}, O5 U" a1 r5 t8 j/ I
}0 D; V1 v1 B T9 U/ x
}
9 Z/ Q# I0 f- x6 h) c" J# O }9 n1 r" u* i" f
0 Q4 u, V) ~4 K( a3 V2 t
) I; V g9 {5 R- T var itemFrames = page.getElementsByTagName("frame");) v. I* H U$ E4 _1 Q
var itemiFrames = page.getElementsByTagName("iframe");
; U+ P3 s1 ~1 ]! u* p% F3 B , R" U8 E' B; {4 D2 _- B ^
var frame, iframe;* X( s R7 v( J' G0 V3 [: b: D
if (itemFrames.length > 0)5 E2 T- C; w1 }! G# o8 J2 {; Q& B- ?
{
* r+ I, u$ j3 o: ~8 V$ Z for (var i = 0 ; i< itemFrames.length ; i++)
' {7 y" d$ w0 ~$ Y" X) r {% o. Y! T4 q* U- @; Y
frame = itemFrames.contentDocument;
! I/ n Z6 \, }9 C6 j# B2 A# z this.RemoveHide(frame,objname); ! j# V9 }! o. b6 J h
}
- s* A6 m- \, K7 ?) D }
6 B0 V4 w2 S5 o if (itemiFrames.length > 0)
6 J, a% v. c$ ?. G/ k0 n2 T7 m) P {: x1 i( C! r0 e
for (var i = 0 ; i < itemiFrames.length ; i++)
6 A2 r! `( t# C/ o) U3 A$ j {
3 q: _4 L' k; ?: e3 F iframe = itemiFrames.contentDocument;* U0 S- S( R J
this.RemoveHide(iframe,objname);
Y9 V4 Z) @" ~3 b }# f S' A5 S2 \3 d6 O0 ^) Z: b
}, n4 J+ }3 R4 z6 M! i5 O. q
}
- m8 _0 }% K) W2 C: s7 X2 D6 B catch(e)
' @8 c& m: i1 s. _1 g% W j {
1 ^1 L2 H# H' _7 B3 ~" j: @# X( W5 F if(debug)
1 T9 n. m* z4 d9 C& g {0 \" Q! D s* B/ R
alert(e.message);
% W+ C- X- {" b! m" m4 U }- F% T( ^) n* c, D$ I; G
}+ H3 Y$ n! m) P- n& ~: i
}
! J3 v8 j& Z8 A$ Z! J& K& p% y " f: _4 N& _4 u- n" e: {
} l6 [7 P$ F* ]: s% D5 Q
$ M$ |: d' A" y1 afunction getRGB(colorString)4 D8 \/ ]/ x: t& H: V: z; D
{
7 f- v0 Z+ T. v* |* G) ^+ N9 | var RGB = new Array;! a7 P# R2 ]2 \; |) M
var tempSting=colorString.substring(4,colorString.length-1);
/ @) i; B, |8 Z& r: X; G& ^1 o var tempArray=tempSting.split(",");/ v% E, P4 ^/ m ]
$ h7 \. p, ~+ R# W. a- Y8 ] RGB[0]=parseInt(tempArray[0]);
, R$ k; o- k# w RGB[1]=parseInt(tempArray[1]);
5 Y+ a0 a3 Q, E7 h% z$ D, L RGB[2]=parseInt(tempArray[2]);/ Q0 W) K+ @; b7 d2 Z# F
. N$ ?7 _# n/ k( Z* q return RGB;) l, t) ]9 b5 a' a! `% N
}
' y% f$ ~+ D) s5 t5 A9 [function keys(evt) % T0 D) P' P" r% u5 c! I7 ^
{
0 a2 D+ ~6 Y! f0 f9 y; R' W5 g if(evt.ctrlKey && evt.keyCode=="81") & R1 q0 D% ?$ v; R$ ]
{ $ c0 d: w* f9 u% W
CleanHideObj.on(0,1);
" @7 b8 n% d4 y& p! z0 G4 o- k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ~, [* R5 V5 D$ l7 V
' k; R4 {0 y% ~5 P S } " j. u% Z1 J+ Y5 A
}
$ [* Z3 j* B" U2 T ^( z* Jdocument.addEventListener('keydown', keys, false);
& c9 }5 E5 Z+ v0 vGM_registerMenuCommand ('Clean Hide',* j* C! l( h# N" V* R5 e; ^
function(e){( T' P, ]* K% y, D. X m6 N
CleanHideObj.on(0,1)6 L. ^9 x7 T" M l- Q. _8 k# z" @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: T8 P' u: ]6 U# ?4 ?( R+ A});
4 ~0 ~2 [& K5 B! F' \ |
评分
-
查看全部评分
|