|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ v1 t' @8 y" P R
9 n- k) s/ b; L J, U: l0 n1 C
火狐插件,用猴子
) M1 c( N: S% F: }; e$ _3 I, H- c4 a% ~! ^. @4 W/ p
var debug=false;
9 m5 X. h' i- x ]5 u0 i6 \var CleanHideObj=new CleanHideClass();
5 R1 a J a# Y4 i( [0 i: S0 T, `% T/ y& d. ]& [ ^. ~
function CleanHideClass()
7 Q( T" p7 f: w- _; f) I{
( c+ e9 N% j% `9 T; x& h) }& u . ?# z. m8 ^' ~3 v
this.on=function(id,bMZ)
; u0 D$ f. @9 n! [1 L! k I2 p {" ^5 h, O* d4 W7 F# x7 D$ {/ m
; V* |1 d' y+ ?! ^( l7 H; t$ u
if(id == 0)
% W: b; c, v. s1 [2 q3 x4 H0 x* O {+ T$ m) C4 n3 x l3 o% n
var page=/* document.getElementById("content").contentDocument */document; 9 P% B5 P3 }6 j5 M
this.RemoveHide(page,"span");" v) D- w) _# h7 N. h- j
this.RemoveHide(page,"font");% {1 N. Y/ q& m8 `4 R
this.RemoveHide(page,"div");& b8 z1 ~- h: L
this.RemoveHide(page,"p");5 a/ d' l" [. J0 D, U- ?$ K( t3 P+ ]$ |
! S* q: K9 B' c- u7 {5 ~* k9 I
}
% |+ U0 i2 M( D1 V3 ~ ' w0 N: R7 U! a/ N- V3 R$ N6 t
}' @/ n/ y# _6 g; n+ u+ p
this.getobjstyle=function(node,prop)
6 X1 @6 d9 g0 B/ d& R' p! e {
$ S" W8 P- J7 \3 I+ [ try
; s+ k3 _# q8 T: G {- l3 O: ~. Q7 l Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 G- f+ D# v7 r- `5 |
}: V" g' [* Q O7 l0 D0 v
catch(e)
% d0 L9 t7 s& U# U" d {5 W1 b2 }6 M* e
if(debug)5 J$ \: T+ W8 g% O
{: K {8 n/ I7 B/ T) E) i5 M
alert(e.message);
# X7 w; M5 {( g: C! i5 f }
) G" b7 a. g/ s& M3 s
/ G$ Z8 W3 ?% O) c& t* [( ~ return "200";
' s) D4 n' X& n5 Q2 G$ [5 O$ b }
+ [6 j, a4 d( }: D {" {9 J } }
; x7 `5 U' b# s9 d } / c* m4 x, {1 M3 ~7 w8 K: j
this.RemoveHide=function(page,objname). |! \8 p& Y% j* d" U* q. H2 T
{
$ D4 B% m( h' U2 [: s6 [# r- _ try. `% t9 `7 W* h u4 g" s8 r* a
{9 j1 u; P: o* q
var minValue=15;
4 H, R' ~8 W- z F0 h8 a; c% i7 j var objs=page.getElementsByTagName(objname); s; i1 Z$ [- o' |+ J& N B
5 I( B, h T! h
if(objs.length == 0) # l) X" G& @" Y: I
{( p& x$ W( t$ R2 B: K1 J) j" E
if(debug)/ U+ D% M) _# H
{: k0 {" o0 g( v. C
alert("no object found!:"+objname);$ {' a }, H7 A, M
}
0 a* ^9 w i f4 w! e }
^# k4 U/ }3 h! g! z1 D else
/ I$ p r" `9 G' v `, h9 |) X {' M! B8 V9 l0 e8 {, n' }0 T! i
3 @& ]! ?4 |7 u$ f! P$ j- k for(var i=objs.length-1;i>=0;i--)
( y- \, M0 m/ e# V. ~ {, H1 O4 I' O7 F3 Q- {2 d/ R N
var node=objs.item(i); . H0 |8 o3 k6 y' c: J
( a+ g3 a0 ~! B" t
# L& C' Q$ k7 A2 k+ ~
if(this.getobjstyle(node,"display") == "none" ||! k) ~$ z% m. m) d$ J! I
this.getobjstyle(node,"visibility") =="hidden" ||6 T1 T* E( N# |
parseInt(this.getobjstyle(node,"font-size")) == 0)
- Z9 O1 T4 j9 f {
5 G$ n5 }( M, I if(debug)
1 B. P0 r/ F) e) o* l% f {3 }' N" @( w, Q7 G# s6 G
alert("remove invisiable!");
1 u) H9 m8 G/ v! h1 Q+ P+ L }
p9 w- B5 ~, U$ n node.parentNode.removeChild(node);
7 {- Q& n2 X4 ]
% d/ d9 V* l2 Y) @( u }
( Y8 h/ \2 }5 M4 x; o- ^ else
# e, L2 m& k, D4 P1 `% U1 e& G; K$ o {5 V" w2 y' Q: l, `* A
if(node.parentNode)
; v2 a# j, X/ U4 B+ @9 a& c6 { {+ b5 l2 a& J* L* I0 L! h# x# H, _
var orgNode=node;. x# H: |* E7 c3 U* l: w& f
var orgColor=this.getobjstyle(orgNode,"color")( F5 Y0 V# s$ P9 X" G5 X
var orgRGB=getRGB(orgColor); * y! r$ o8 V a2 @3 n! Z
/ U" F# d- l$ V& b# q6 F& j
var parentNode=node.parentNode
1 n0 H" P! t b8 w! i var parentBgColor=this.getobjstyle(parentNode,"background-color"); @; i6 k G2 s
" C% f+ T: m+ H7 p. @9 p( I' [
var isLast=false;
( E, K% I. |2 y; c) B! V
& @+ I6 L3 s& L% W; J- X' E while(parentBgColor == "transparent") ; x% J' g5 i1 ~% Z$ e
{( ^7 Y8 O. S' ~8 T5 L
5 R" l. x+ Y0 l$ k( j 3 X7 `6 o; `9 L1 `8 }, I% O
if(parentNode.parentNode == null)) F) f7 ?2 J4 X* z3 M
{
+ T* `% r; z* R, C' x' H isLast=true;# b/ `. V$ H1 v/ y/ g# w A# Y
break;" {" r2 z: M5 ~
}) s9 |+ g5 t# q5 _. X
parentNode=parentNode.parentNode;
, q% Y2 v7 @7 Y$ W& J. l parentBgColor=this.getobjstyle(parentNode,"background-color");/ b. D$ r! b: U; J- k
# y5 [% z% a/ _ if(parentBgColor != "transparent")
: l6 j n$ o8 o6 t" k% J$ z. C {: U8 B9 e; @# c8 T. r- D
break;
2 ?/ G; A7 K. Q0 ` }
! Q$ p9 h8 \) v+ S& k }
8 S! d; F7 w/ q) \' v if(isLast)
0 {: \& g8 K* S9 d& l {
8 z8 `& x d$ w if(debug)
! { ?$ `2 a* M1 O# f {, n `: ^+ B) n" g
alert("last!!");
: p; w3 @# z5 z! ` }
7 n3 n- o1 T9 E/ R* L. V, _, l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 n( F/ x/ h" g3 S1 H# z Y4 w {
' F5 [7 T3 O2 A ? A orgNode.parentNode.removeChild(orgNode);
& v$ o9 h* X' L% ^ }. u% B3 n# T, @
}9 S. h; D5 n- u( M- T) e- b. k7 f
else
. [' L }. e2 ?, V! P {
/ b0 C8 G6 O! N if(debug)& I( F3 T3 Q, _2 d- U6 E% a
{! v7 e. a. r" K; _0 b* H: Q: ~
alert("compare color and parent bgcolor!");
' W5 U8 J% |" X: g1 _ }
& b/ [' X2 ?' X" G; {- G X parentBgRGB=getRGB(parentBgColor);, ~' D1 i1 e# |9 u" b, n7 a# ^4 {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 r: O/ }/ G9 o2 x& i
{
' T% T3 t. k+ Q1 f orgNode.parentNode.removeChild(orgNode);
. r# o# z. l J' ?! u0 p" N }3 W4 Y: S, x/ f! n% a3 ]
}6 J$ q+ \4 Y2 r
}# H8 d7 d8 q9 O8 g# v
}
/ L6 P3 z* w! P% O" D' d. {' s }+ {& v8 q7 Y) I7 x e5 J0 H
}! y( X3 F6 p' P1 _: ?3 O+ {
6 J" A( n v# E1 G5 m
/ P' |$ z6 z; Q1 }2 C
var itemFrames = page.getElementsByTagName("frame");
6 X# ^( \5 s" I( a2 v var itemiFrames = page.getElementsByTagName("iframe");
* d! Q) {7 `! |6 E1 ]. Y+ e% _ # ^2 r; O' S0 V. r6 F
var frame, iframe;
: a0 F; V/ W6 z3 L if (itemFrames.length > 0)
4 u- K( v! g$ p6 I( g+ P. n8 S {
1 Z( ?. k5 r/ P6 O4 V5 h2 u for (var i = 0 ; i< itemFrames.length ; i++) - F) `, t/ p/ T# U" g
{
: K4 z) ` W0 h3 P/ J5 L frame = itemFrames.contentDocument;
/ J' Z6 N: I( r6 F7 q this.RemoveHide(frame,objname); $ `4 ]( S; [" B. X/ J
}
! y: Y3 @& Y, Z }
6 R! c9 `" K# H+ Q: i if (itemiFrames.length > 0)
4 q' F/ l6 [6 a7 I6 o" a9 i {0 n6 y; g( H6 D5 J
for (var i = 0 ; i < itemiFrames.length ; i++)
3 d% D% q9 j [& V3 u( d {
; F6 B; v/ @" ~3 m) r iframe = itemiFrames.contentDocument;* W& G1 M" c5 v5 Q! \
this.RemoveHide(iframe,objname);
- q/ D3 X& J4 ~3 L8 W: U! q }
; p2 f1 y9 }$ `; `. f9 m }
. B) ^ ~4 |6 t0 N6 d/ {: }3 } }# C8 E; O9 I1 h7 p
catch(e)
- Q. ?: B2 F9 y' M% e* a4 M: ] {
# Y* \- |& Z, Q8 g- p7 I: L- p if(debug)* s' d4 C3 c7 ]' _
{3 Q2 Z; P8 I0 |% i
alert(e.message);
$ B7 ~0 ?5 G; @: a+ M9 k1 B }( F# b! n- z* v8 A' l
}+ G& B) @. J0 b2 ~
}2 y8 ^' u: L0 g. b( A# m- Q
' p* k4 n6 W! O2 e6 w5 Y6 b
}- n7 k. g' Y! R% c) q% B
+ X/ Z4 R ^1 z# ~" g0 V# R
function getRGB(colorString)
/ u' t" W$ P) |3 V* q1 T, l5 t{
0 i( o. c3 \6 Q( l* [4 w var RGB = new Array;
6 E& V1 b' t% h! _6 k" A9 B+ W var tempSting=colorString.substring(4,colorString.length-1);9 k5 r( R t/ ]) z. |4 @3 ?1 ^& k
var tempArray=tempSting.split(",");# C# t2 e6 d T! R% h
) |: m4 T2 j4 a0 q! e X( J
RGB[0]=parseInt(tempArray[0]);! W. Z9 b R4 {' h; V M8 I' U% I' E
RGB[1]=parseInt(tempArray[1]);& Q* P4 s6 Q+ }
RGB[2]=parseInt(tempArray[2]);
?9 h" n% b6 h# q: f+ H. o
( i( a) a+ |3 k$ @6 k return RGB;
4 Q5 i& @! w& j, f* f}, G+ J' h2 E" z& r0 u7 F2 \5 ]
function keys(evt) 9 |1 ~/ ?! z/ t6 {9 X6 }
{ 8 Y' F3 o# p6 v) B/ k7 O
if(evt.ctrlKey && evt.keyCode=="81") - f8 ~2 u5 S+ T+ T2 A3 a$ y
{ - m! F# P) }5 a2 X* }& G5 Z7 @) t7 _
CleanHideObj.on(0,1);/ L# e. i! o5 `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / E/ n: H' O6 K& s
" y8 X+ _5 Y; g+ i } # T5 W. p! Q6 f w
} 1 M7 c0 i7 }* A, h( W ^
document.addEventListener('keydown', keys, false);
: O: L/ A4 P s# M W) nGM_registerMenuCommand ('Clean Hide',
) [2 [ _1 J, D, [5 ffunction(e){
6 N6 b1 K! ?& m7 V3 UCleanHideObj.on(0,1). P% B3 w5 ~! b/ K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 M1 t. M: p: D0 d7 r8 Z3 O1 z6 m});& y# Z6 t f4 C4 O' ]5 v1 t1 Y
|
评分
-
查看全部评分
|