|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ P8 z9 F0 r9 t) c3 _3 v0 g( I% ^
火狐插件,用猴子: ?& I' A4 m6 z
! ~! u) l1 S( J5 f! C- ?" M2 ]var debug=false; % j$ Z% z; q" e5 D6 q/ H3 E
var CleanHideObj=new CleanHideClass();
/ M/ u, k) T: O5 A! r
5 E% L$ O6 q |/ }, `3 c5 I1 }function CleanHideClass() ! `# V$ s7 f' w; n; N! n$ N7 O
{ , `0 F/ }" X& @8 ~0 b1 v# E
. z/ J; ^6 i( y this.on=function(id,bMZ)
" e* g; V0 K4 T. `! s$ g) L) ` {
2 o6 D$ g- y5 Q! J
0 B( n+ v7 l ?9 p if(id == 0)- U% q' k( O: n/ I& V
{- }2 I3 O: c6 a- j
var page=/* document.getElementById("content").contentDocument */document; - U5 g- ^- t) y& C8 p! Q W
this.RemoveHide(page,"span");
% m! J6 ]0 U7 { this.RemoveHide(page,"font");* X# g. J$ l+ A/ `9 t
this.RemoveHide(page,"div");+ T. ?+ b$ p. [' V; }
this.RemoveHide(page,"p");
4 G9 U1 [& U9 v+ E
1 K3 y# G8 A& N }
9 U& w9 F7 K4 S7 H& r 7 G: j( c' Y8 t9 p& s$ n* f, G
}5 v Z- w q+ m3 h$ {# k
this.getobjstyle=function(node,prop): M) a* a" I a1 ^
{
" o" H3 B4 {* _0 b7 a& z% \" f try
) N. @% `! @! {' z9 c {
5 @0 J2 l& L# O! ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); A, ^, c; g o0 X' \8 S: j& T) O
}$ A& h5 L; P$ ]( E* t
catch(e)2 _7 `4 z+ f) \5 B* f, h2 l
{
! K$ _2 B. M+ h# C& ]0 e3 [/ J if(debug)
3 I4 y1 c5 Y1 a {
2 x3 r. f5 V' X0 B0 p# s alert(e.message);6 A8 j" i4 x: o+ y% F. m
}' b/ n1 L5 U$ ~' o: G
" t9 y- b6 {, x! d6 w$ M return "200";! |4 z" t- g5 r' @6 x3 n9 p. S
}
- z! ]/ D5 z8 L# a6 d }
- b1 q( P1 ?" ?. t: ^/ W3 g/ p9 Z 8 A% \. u' W Y1 p$ i7 d. M2 s4 E
this.RemoveHide=function(page,objname)% o( o: B: _4 }
{9 ^4 {! N; @, Y' S( s. ?
try
, {, P! L4 t( Z; ]' j {6 G/ K0 o8 r1 l) d- w
var minValue=15;0 _% O& q y q0 O
var objs=page.getElementsByTagName(objname);
: u1 Q; [$ c) G
9 ]3 [( p. h9 H0 H, t if(objs.length == 0) + j% E: Z2 z) G3 C- V9 d6 Z
{
! v3 G/ Z( G: u9 \; A if(debug)
) ^& S8 i5 W- d# Y& C& l {3 L! g( _0 k, w# W* k
alert("no object found!:"+objname);$ Z) Z- `/ F( q+ P( H" J ]$ f
}' O; Q. F' S# q! a
}
, n! U1 H+ N# c1 _( u3 I6 ^3 P& M else
6 a" C" } F2 h; Q4 O {
" n3 W' u8 E6 Y* Q9 S % L- t& e L7 \/ {6 g
for(var i=objs.length-1;i>=0;i--) * E: _) s. H$ u! O) W) O
{* u2 Z& O" A* N3 ]% E) e" V) i1 W
var node=objs.item(i); 0 V* M3 p7 j! j: k
, J: V4 N3 s# D( Z1 h( Q- R
. ?0 O1 \- N4 i" e! P if(this.getobjstyle(node,"display") == "none" ||
# y! v+ D) R3 U+ G9 r$ R1 ?8 x3 Z t this.getobjstyle(node,"visibility") =="hidden" ||
* \0 G% I- B; V parseInt(this.getobjstyle(node,"font-size")) == 0)
* p. N u6 G5 V( Y0 K' B+ _2 m6 `; `* ~ {
/ F) K$ B) s( ], i8 c9 J' p) t if(debug)
; h0 l, y5 G/ w% @& P2 z4 V {
/ R- P; a& q" x2 h alert("remove invisiable!");
( d* n4 K/ @' q }6 I7 w% ?$ J% \' P: D/ i) O
node.parentNode.removeChild(node);
' k% d# O5 j! ?% q) L% b" d' C
! e+ p, j* P- y }
1 ?: P3 [) l8 v$ `" C, X$ ~ p else
; |0 t5 q2 E- @6 u* e# [7 g {
+ g& p h! L6 I4 k V& P, a if(node.parentNode) 7 U L2 b+ S( L$ ^8 f" G' l4 }
{! L: o/ p8 Y" \9 U' b9 T2 Y
var orgNode=node;
0 Y7 d0 n: A, C Z var orgColor=this.getobjstyle(orgNode,"color")
* W* t! e# a' F& a var orgRGB=getRGB(orgColor); - N4 T+ G6 G6 n
- z }; N, l3 [( T
var parentNode=node.parentNode4 E9 e% Q2 h' f! R
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 \* U M, S( B- _# j
9 q6 M3 Z# |, \# F5 R var isLast=false;+ U5 V0 \+ G8 G8 x! u0 d2 W3 I( |
7 m5 b2 Z' w; j0 B( Z7 L while(parentBgColor == "transparent") : h0 q5 Q, ] B/ ^% J6 Y: R
{4 f8 S+ X- d) f, ^
7 O4 B! {2 l4 |, Z2 ]$ y + j* Y: Y- {; V3 B: H' S
if(parentNode.parentNode == null)
6 q! r" Y/ f- L3 b. D3 _% q {' ~6 Y! R) ~+ Y/ W
isLast=true;
8 N! J7 B+ t. W" y- O break;
6 D- v9 w+ y" D' |6 J4 O9 c4 Y }
! f7 F* s( e' t$ |, O( r parentNode=parentNode.parentNode;
2 f m8 r: ?4 Q, x& @" a parentBgColor=this.getobjstyle(parentNode,"background-color");
7 }- d O) u6 y3 q( R6 X
4 _( U3 S% Q$ B3 a/ _5 l7 ` if(parentBgColor != "transparent") ; f+ m* d8 M1 @
{
5 V2 X: S( z v$ O break;( ]# p9 s1 O; Z% S
}- b3 R! R4 g8 a# P
}
( e k+ {6 H4 F ~) Z if(isLast)
3 }8 Z- V. u: Y" r {% z L! ^; W) ~; m2 E* n
if(debug)- T) ~/ ~$ K9 i* B# {( ~
{
5 e6 ~; E; u4 h alert("last!!");
! {5 ?+ y7 Y& ?! _& Q }
# l# Q! d3 v/ x2 T- B2 J/ w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) w }" K5 i/ ]( Q
{, M: o/ ?. {1 r2 u
orgNode.parentNode.removeChild(orgNode);
) v' Y) E J2 ?# K4 u: j }8 V" E- |. [3 M& I4 k! E
}2 s" j e k0 Q* H3 h3 j" W
else
- P! Z7 s0 K- A T) y- ] {
3 I4 V3 W( \: ^" t3 s4 x if(debug)1 N$ F+ T* _! R& C5 S
{
, T# u K$ f# f4 y1 I8 g/ W alert("compare color and parent bgcolor!");& m3 `' s3 u7 t, O$ E, P
}
1 ^" e1 m& U/ @- d parentBgRGB=getRGB(parentBgColor);2 V& w2 L4 h$ |" I5 U6 H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% ]: [; U$ ^/ W& h4 ^' w4 ]( g {6 A* e; Y! _. J4 y
orgNode.parentNode.removeChild(orgNode); , {& H' J3 ]7 Z4 s
}/ S1 }0 p3 ?& F: k! q
}' p4 a5 _9 @+ ~& b O
}% D! \' A5 w8 U2 C2 }, M
}$ c% a3 _2 {; _% O
}
! N; @% ?- \! s D. f5 L5 B1 B }
: S) }( O6 j- i" U) l8 I2 D8 i
, J& t' ?4 S- f8 N - c, B8 M& R M1 v+ Q
var itemFrames = page.getElementsByTagName("frame");5 J' B- `7 G% \
var itemiFrames = page.getElementsByTagName("iframe");* _/ h* Q5 C! D+ q
8 E& G. _4 g2 W5 ~6 p# m% G; Q* M1 z0 `/ x
var frame, iframe;& ~8 k- C. D/ k1 D' b+ ]* K* j# h
if (itemFrames.length > 0)
7 o5 m" p8 z# Q7 i$ ?* Z {2 j0 U- |$ t6 }0 ~1 W# _% g6 L# l
for (var i = 0 ; i< itemFrames.length ; i++) " U) i k( R- T' | @- @
{
/ G6 H5 O( v! |( V w0 E frame = itemFrames.contentDocument;- i; a" K/ S0 m' _1 O# l+ F3 S! c
this.RemoveHide(frame,objname); # ]/ x M% z& v: V; A: V0 U# P
}& ^& N3 u; b( p! t) v. R4 ]$ L
}
) y+ E# A1 G0 l if (itemiFrames.length > 0)
+ p' y. x% o" O9 Q: L0 r/ \ {
6 m5 @6 r5 m5 l+ m' Z; [ for (var i = 0 ; i < itemiFrames.length ; i++) . e: @5 V1 L V2 z2 o
{
$ {+ n. r, |+ v; C4 z+ n, D0 s2 Q iframe = itemiFrames.contentDocument;
. F3 s9 G* j% I! E( X$ ?# A: w this.RemoveHide(iframe,objname); 5 I- U" r. \$ T: N+ L
}! c. d- L9 Y/ O/ G) J4 q
}, I: ~8 |* I+ L$ K2 J5 D- _
}+ A2 @ H' i) S; F- c4 E: j
catch(e)
) y2 y" Y% ^& f' | {$ `* r; B0 v: s; u
if(debug)
5 |' z& q* n& R/ f! b. j/ J) Z# \ {
; t! j: o6 t! U# [: Z" B alert(e.message);
3 w! b8 [+ _0 m% p }
4 a* T X% h$ ^% ]- D0 {, Y6 l" n }- r0 o" j- G3 o: }8 H
}
- t$ m3 i! |; O ( F, Z' \* g- W( x9 G
}
; f9 F: i9 t, f1 N* [7 q4 Z+ S9 O- F9 M5 }7 V" |' S8 `% r/ j( W
function getRGB(colorString)$ g3 p( `% G, n3 X0 m
{5 s; ]$ P( ]. D% y+ h
var RGB = new Array;
( q) m( h( ?3 w0 c3 t9 A4 m) v; U var tempSting=colorString.substring(4,colorString.length-1);
9 I l, ^- I& j; p. B6 R2 _* c5 X var tempArray=tempSting.split(",");) E" [$ \- S3 D% \7 P+ x* g/ L
" L" I, C7 o+ z/ } RGB[0]=parseInt(tempArray[0]);, h+ q! H( |* Q9 L5 h4 t# P( `
RGB[1]=parseInt(tempArray[1]); p& [( I- h1 D! I1 @) U
RGB[2]=parseInt(tempArray[2]);
; `# |) h9 |: y7 ~* B 4 _, b3 n4 s8 Y3 Q
return RGB;
3 ?0 u @8 r' o5 ^}! `" _! Q, [7 b$ V: L2 t4 J- W
function keys(evt) ' d/ I; C$ G6 X9 b0 I9 H
{ ; w$ A- ~$ U# C, @! `- D0 w) g e# p
if(evt.ctrlKey && evt.keyCode=="81")
$ k! m; l0 ~3 u- n# a7 v3 M) B/ K {
4 G. Z3 J7 j( l; e0 J2 S CleanHideObj.on(0,1); F7 E* H& w8 o' a. I; i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' u+ t8 I' z/ u
+ {5 Q9 l' u+ |) Z) f# L }
: d& v0 [6 L: G4 b+ r }
6 Q2 |2 i1 I) L) vdocument.addEventListener('keydown', keys, false);
. m# H0 o" Q' r4 {! w1 oGM_registerMenuCommand ('Clean Hide',' o; E2 I2 R& t- I) P5 D5 a
function(e){
( v$ X Z; w0 PCleanHideObj.on(0,1)/ ~- O0 ?: G- i# T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- Y4 m, H7 A' Z7 }) b! Y});- `% v1 j& w; g1 V9 F, V Q& d
|
评分
-
查看全部评分
|