|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 d6 G- r6 a! b+ @3 a* ^/ T0 N- a9 h% o: V
火狐插件,用猴子
% `0 ?/ p, ?6 P) b6 h- q, R5 q! Q& _, R" |2 g- w5 \4 w
var debug=false;
. `# t$ n! n8 m9 l1 }- fvar CleanHideObj=new CleanHideClass();1 n$ K* f! b# p+ u1 A3 A" z$ s
Q! L. L6 F2 F( Nfunction CleanHideClass()
9 j7 @7 K8 H) Z+ j5 h{ ; o/ @7 {' ?2 ?' z
# D) W6 S5 s3 @" y' f2 I" w this.on=function(id,bMZ)
4 L2 V7 _+ a9 T! a2 C+ z+ H/ F {
2 C: D: v5 ~' y
# v% l4 e( ?. g' ~0 n4 V5 J if(id == 0)
1 D) b7 O* A3 y+ c {
- T1 s% E7 N% k% K! O var page=/* document.getElementById("content").contentDocument */document; 8 E6 W; o- T6 l# y. v& F3 Q0 A
this.RemoveHide(page,"span");
1 G; L3 j; `$ @/ Z/ p5 G6 F8 [: m, m( k, c this.RemoveHide(page,"font");
6 q% S! U U- g }. W# m! I, R! A this.RemoveHide(page,"div");1 R4 h7 Q$ L+ f/ h
this.RemoveHide(page,"p");8 {. W1 I# r$ c. p: a$ Q0 X: A
8 @# w* y% | X1 v0 a( L8 `
}
- o' T5 C6 c6 t
4 M# m! q$ m2 F( U$ C7 @ }
+ B' t3 U$ D; G this.getobjstyle=function(node,prop)) |0 | L; r( `
{, }& B; o; x# m+ G, F4 _! ~
try
7 C0 }" Q/ b1 d { y) E- i) n3 l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 i; k$ h3 u( ^% w0 ~ }
5 D9 o& N; ] Q; ?) y: T1 L6 y catch(e)7 c+ \$ ~/ b6 l j6 S6 h6 G: q. X
{
9 c/ T5 ?5 i3 a) q' d if(debug)" {7 W% J; [8 l7 P
{3 o% R9 q* M9 f* C' P; l6 ^
alert(e.message);) O9 T" i& z' V! D4 a3 B/ F
}
: {1 c- }. U1 U+ R" U
8 Y! w" S ~3 {7 K: m" Q7 f) m return "200";" v! R. y1 F+ Q2 G
}
4 y# I! J6 ?5 [: N& x: Z& u6 M }
7 i/ ? m$ V o" r
$ R2 F) w9 l" r! m this.RemoveHide=function(page,objname)5 J) D9 S9 b9 W0 L! p
{$ {! q" d' p4 u" f
try
@# o. g4 P+ e3 H- { {$ S- ]# l$ i- t: L0 g: I9 n% R
var minValue=15;
$ {# n i! _* y+ H2 m" M* p var objs=page.getElementsByTagName(objname); 7 m4 V+ y: j. B* P% h7 [7 k
4 A8 ?" T h3 r3 Z, p- U% k9 r if(objs.length == 0) ?% s0 [0 }( { O7 ~
{: }' v6 `6 I6 a+ ^( X) `2 o, x! S* X, Y
if(debug)
+ f7 l% z. m6 D* b7 p { Q% l8 u) N. Y3 s
alert("no object found!:"+objname);
8 i: ?: d6 P! F6 K }" ~+ ]& e8 t8 V9 q Q- E5 y
}
% V' e6 _- r% W* |5 s1 } else
$ u8 N* c, c( { {
" z6 O! q* z2 e0 }. V
5 [4 m8 i5 d* g- n for(var i=objs.length-1;i>=0;i--)
, y$ L h. z8 M# y# W {$ J6 ^8 V o$ i, a% _$ c1 M
var node=objs.item(i);
# |) I; ^5 d; K5 G4 W
% Q6 H! j+ s# q8 q) G2 V! x$ |7 f 7 z6 W3 X0 Y3 a# j3 m# t( D: Q* F& ?
if(this.getobjstyle(node,"display") == "none" ||. C* Q9 D9 M! C. Q+ A
this.getobjstyle(node,"visibility") =="hidden" ||
# n9 {0 y/ z2 Y' D; Y, g0 w2 E7 L parseInt(this.getobjstyle(node,"font-size")) == 0) 3 t$ z; W0 {: T" j+ N& X
{4 A7 ?$ Q U: g
if(debug)
% t. {- F* x) l {
7 ?/ z0 S# R$ q2 N! p( i2 z alert("remove invisiable!");
: ]+ |7 ~% P* I/ W0 D+ z }
+ K) w. L6 E+ Q) ?5 ]* w node.parentNode.removeChild(node);8 ?" J" o2 D) r
/ Q1 V6 j! D0 K% P3 {3 ?4 c9 C }4 b7 ]% V! q z* m3 |5 n
else 7 |2 t# w x0 X
{
5 w1 \. i7 @: {) `1 i if(node.parentNode)
8 r( B1 J0 S8 Y" F# s$ ]. M2 p! _ {4 }* W1 g. W! {
var orgNode=node;
+ n) A& Y1 E0 k/ {8 H! U4 \ var orgColor=this.getobjstyle(orgNode,"color")3 o# r2 C. o, r/ h0 r
var orgRGB=getRGB(orgColor); 1 R9 d, E. n |2 G
. y% y# ^: h8 f2 A$ T var parentNode=node.parentNode
. l1 }3 ^5 c( r var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 @7 \% B; e% C9 \; z% o " |' G4 Z, i @8 g5 x1 j5 e' n1 U
var isLast=false;
" S$ J: q3 f5 o% ~7 G4 B- R1 }9 H . c2 G4 [8 Y5 i( s1 U
while(parentBgColor == "transparent") & B" L$ l! B1 b6 n
{
) Y0 x* l. a8 h
/ u( x+ R% Q+ j % F% W1 `. G" r4 P5 g; f: W. o* @
if(parentNode.parentNode == null). x0 l! l7 C8 U# ?# u1 K
{
8 I5 ~! x( q8 H) e isLast=true;/ V% ?" U# r* F( Z5 r
break;
2 l3 Q6 q5 |+ k0 V% m }
# ?. p; w9 C3 _' B parentNode=parentNode.parentNode;% A$ L4 ~. p. ]- Q) M; K
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ [9 J7 j' i& D3 d, p" c2 k3 J$ U5 m- U% C
if(parentBgColor != "transparent") 4 | O; ~ A: [8 X# Y
{. Y0 V; J9 r. C g9 i
break;
/ t2 |6 l' [8 i }6 l r% A$ l {2 [
}& }9 m: u0 J1 i/ f6 I
if(isLast) & m7 P5 }. @4 h! | c1 F- j
{4 j: d8 r& r& S/ W
if(debug)# r! k5 N) y" F3 R
{
+ c0 r- K5 \6 Q- ?0 x5 Q alert("last!!");& `% y) i$ Y3 O
}
) k& |3 \# L% k' ~$ P8 P4 C if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 D. K' q, y y. N {' J8 P8 Q2 {/ H7 c
orgNode.parentNode.removeChild(orgNode); 9 ]7 O, w+ y; ?. }
}/ E+ w) B! O/ ]+ H$ m* {$ O
}
; y# u* Y5 A3 M9 ?7 G8 [ else& B a+ W- Y$ I1 }6 r; E4 N3 M# C
{
7 p6 B: c4 ?9 h if(debug)& U" [" L( N' h2 p/ T& M2 z+ w* k$ H
{
$ z W; o/ e! ] alert("compare color and parent bgcolor!");
0 Q7 j# }* d# R/ \* { D' p6 C }
0 V/ i1 {1 g% x+ [% w! h7 I parentBgRGB=getRGB(parentBgColor);
( X" B7 v l4 f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& G7 d# g! j; p* Y2 K) J7 m
{
& m M9 p' w. P* E5 x* A1 f orgNode.parentNode.removeChild(orgNode); & y W6 M& ?& C$ V% `# l6 P3 N
}
+ ?- i* A2 W# y& }+ G5 p }* u \0 r3 U" y* d G9 n
}9 x: Y6 Q4 ]# S" v1 v
}
0 L8 q' X* E. b; C. i9 h# j8 _% ]+ \ }
8 }/ M+ n/ n/ ~& C& | }) G8 y9 W( C! }
2 T3 C# \' r; }! m
7 a& Y4 T" N. J E4 R7 a3 F H3 |/ u var itemFrames = page.getElementsByTagName("frame");
% t2 I" l }* x* g; Q1 x Z+ J var itemiFrames = page.getElementsByTagName("iframe");) @5 ~" n) z1 r- v v; F. y( H6 M2 Q
5 u3 K$ C4 e" y: E- u1 |
var frame, iframe;
$ C( A0 t: V; h- ~0 Z if (itemFrames.length > 0)
: g, z) C& \1 U( x- W! K3 Q {
$ j$ |* |2 l" y1 ~0 } for (var i = 0 ; i< itemFrames.length ; i++) " I1 p2 @0 ?2 ~, m
{
8 @: L# R' f0 C+ c7 R frame = itemFrames.contentDocument;
' V% Y, q) v; R3 s this.RemoveHide(frame,objname); 4 `* q8 f4 t) A
}
# M1 Q* F2 ^/ B }$ Z5 p( e3 g+ J5 E9 h7 G
if (itemiFrames.length > 0)- U/ f0 q( M- X* c
{/ h* v/ f+ F% W8 T+ W% j+ K4 z
for (var i = 0 ; i < itemiFrames.length ; i++) ) b f2 }' C; v% ]
{8 T7 v8 Q6 c$ |+ [# ^
iframe = itemiFrames.contentDocument;
/ E4 Z4 s" U6 N, M7 S* h2 i6 e o, E& q this.RemoveHide(iframe,objname); ) v6 E3 ^6 Z4 _+ b& i2 G0 [
}# u7 Q0 h. R$ L$ `
}
, d: c0 `5 p6 w3 J' f5 S }
) B6 }: f5 n: x% V7 ~ catch(e)& _& z/ z! O9 n. l4 c% O
{
1 }) n4 J$ ?( _3 Z, } j% a" }, } if(debug)6 l9 w/ i5 ]( R$ d2 \! Z% d# n4 t- B
{# d$ \7 T+ T! j5 k# X
alert(e.message);3 e2 b# q4 F# b1 q
}
$ P3 R) M$ B3 c4 H }$ w% u9 \. Y2 u9 K1 [
}8 p! t! u, N5 o- ~2 r" P7 I
" v8 J* J3 S/ d( X8 y
}+ V) W6 I6 `* l! p L. C
1 [$ f: r: s. H5 ?function getRGB(colorString)
( d( z: B8 `$ `& G9 G) |+ ~{
1 F* t/ y( W! e/ y8 \/ W. Z$ i U: T var RGB = new Array;% Q$ A4 l: l" ~- _ q ^
var tempSting=colorString.substring(4,colorString.length-1);; d* ~& i$ }3 U# U- P4 F
var tempArray=tempSting.split(",");% l8 z8 s$ y: ]9 x% s
% h, a- B' E8 q6 Z. h RGB[0]=parseInt(tempArray[0]);
' H4 F* f$ V" T) `- u# [ RGB[1]=parseInt(tempArray[1]);
& h+ ?% F( |1 c RGB[2]=parseInt(tempArray[2]);
1 E5 }2 Q: M5 Q9 a; ` 4 w) J) ^; _9 M6 X( ?' B( w- j
return RGB;/ E; R2 ?9 V+ \6 ~% b
}
1 l; H( \* [8 ?2 K; bfunction keys(evt)
; }$ \8 u% O1 w' D! e. ~ {
% z4 v! M0 Q% e' R# S if(evt.ctrlKey && evt.keyCode=="81") # L. _9 ~$ k& a5 y" k5 _1 Y5 y( L
{ . d1 Q4 y% L- g {: j
CleanHideObj.on(0,1);
' O0 |7 d' @$ k) m( }# V9 H! o alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 i0 N% m0 ~. L % ]% D6 p* L* D
}
! e( X3 k! M7 H4 `2 v! t: W } 1 Q% P. ^$ ^& P
document.addEventListener('keydown', keys, false);
: [8 @. A/ D5 [9 fGM_registerMenuCommand ('Clean Hide',
# ~, U. I1 [' |: L a4 }function(e){
j: C4 @$ a+ u) D6 aCleanHideObj.on(0,1)
: [6 W6 m- i) o/ p aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, E, a3 i7 G' A* D: b! D});; ]( o& v6 V8 M3 r- o1 T' `
|
评分
-
查看全部评分
|