|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, l. o* p; p- c: S3 F9 i; _
/ I5 x0 a9 n& y. Y8 F! {! a- \火狐插件,用猴子! G: y6 ]3 f) C2 ^
, T$ i6 Q5 p5 q
var debug=false; / p6 e; X5 d# w& a2 H. A2 x
var CleanHideObj=new CleanHideClass();
6 }9 Q; Q/ Y( o( j t! p+ P0 j8 A8 `. P+ t6 f( D
function CleanHideClass()
: u! z+ n9 J1 F* y6 w, a# [8 G{ / C8 D5 W2 n$ K1 c* \( a
0 U! p; g: ?5 M* `9 v# d
this.on=function(id,bMZ)6 Q. h6 }2 t; A& _7 H; U1 ?) a7 Y- M
{; i+ { S1 q8 u ?7 W( D5 B
& ~/ `4 h% N/ g( U, f2 `; r if(id == 0)
. f* q8 {: \0 y1 i2 o {
$ _+ J4 z4 E+ n5 e+ }7 u var page=/* document.getElementById("content").contentDocument */document;
. ]7 b1 ^ U5 K3 h5 h- e& X2 ?. i this.RemoveHide(page,"span");
2 R4 x. M9 U P this.RemoveHide(page,"font");
& T: v% q* R7 U- q% ?: w this.RemoveHide(page,"div");8 @ V. v$ P( H# a5 { ? {5 w1 w
this.RemoveHide(page,"p");
) n# t e$ r0 Z 6 Z/ d# a' R4 i1 n% O/ H
}/ I0 [% J5 P* |4 n9 p* A
- M5 x/ q9 w* P4 W0 F( m8 s }
3 ]5 K( i0 ?7 N+ d2 S this.getobjstyle=function(node,prop)
0 c: n( @* x. u+ E# Y# q2 z" Q {
$ U/ ~; Z5 n( \, ] try
, G- g1 H/ J. l) a6 Q. u {
" n; S S+ E" w& y' }* j0 ]7 ^ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 i" s7 q. R0 x+ t7 ~- d
}
) p% ^9 B8 @4 g( e catch(e)
, V4 P2 P4 U( g' E# l {
* J+ G% g @1 G1 d0 t4 T if(debug)
* j/ v2 V7 C% I# R" @ {, F2 I" E' w" }& D
alert(e.message);
5 |, S- p1 [7 Q" U2 _ }8 D; W3 {9 |1 S. g( ]3 W2 L
, {8 _+ j# Y& I1 r! m+ J
return "200";9 l& w; N6 ]/ n+ C2 V: f
}- o* e$ B+ b* z$ P5 c: G
}8 U! u# I j/ m* s' j p9 z
: P; a9 P4 [+ @
this.RemoveHide=function(page,objname)
; v+ s2 \2 A% K7 e; k# ]0 } {
4 b4 s) e/ X( _* V7 ? try
3 N) h7 A" R6 k {8 v9 X3 ] D; w' U' Y; o: C
var minValue=15;" i1 f1 I3 l/ R- {& z) O: ]
var objs=page.getElementsByTagName(objname); 4 e+ y. v$ _2 |% b& a7 m
4 i9 @& K* s9 m7 e+ n if(objs.length == 0)
( e4 Q0 b+ y7 Q) S9 U& x {( w/ y6 F( q I2 I
if(debug)
* [* l7 t" X% O1 Y2 T3 U5 P3 W {
3 G2 u9 \3 Q4 {* X& C alert("no object found!:"+objname);
2 g6 `- t) d5 X9 s- _ Y }% ~5 @( Q3 g( Y
}% N. g$ T9 ^' N0 T+ @7 I
else8 C/ r9 z8 I1 H( h% L% j
{5 Y9 P! X: Q! z7 ~ i
! ~7 R- b4 h9 q% L; X
for(var i=objs.length-1;i>=0;i--)
8 ?. H4 } y5 ~4 }: h {
) M3 @3 ~; ?; A' U; m8 |% a0 {! l8 l var node=objs.item(i); # m- J+ Y- P& p" J: N y
% k, v- h/ }/ P' X 4 c* Y, P2 c$ m# i# B8 N
if(this.getobjstyle(node,"display") == "none" ||
! `: L0 m- h- H0 ~, D" D this.getobjstyle(node,"visibility") =="hidden" ||
; n; S. K- i3 L, U# m2 _ parseInt(this.getobjstyle(node,"font-size")) == 0)
" C m7 L7 o8 C4 z+ V: r {2 H: g1 h# l+ a4 P6 N! `4 d
if(debug): Q0 j- c: u8 }$ s5 ?
{
+ x. K9 Z% l2 z% J7 R9 z alert("remove invisiable!");
; o4 W+ u4 M! R: T- l& n5 u }
& ^, V* I% [: w; h0 j" }, ]- G# W7 n node.parentNode.removeChild(node);9 L( Z% j* `2 I T) P+ H: z. P
# R# \! e1 D0 \: Y: C! u) {9 W
} x5 g4 @; V9 m, k* V7 w7 t' K; j
else # a& y3 S6 A" s# h, \6 c: x' o
{1 O6 _: X8 S/ O
if(node.parentNode) 8 w' e, M9 [; q! b! n
{
1 l; w8 U# Z; i2 c: h# N: o var orgNode=node;/ P' P2 B6 i5 i
var orgColor=this.getobjstyle(orgNode,"color")2 `2 f' A, n- e" Q4 ^
var orgRGB=getRGB(orgColor); % V. w9 W/ h: x/ [. A4 Q
, O7 O3 y: w, a1 N var parentNode=node.parentNode/ x: M- O& R! f$ v2 O
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 S6 T' n$ d/ h6 r* [; o
: [* J/ x7 u" q7 w4 P! ^+ H
var isLast=false;9 Q: g: }; P& N+ ]' F, ~
6 A8 `' v" i2 V: i/ y; E! z' J
while(parentBgColor == "transparent")
* b; k- D) A; b6 a; G7 |% q {0 y( H, R3 L4 l7 G/ c; `
3 E7 P6 j f2 n8 l; \ ! E( g. ^9 w4 p1 m" u) Z2 O
if(parentNode.parentNode == null)4 ^' W S' N2 _$ Q" c. Z5 h
{5 f4 P- M* s- n
isLast=true;+ E) u; T4 L# `1 K8 F' d9 E `
break;
2 S, Y9 b! J" H7 H- r }* O8 g% s* u* l5 d6 d. {
parentNode=parentNode.parentNode;' ?# b5 X3 m c7 @) `3 p4 g
parentBgColor=this.getobjstyle(parentNode,"background-color");
4 C2 Q9 [3 u( S9 N) [% c4 B/ U3 S* Y
! B& n! H9 x) r& i( H+ G if(parentBgColor != "transparent") : l ^, E' r) f5 M3 ]
{, B+ X3 F0 ]* ]. d
break;$ P! h% @7 S; U7 X
}
1 E1 G0 ~; V* ?5 L+ k }
, ^$ f h5 O9 W- V' {* `: R$ h& q if(isLast) * J) U x- q& z! X: B9 ?' O
{
, F- L4 s$ p1 g( w5 p if(debug)" j2 t/ y: g% x! X' b2 I! k, y
{
. r& _/ \' v, s+ z( n' L% a alert("last!!");' A' s) B% d9 R& a
}
; m; J% z7 r4 W) m9 m# g* Q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 l/ P0 n7 v* L7 p! I) y: F9 y {4 v- J S' Y* H. g0 i
orgNode.parentNode.removeChild(orgNode);
- j9 Z, X C8 O3 C; y9 V4 } }
' V5 a1 H0 ^& t }
) j( F. h8 ]7 ^ z6 i0 c. ^* { else( z& _: Y7 b( ?% g( G2 N
{: F+ n) |9 _4 ~: @% @) o; k7 d
if(debug)
+ g4 p2 ?1 ` o$ a' ^ {
' ^9 W, P1 y" t) F8 C alert("compare color and parent bgcolor!");: r% p( e" Z/ z; P6 `3 p/ X
}; v$ G5 C, V& Z7 V* H
parentBgRGB=getRGB(parentBgColor);
; O V9 U& c" k4 l2 P$ D( ^! A. ^& W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ T% ^9 t: `' t% O N
{
1 \! x8 j5 S# k! v2 l* V; a orgNode.parentNode.removeChild(orgNode); 6 F: _. t: x: j V; R; D% a2 z
}' b& x! D3 {" Y+ W W
}6 {1 I' M' z3 |8 W& n
}
7 t9 ]; |( u# C Q$ ^ }
( m/ Q- H6 d& Q4 ^ }4 c. g' i# w' v
} }4 N! \' L( z
2 ?! n7 K" ?5 P- ]
8 C8 M! v# g5 u- p% p var itemFrames = page.getElementsByTagName("frame");( X2 ^, @: J4 p2 @4 f( I2 @
var itemiFrames = page.getElementsByTagName("iframe");9 V7 Q4 o7 v8 N) q! B) L8 M
& H+ v7 H. o" @8 p var frame, iframe;
1 K& w7 O5 c( ] if (itemFrames.length > 0)5 L/ V6 g0 i6 T: A5 p) ^+ _
{) P) m- c( o2 T9 T+ t; ?& N& `
for (var i = 0 ; i< itemFrames.length ; i++) 7 @& J0 w8 z' _5 I
{
1 x# @$ s V8 y# H1 O frame = itemFrames.contentDocument;
# R3 C! } m, [; {3 K# P this.RemoveHide(frame,objname);
9 \$ M( U9 \1 R0 c3 }/ f: o }
" _7 u3 p F- N2 N0 i5 F# e* o5 d" c }
2 x2 X1 z, y5 e0 \% P/ p if (itemiFrames.length > 0) z/ _/ V$ k5 P+ z4 S5 ]
{: d" t) U0 T3 m0 O
for (var i = 0 ; i < itemiFrames.length ; i++) , E7 E, N, ]& ]# z6 ]
{
; k9 C; \) Y7 w! n1 @: M k: b } iframe = itemiFrames.contentDocument;
. [$ L; ]: c$ E this.RemoveHide(iframe,objname);
* o9 d, C ? Q; B# x" e }
: R, c7 ^9 V/ w) @9 \0 v' P }/ ~! L9 G& k& U+ O8 L, x
}
) E3 c$ [; a: P& ]" d3 O, W catch(e)5 x* T0 P: e0 G7 B+ v+ j; o3 v
{
; k M& ^ T; W' F& _- H& Y if(debug)
. N( w7 R6 J1 g {
6 B( z. U. M5 D* ] B5 M& ^; R alert(e.message);4 i4 f; ]! ~: T/ R0 H* |" X
}
) T) |" @; m3 A: s }
; B4 z. x7 g, n6 i- Z0 H }
* p m V8 R, \! J" P% F2 w. y/ n
+ t5 ?3 d G: _! j; }8 D}) G5 }9 P3 D: d5 z$ g, F4 g1 {- b
3 \0 Z/ l$ I" _
function getRGB(colorString)/ Q) `. e- R) _4 [# l- }
{
- S0 o# `$ {4 I, i- } var RGB = new Array;
E. D1 O& w% @) E var tempSting=colorString.substring(4,colorString.length-1);
9 n3 R; u- o/ Y) ^( Z7 b* s var tempArray=tempSting.split(",");
, B! U5 w6 p- m6 W
* P0 H" N& } F" P+ V) N5 I RGB[0]=parseInt(tempArray[0]);
% F. R# u4 N( b A, s7 o1 ~9 ]- y RGB[1]=parseInt(tempArray[1]); R- Y+ {* V3 W
RGB[2]=parseInt(tempArray[2]);
6 F# U; j* v2 i8 P
! e1 o: r$ s( A' _1 i; h7 G return RGB;
8 _2 U9 F6 T7 j" j1 `: f}
# q7 Q4 n/ }1 V5 R5 D# ?7 G- tfunction keys(evt)
, Y' \# w+ V4 P4 \8 r/ J { 7 \8 {" s- N0 @/ [
if(evt.ctrlKey && evt.keyCode=="81") ; q; @9 c$ E! t( U4 u) O$ R; e$ O
{ # Q! S F+ c' e
CleanHideObj.on(0,1);
$ _8 @4 V2 j: }$ k' s! p: x* t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- h) p$ R- V v5 } 0 Y/ B7 ^ ^6 ?+ g, M( o i7 p8 C
}
- T, Y7 S1 t/ K8 {6 \4 a }
) C: T" d, I' D" S, _document.addEventListener('keydown', keys, false);
( [" H6 [& b. hGM_registerMenuCommand ('Clean Hide',& F+ R5 f+ Y+ K' A& ?( u4 Y6 O( s& _
function(e){
: ?$ n8 V0 R8 F' b2 |# e2 ZCleanHideObj.on(0,1)
; Y @, _; Z( Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; V$ Q; d3 i6 r3 H# i
});
! t# {# D7 i. v) Y |
评分
-
查看全部评分
|