|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / I7 R: U2 N9 e# e* Y8 {
$ b1 b0 ?# b! u8 h, c
火狐插件,用猴子$ ^! \$ |7 J6 j/ r5 P' a3 }
/ I8 b, b/ b i0 K1 v, N* I5 b
var debug=false;
2 t- Z7 x5 \- ^5 H2 _" {) yvar CleanHideObj=new CleanHideClass();
/ v. _5 S+ k! b) p- f( o) Q% G7 }) S
! @" @8 [6 d$ W, s& Bfunction CleanHideClass() 2 J8 A" y, }( p% }0 c( p9 N! v
{
- p8 s& J" G7 I
9 Y- |8 L* ?7 p \& C this.on=function(id,bMZ)
7 H# W2 C0 d9 p& e& | {) `9 B6 B7 }! u4 T% e, v
! C7 X' ?, j1 ]1 q( ` if(id == 0)5 |% ?7 G# b: @; g. w
{
9 j. q" ^5 p3 F j# w7 L( M$ {6 t var page=/* document.getElementById("content").contentDocument */document;
, f% y& P9 L8 j4 Y this.RemoveHide(page,"span");
; I% L; N( \- }/ O% N9 [ this.RemoveHide(page,"font");
0 K4 {5 H+ R0 W: i this.RemoveHide(page,"div");7 D9 R2 R$ v5 b0 N. \
this.RemoveHide(page,"p");7 b8 P0 @2 [6 \6 A) }( E" t
2 H4 i4 k+ ?$ D }$ H2 R, `7 e* o: s! K# ?+ D$ E
. }$ }, h' H4 F/ {% o6 H( i$ Y }
8 j2 G+ A: r4 R# ^* \: J# U this.getobjstyle=function(node,prop)
+ p. E; _9 _; P/ _ {
: o0 U2 K( U$ s3 l" c3 \ try
' Y* n e0 W2 s4 H {
, I! u( S. z! Y1 T- t, l7 U, E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
u5 W3 \3 u7 I1 A; }# k1 f$ y }
( i- ~& f) t7 \5 {; l# m catch(e)4 q# s. _7 r0 ?2 L
{
( E5 p4 }3 d$ ^/ B9 i: C8 l if(debug)$ i9 S: W! w# S5 s9 Y
{
9 m7 Q- {& R7 Z1 k& Y+ @1 T( l6 S alert(e.message);# X9 @, a/ [0 Y+ u: F9 s/ R" Z
}
: x' B3 b. J9 Y% u) \+ Q1 U
1 [* ^8 t9 F' A9 w) b return "200";
7 W* Z( K8 b8 h8 @6 |8 [% b0 M }
$ F9 |7 f3 J4 @1 h$ q5 D. Q* E0 U' v }
) ]6 t8 l* C5 p ? ' g: G2 ^' ]9 N
this.RemoveHide=function(page,objname)
$ p3 s: h, d. s' v% i: h {
# T2 s' o+ `" D3 ^. w8 H try
1 y$ D2 ^# P% ~% A P1 b {; t1 m& i4 @. U$ B9 _' [
var minValue=15;* @; q* r; b0 C1 \% ]# ^
var objs=page.getElementsByTagName(objname);
5 Z: u5 D4 h7 o2 e X, J6 e0 Y; F/ K6 o# z
if(objs.length == 0) " P- a: o* v L) g. t0 }
{
4 V) T% u) A1 j5 j4 v1 o if(debug)3 T! _$ [) Y5 k5 T+ D6 o
{
) o0 }, T0 e- u alert("no object found!:"+objname);
) X' r6 K& ]0 n! N }3 p$ D7 m7 L5 j0 l7 c3 Q
}
5 I* R" }- S/ J& y4 y else/ }9 l4 {; u0 g/ b$ q
{. @* M3 Z. D$ b% ?- i# |
) v9 V. L* t# f6 d7 y: F( Q* z for(var i=objs.length-1;i>=0;i--) 1 ?% w6 o' } G' `1 X
{" ~6 x- I$ ~% {: i2 b( d7 |( ~1 K* k
var node=objs.item(i);
& _! O+ Y4 t5 w8 M L
( }6 y- |' g c
2 ^8 A0 k$ _5 R1 O1 R if(this.getobjstyle(node,"display") == "none" ||
. P' f/ D5 j+ H- g4 R6 g this.getobjstyle(node,"visibility") =="hidden" ||* E* E8 W. K, \$ j+ o/ l8 K
parseInt(this.getobjstyle(node,"font-size")) == 0) ) J, y+ I v" k6 K' ?
{* e Y# @, b9 J0 o. |
if(debug)4 e% m' \! v5 y
{7 V# [5 {; l1 N
alert("remove invisiable!");
! I, o# S/ \ V( P }# F3 W. M) V$ M4 ^' Z$ a9 `2 [
node.parentNode.removeChild(node);! @7 w3 x& @7 W1 u2 j# `
* k" x2 J# T0 a1 I- Y
}
6 ^; d) ~7 m! d- T# q5 c- l else
: k- z: ?) g4 I. U' H3 s ?/ | {
]5 }- C A5 |) U if(node.parentNode)
^2 [+ _) J' k {
9 [9 X" n% i# F: m var orgNode=node;
# V" o: @+ ]5 L# d$ g5 w var orgColor=this.getobjstyle(orgNode,"color")
6 _4 a a* G i1 F- G var orgRGB=getRGB(orgColor); # j" `' v% |' p. Y% o
* V7 q$ d# z( D w% |8 { var parentNode=node.parentNode2 j" |: ?# T. l
var parentBgColor=this.getobjstyle(parentNode,"background-color");* J- [$ W. |6 i& z
/ q* N1 `$ z+ u2 q5 r9 b: m
var isLast=false;
3 S) l4 k: S. R2 c! q S
$ {$ n" P0 T, V! y+ }. q4 s while(parentBgColor == "transparent") " b4 V+ P: Q1 J0 Q* n! M9 N8 H7 T
{1 g: S- `3 M$ u* s+ L- z- U6 }
) h& ~: N" |$ D5 O* N- q* y4 K* ]
/ d3 L! e: A) d9 E9 V if(parentNode.parentNode == null)) d5 H$ R. Z% s0 @
{
- |" o/ B k% t1 N4 v isLast=true;
( }5 R7 i3 H0 Y3 m* c break;) X/ r6 M$ Y( `6 @& x
}
/ m9 Z/ ~2 ^: p8 {, F" d parentNode=parentNode.parentNode;
/ S- M. J& g/ z( G parentBgColor=this.getobjstyle(parentNode,"background-color");
$ o) s( Z# U5 Y9 f
y+ l* j# \' K$ C" a; k5 m6 R if(parentBgColor != "transparent") $ J" L& M1 Q. }! v; p& \
{) P* ]9 H+ p$ T# s
break;# L7 ^3 U0 `0 w( H5 U' n! ]8 P/ @& L
}3 }6 V# e4 B# h3 _6 d
}0 b; e3 z0 F2 ^$ [! Z
if(isLast) 9 m& |% `0 h& j, Q7 j
{
& H1 S5 R) o* S0 m if(debug)
4 a6 @; r# I. l6 @ {
z+ z9 f3 V7 \ alert("last!!");: O- \2 k- @' N, u. S: Q+ o, y, r
}" `) K1 r; {& K* ]; a5 ~/ j6 h& A+ y, d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) a: Z2 t2 r2 W9 l; n/ p7 B
{6 h L8 x3 e- B8 C" y
orgNode.parentNode.removeChild(orgNode); 0 g( I O/ F, z8 X! ]
}7 O4 E- i0 G4 c3 N* Y3 Z2 ]0 z
}
* d) q! ?% q- Y' \, `0 H else5 z4 z2 Y& B0 Q" V$ ?% w
{1 A' [9 V8 D2 V: S; P9 G
if(debug)
5 X z) w5 p$ R' {8 d7 P5 o {0 |& l9 K5 [) ]( x4 l# D' R
alert("compare color and parent bgcolor!");
+ q/ P1 ^0 O" A' n6 o7 X/ @ }
) T. t7 m0 f' s parentBgRGB=getRGB(parentBgColor);
0 ~7 _! W& ~- V& |' m3 N if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# J8 r" k5 m* f- I v7 f# _ g; s { a0 T9 R# i ~# R" V
orgNode.parentNode.removeChild(orgNode); 3 ?- T& b5 o3 I. ^% z* \. D
}
3 j3 x" w' v, h( K }
8 l3 p4 n, E8 z4 O/ a: h; m1 N( H" B }
. u. {- z; p) O" h6 x" j j }1 u' D, w0 d" a" X
}
4 u2 e9 h; F. C! O) C i. w3 _ }8 [/ O7 }) \& @
' m$ G/ C; _8 `1 U) e+ h. s , A- Y! {4 B' a0 Q9 ?
var itemFrames = page.getElementsByTagName("frame");1 {* v5 j% x2 i9 G9 D
var itemiFrames = page.getElementsByTagName("iframe");
8 r# w* z3 _. n1 t0 y2 s
2 P! ~1 v- Q0 c" I var frame, iframe;
9 I! A4 D8 Z4 ]! g if (itemFrames.length > 0)) `5 O5 Z9 X! J+ b, }0 S7 h( l& e
{9 W# V& `1 n- N9 H/ P
for (var i = 0 ; i< itemFrames.length ; i++)
" g: W$ o5 \# E( ^: h& x) @ {
1 R9 o0 {' V3 D2 s1 ^# E7 \( f frame = itemFrames.contentDocument;/ i3 ^# ?9 [+ d$ P& E
this.RemoveHide(frame,objname); ( g5 J) o$ |4 R2 \, k6 R; V
}
/ @1 _" g" X) o4 w6 s- ]/ m: j1 E }
' S1 z1 h: \4 q. v if (itemiFrames.length > 0)
3 s; _; Z( X) m/ W# o {+ M+ H( E; ~+ M. C* R p
for (var i = 0 ; i < itemiFrames.length ; i++) / d m# \- I& _ U
{
- L. H( A* ~( l/ i5 V: D. B iframe = itemiFrames.contentDocument;
n' W j% M" d$ `. b, @7 c) @: P this.RemoveHide(iframe,objname); & K$ {8 e) y9 |0 k
}2 Z5 e7 T Y0 S+ p( d
}
! r' E' h. V6 y0 n: C1 J% H }
& H, P/ u+ X2 u% _7 T1 { catch(e)0 Z4 ~+ X! o# b- C$ E0 t% ?
{, H9 f) V6 r" l' p3 s! F
if(debug)
5 @. N% h4 j$ Q" N, ^) R- N {
6 Q- r) b5 J* p! Q alert(e.message);
, v6 g. b* _+ L4 q: D }5 S7 f& q7 D3 ~" x
}4 H% S2 Z2 d$ }/ H0 z
}1 j+ l6 Z3 _+ U8 E: g/ g% q
% W3 D! X) Q: v) |1 [9 y}1 @- T+ u1 o; R2 B0 }
$ {; W7 W |: W- X+ f2 J$ n
function getRGB(colorString)1 ^, U8 |! D/ l$ H0 Q
{( a. ?1 V; M# h' j% b
var RGB = new Array;
* V$ o& \# f( n' T var tempSting=colorString.substring(4,colorString.length-1);
* |' _5 U i X var tempArray=tempSting.split(",");4 M% m% x" I# d/ |
. k7 s# ~. c9 H% `6 m: u
RGB[0]=parseInt(tempArray[0]);6 M* V d1 _. Q% b$ _
RGB[1]=parseInt(tempArray[1]);
- D- o! `' p9 ~8 U! y( H' G RGB[2]=parseInt(tempArray[2]);% N: P5 f5 v% X, M
2 [' U5 G' a4 C+ S) ^
return RGB;) f3 ?- s9 X( c7 J# A
}
' s7 K4 |" g$ d3 J7 T# `function keys(evt) - Q- u) H! c7 ]" P$ r x# J/ E
{
1 O/ G1 c: q5 K c, _+ A if(evt.ctrlKey && evt.keyCode=="81")
9 y: t5 N7 D# b6 q {
! o% h( j* v: I5 v CleanHideObj.on(0,1);
* J- R) ]. n- y! Q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 B3 z$ R* v+ b
/ d# F C6 I2 u% P% N4 i }
3 L, G9 H# Y1 ~0 r9 d, G. x } 8 q9 d: B' Q# j( V# I$ l
document.addEventListener('keydown', keys, false);
0 X1 G b3 F9 v3 RGM_registerMenuCommand ('Clean Hide',! H+ k# K! `9 t, r$ X' h
function(e){
' ]9 L9 n" L9 d( [$ YCleanHideObj.on(0,1)# e. Z. r- B5 [( [7 t' D+ |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' T+ \8 c) R6 k: t7 [. H* I, ~9 }
});
! e( c5 } L& O. x1 G Q6 u |
评分
-
查看全部评分
|