|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ J+ c9 m, A. L
- A) V7 I/ K- r: f% X火狐插件,用猴子
9 [" P7 J, J( C- R- Z
! }: o$ Z, q8 l4 S+ Jvar debug=false;
, [. A% s' S: p+ U, Xvar CleanHideObj=new CleanHideClass();( @2 O9 `: K1 d
5 d# u( b1 V* y- A, Q' L5 jfunction CleanHideClass() 5 Z7 v9 w* |0 f' Y3 X6 x. K
{
7 D+ F# {/ q2 m7 D$ E' f9 B ' K" e" v& l9 E9 o4 g
this.on=function(id,bMZ)& v' Q+ {: {4 ]% N+ `% }3 _4 X. f
{+ f/ ]% _8 B0 |$ K
( `3 K. f6 u' L( @. C
if(id == 0)4 V( L# W* k6 S
{& U5 p' @# l+ P2 x+ Z6 z
var page=/* document.getElementById("content").contentDocument */document;
7 c1 l8 v8 e' H this.RemoveHide(page,"span");3 ~) C" j& }' Z# Q0 X
this.RemoveHide(page,"font");
, C/ w; n+ \+ s3 w- I8 j& ^ this.RemoveHide(page,"div");2 S, c9 c2 M9 ?: }
this.RemoveHide(page,"p");
' ~! I3 E: G) D1 g/ H
3 N( l5 P* ~' u: m9 ?7 M }
g8 L; Y- ?, Z6 f: T% G
3 v5 _2 h7 \; ~$ w$ R, y4 ~& F. U8 K }
# ?+ L3 s5 }6 I5 A5 E% E this.getobjstyle=function(node,prop)
) I# u3 ]# k: f: |, O1 d I {: ? e& j3 O- ~/ A$ H% m
try
; A- e9 ~2 K4 Z4 A {4 G {: n8 \: r$ d O7 H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 x+ e) D3 ]2 ^ y3 I7 {* j }* I3 m X% r4 x5 z
catch(e)3 j9 M F7 S' X V5 R5 |7 v! _
{" ^2 D$ M& w+ F% m: [# Q
if(debug)
8 F! l7 p0 E5 g5 w {
6 m7 Z4 U+ U2 j. D, ^ alert(e.message);
2 J9 n |# |9 V8 p' H8 N+ ? }+ ^2 u1 y2 L+ Z# w/ q6 p; y( i
5 u1 K" D& ~9 @0 j' p return "200";, b) d" z9 A* D" k
} z& I) M* \; b7 a* v$ I" b
}+ m M& A1 {" W' Q7 E" ^
$ ^+ W) N* P& s
this.RemoveHide=function(page,objname)
2 m Q# f4 A8 q5 j3 C) \! u/ I7 N {
" G' N: Z! q' D, N: } try, i4 q5 ?. S# T2 Z
{: ^! ] v" L% q! ?
var minValue=15;
0 F3 H+ C) m: C- s# W var objs=page.getElementsByTagName(objname);
2 u3 w+ ~, h5 N# w2 W/ g$ n2 }" e7 |2 {8 D2 b
if(objs.length == 0)
: V9 e- ~, ~3 ^- n {
, J# d8 t' O, u: J if(debug)
# Y; S( X$ F, | {
$ x' F( ^! n+ {' t1 I alert("no object found!:"+objname);( C# ~# K/ Q# G
}
' s6 ~+ I* A) J; l; Y }
7 m) w* v- N3 |& t7 G else
: P0 B2 g# [- L, |! p: g4 D {& y0 H5 r, Z( h7 l
/ S* j' F. B+ a z& ]$ a8 Z7 U1 ^ for(var i=objs.length-1;i>=0;i--)
- w+ M B/ J& Q, b) d8 r P {
" S9 f6 U7 W" v0 F! t7 ~: _ var node=objs.item(i); 9 R5 ~0 ^7 u$ w
9 R a7 ?- C& n X/ Q
: c$ N& j) g) g. }$ {& Y if(this.getobjstyle(node,"display") == "none" ||
; ^% k3 w8 B' w! Q this.getobjstyle(node,"visibility") =="hidden" ||$ p# L3 t# z, {1 X; P9 A( g
parseInt(this.getobjstyle(node,"font-size")) == 0)
/ y. i9 v& K o {
3 L+ K' c- i j$ Y+ _- c if(debug)
6 ^: R( z/ Z0 v6 [6 k+ V {
; e) c, {+ ]+ k/ @1 y* r2 U$ F5 G alert("remove invisiable!");$ [/ ^- ^ _' L1 a
}
1 `- [7 s0 I- ?" r7 p node.parentNode.removeChild(node);- U9 ?# d* n! ?( v9 ?: x2 A
' L6 F* r* c* X ~7 j% T# t2 ` K }9 ]) u, C+ K- Q8 B) p6 ^7 V
else 4 ]1 C' t% L- y8 L- L( [ M1 C
{
' c v2 [9 u6 {' X if(node.parentNode)
3 k4 v/ i' o; y1 P9 ~9 Y" T& F {
0 L9 H& r8 e$ ~; I% i0 g var orgNode=node;+ a% W% B, H8 g# i5 Z9 s9 c
var orgColor=this.getobjstyle(orgNode,"color")
" L5 K! |. w, {* f var orgRGB=getRGB(orgColor); 7 w, K0 @) V" I
& z4 b3 n0 R/ l var parentNode=node.parentNode
: \, d; {0 Z5 v" t o' [ var parentBgColor=this.getobjstyle(parentNode,"background-color");6 K/ M; ]* Q, _2 |9 N5 g5 k
5 \& }* ^$ A4 W4 V" r/ G, W0 l3 e# T- L var isLast=false;( P$ M/ r `- }# q; |2 Q
^% A( l9 ~/ W5 l' }9 |+ s
while(parentBgColor == "transparent") - d1 ?9 F8 s5 v1 _/ [ l. l( @
{2 H$ f% d: g$ O5 ~0 x
: Z4 _6 ^$ I' h. D
9 p: x9 E+ Z# o0 }1 R! q4 Z if(parentNode.parentNode == null)
! ^" f- u$ \- t( F# B' I; ]. Z6 x {
2 A( w8 r# b% R$ x$ C: w9 |6 n isLast=true;" o1 x: V9 E) z: X; {2 \
break;8 V+ Q: V9 C: U% c+ q; l
}
6 n- a+ s' L$ @- `4 S parentNode=parentNode.parentNode;
/ D1 }# G% n8 A parentBgColor=this.getobjstyle(parentNode,"background-color");! p" I% E2 H4 U: H- F9 B% x. o
( l+ S5 F: H: f2 J. x+ b if(parentBgColor != "transparent")
( C( v2 u. l$ z6 d# c( ? {
" x- z/ y. h% }+ P# }) K break;" O9 ~. {) s" Y
}* k; y6 y6 @& C! Y# q
}
& G4 Z( k k- {2 B% B* b if(isLast) 2 d8 f) B" N4 Z0 X
{
" U3 I, l: R5 x7 q- ?4 D" N, [ if(debug)+ h) w! Q7 M# a& B
{1 {, L9 N4 n8 v; O, h
alert("last!!");
4 [* u* x* `" m- z }
( B" J! a m" z% h7 ] if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 {' e8 Q) D) C! L& y {- K: ^6 Q: b0 V3 l& v+ ^3 S) _
orgNode.parentNode.removeChild(orgNode); & {, R7 [ ~# F0 Y- Y3 B
}
" q4 Y7 l" a0 U' a7 e/ p0 m+ ~0 i }4 e: Q0 a: p; ^) w' A4 f, a# J
else
; D- Q5 K- f' L8 t7 i/ G) \ {) Q- ~% \1 b* a4 n, d. S% q
if(debug)7 O v/ j; I! W* ]
{
5 b. M/ o; K$ a; E' J7 ]+ x alert("compare color and parent bgcolor!");: N* q- B' U4 J( Q4 O$ \% A2 c: P
}
. V) q4 x$ \' u- v parentBgRGB=getRGB(parentBgColor);
1 J) J% T( K; d6 j if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 k- f2 V' A1 p7 x3 \6 R% Q" K {( b' O0 j: G6 @) V, x
orgNode.parentNode.removeChild(orgNode); # v/ x4 u- k/ o
}3 d, \4 ] L* V! i- X7 e# O
}
2 E7 i! ?0 ]! _) d } n$ X. q. a8 O$ h. k- x9 g1 {
}
- R3 j9 p4 z8 W! Z& L9 Q+ m }
, z# O* V: @0 }& d5 g2 y }- d1 u e& L3 W3 L" A. ?
4 n3 p) v1 u( C( q" j u' C
# `1 f8 r! r- [ _ var itemFrames = page.getElementsByTagName("frame");( s9 w- I+ |3 E* G5 W
var itemiFrames = page.getElementsByTagName("iframe");5 o' c/ s7 e- q, d# W5 [
; T0 |/ J$ ~1 H8 C
var frame, iframe;- [0 y' b9 F i) R7 K
if (itemFrames.length > 0)
! ]" X2 I2 o0 M! n+ h- g8 E {
5 P0 k0 g" W/ a# Y/ F; T8 I for (var i = 0 ; i< itemFrames.length ; i++)
7 H2 E3 N4 T# U! X {
( I& Z; Z1 f7 \% S+ ^1 z frame = itemFrames.contentDocument;
, O& V! g5 E+ b- }" h1 s+ m this.RemoveHide(frame,objname); & r% t9 a1 X" ], w
}
' x. `7 i! ?, m4 U* j k }
7 }( K0 J7 e5 e0 h: X6 Q if (itemiFrames.length > 0)
9 ~; q1 N6 `3 m0 ?2 G9 z1 l {: P {% u( D& t* o9 X3 v/ D" A9 z5 E- ?1 F
for (var i = 0 ; i < itemiFrames.length ; i++)
( R3 t. J( t0 T0 O# o7 | {
; L6 ~3 ~/ h+ ^6 L6 C# S* t iframe = itemiFrames.contentDocument;
5 K3 m8 Y `( D3 x3 u! n' e: m/ U. f/ M this.RemoveHide(iframe,objname); 0 `5 t5 ^$ \; y6 | ^1 a8 p h
}
! f2 h6 A+ q- r% |5 Z. ^* o& M }
2 K7 j+ x% G9 g! z }
0 D z, m' f8 }6 |% E' x2 I9 C. i# z! a catch(e)
; O" j: @0 q% z* N: }1 M {4 c' M9 w; A5 L1 D! r. G( z8 ~
if(debug)$ Q( H8 F S- c; ?
{& }/ V6 T, ~, L2 \1 e
alert(e.message);9 E1 w& m' |' b2 E5 A4 ]" I
}
- g3 |- U. K4 z; v }
" q6 X) D/ B0 W }
' Q9 u0 `' h5 h$ A; I , M& n, ?( v/ w4 [8 Y1 [
}/ \3 }$ a" O* ]& I5 D1 }) u
, i# ?) a' r# h
function getRGB(colorString). M6 T+ ^& K$ K( ?: I8 @
{6 D3 u( |9 M. d( }+ \) P
var RGB = new Array;+ z3 j7 Z; B" k# Z- ]0 \& A
var tempSting=colorString.substring(4,colorString.length-1); h; |/ u g# q/ w8 G) Z$ I! G+ m
var tempArray=tempSting.split(",");2 J3 h( Z# i1 h( e8 Y: g6 ?8 |. |" A& O! w
8 n/ [. s2 @9 [4 H2 N% q RGB[0]=parseInt(tempArray[0]);3 D" L% |# v! a( B3 v! t
RGB[1]=parseInt(tempArray[1]);
) Z& X I* S4 U6 r RGB[2]=parseInt(tempArray[2]);% r, o/ M3 U6 x, p
0 s1 S1 d+ s; Q2 p1 u" I X8 {+ l
return RGB;
7 ?& ?( \1 b; l% V Z8 I- ~! B}/ w. |. G* O! G( N
function keys(evt) $ `5 d* @# i9 z& s8 K) z
{
/ C b% g/ |- x2 U% y4 M8 G if(evt.ctrlKey && evt.keyCode=="81")
& i$ m5 ^# M2 R4 s9 Q6 u7 M3 w {
; Q7 h* H! m# [6 ?( \ CleanHideObj.on(0,1);& @: B3 y- a# i! T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 H9 U& j; ^% l6 v6 A
6 ~. C2 W: i3 i" y* z/ Q8 B }
; r- L' f7 ^% v) N- ^& d" ? }
5 G/ [ p8 ^* `5 c. G4 @5 |4 O* `document.addEventListener('keydown', keys, false);
! y3 s( E* R/ \- X# ~9 lGM_registerMenuCommand ('Clean Hide',
1 {" F6 s! U# x8 S( l* lfunction(e){
! q+ | c7 P( s9 E5 `CleanHideObj.on(0,1)+ H+ [# o: V8 A* r. I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% l% C( _% W! [});
8 v7 z. {; U) T; M1 j" G3 Y4 i |
评分
-
查看全部评分
|