|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 |. C# O, X. b2 S: ]
; D$ i' r @: |
火狐插件,用猴子
2 p( A1 T( P# H4 C* o* Q
/ |& c9 k, y: X9 Fvar debug=false; ' ~& h+ B/ m1 c T: m0 j* a
var CleanHideObj=new CleanHideClass();) O7 q& e( p5 b
# S% w1 X. y/ f: y& X5 y
function CleanHideClass()
; ]; D/ G, L8 N{
0 w" ^. |% q8 o5 K
6 j4 x/ ?' z+ ^. Y* C7 b, O9 [ this.on=function(id,bMZ)) h, S+ _8 K1 n+ L! I1 s
{# R- c3 e5 g% @- Z/ f3 c+ f. T
6 B) f! s3 d2 t0 k if(id == 0)
( W: K9 q% _: |. h: | {. Y7 R0 A% a9 s3 [
var page=/* document.getElementById("content").contentDocument */document; , D' e& X% m' M+ n. Y# M
this.RemoveHide(page,"span");
9 Y+ v4 O4 R6 U; `3 r) }$ p: v' s, a this.RemoveHide(page,"font");
* W7 D, q: ]5 ]* Y3 {7 M this.RemoveHide(page,"div");
, p3 V3 I9 H% }9 @8 i this.RemoveHide(page,"p");
) Y7 M: Y4 Q7 J7 m% V - V* ?/ i3 l1 g4 f& r
}
( G' l1 |! l5 [9 r: u9 w ; D5 \3 `" A9 C( o1 e
}$ f! O' c; V. T4 I- F, j
this.getobjstyle=function(node,prop)
( `1 i) m% H; K' X- x" ~6 l {
& U1 b. H3 ~' j. X+ B try
+ u/ \9 O( t3 R7 L {
3 P8 ]. `6 n$ e0 g3 i" \( f7 C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) F5 q5 i8 V/ o; W2 y. e0 s4 A1 n
}% I# B' D& N" @8 M: ?- D4 l7 t5 I
catch(e)# Y, R: S& C- Z
{
) \ O! J7 C9 j4 B6 ~ if(debug)0 S p& k* {9 r" A$ u7 d0 p* J$ @
{
+ t# R4 d, \! z alert(e.message);6 `8 Z/ T. `( Y! z3 L* ?5 u6 Y9 `
}. } L/ u, \3 a) \! c) G, F
& k% n( Z' Z! i# l) c return "200";$ n/ W- t7 J" d% y
}
. G% A! Z1 y* T6 T1 i }
4 k5 j# B; z) `- D4 F. g
/ @5 s v$ @( i this.RemoveHide=function(page,objname)
3 Y# F# W7 Z, {4 z9 c3 L {
+ h4 d) C2 _/ Z8 @1 j try
9 z8 G0 P. \. s7 \: { {
) D: D# _, x/ u var minValue=15;
( p7 X5 e& z7 s& I& e var objs=page.getElementsByTagName(objname);
( Y# ]2 h, {* r t/ O6 B
. h- Q" U0 _% K! }- @6 c9 | if(objs.length == 0) 1 J' C* W! a* `, \
{' P' ]8 U5 Z- S9 L
if(debug)7 N& `3 Q: X; l8 Z" F9 P6 ^: J- K7 M
{4 T; u, o3 a1 T) K) s$ l
alert("no object found!:"+objname);$ m" |" M! l& {: p" C/ u, j
}4 ~' s; V: ^5 ~$ v" M
}- U, W% B2 H6 T8 C6 c5 }
else* y+ J4 W* ~5 C
{8 r2 Q0 y! _( u$ V
8 O# r* q J$ V) j! ]8 T+ x for(var i=objs.length-1;i>=0;i--) ! q1 J( E, Q. y! i c8 P
{
2 a$ M( O. b; P0 H var node=objs.item(i); 1 z" t9 ^+ G4 Z" @5 H3 u# U
7 Z7 b6 V% ]+ i( h
; A$ I7 y4 |' T, ^2 @7 g9 }9 H if(this.getobjstyle(node,"display") == "none" ||2 ^+ _; f4 a" b/ g+ j) E, ~
this.getobjstyle(node,"visibility") =="hidden" ||, a. B* r* w7 @: j+ o
parseInt(this.getobjstyle(node,"font-size")) == 0) ( R9 b# S4 U% _' W6 v; x" y
{
5 x7 A9 H- M9 p% O if(debug). l) w% V" q+ C. E2 t) c
{
) N2 B; a/ a! W0 q alert("remove invisiable!");
% f( V8 r5 e3 {: ?( K }
$ @( w( p9 z! j% z node.parentNode.removeChild(node);- @7 i; V) D7 e. g7 R( d; w
0 Q/ g, [; p q }
; c. S d8 q9 Y0 s& A( Z8 M else ) e3 Q& M: U1 W M# g& {" O
{
( s n; q: ^. h% d! | if(node.parentNode) ; A4 V2 M. l: _6 Q7 ]
{
, b! K3 `, x! ^. h var orgNode=node;& S) S9 h# C4 k* X
var orgColor=this.getobjstyle(orgNode,"color")
9 n# v, V6 x6 }8 Z p0 Y/ M var orgRGB=getRGB(orgColor); 6 a, u/ L+ a8 t* s
" o& r# i6 f' Z- c var parentNode=node.parentNode
$ w- i+ {' M9 C T( n0 s" A* _ var parentBgColor=this.getobjstyle(parentNode,"background-color");4 m+ r: [5 S6 I
w/ {4 o7 Y/ o
var isLast=false;
P$ u Q1 C3 D5 ?5 ~! e7 ~
: e# Q3 z4 J0 M* @# z; R while(parentBgColor == "transparent") - `- u" X! v6 f2 i6 t
{
+ C3 A( Y0 C/ l8 U ) q2 v# U: M; u8 c" y
) t5 v1 m8 f6 v8 T% h- @( z; Y
if(parentNode.parentNode == null)9 W0 M0 k! N/ o
{
) ?7 i4 E9 I q( v8 Q' k; g+ B2 o isLast=true;
3 i0 i, \) ^% A1 O9 v; ~: K break;
9 V7 X, V+ L& D) ~* J& F }
. I5 W6 y4 N. ` parentNode=parentNode.parentNode;2 i" H# U" q0 j- c1 l
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ l1 \4 ^% Y3 O$ S* |. {! h9 p6 S
! p, A$ D1 S' O7 ]9 Z4 G if(parentBgColor != "transparent") ( b3 P% t( D! F* w+ a2 `8 @, o
{
$ P$ D0 c* Z, A5 z0 ^6 B! O6 {! g* n break;3 ^) e, |! o, t1 I7 T
}; y% S. ~7 ` y' n; B
}3 N- u0 ~7 V+ K7 L" p- j* b2 `
if(isLast) # |7 j$ F1 d) g6 S8 ]
{3 x4 |/ z+ ]: s5 O
if(debug)
; d2 O2 m: e- I9 a( N' P; s8 Y7 D {% K7 F- p3 e6 Q( U$ D; P! M' R
alert("last!!");
$ F9 {' T! U/ Q$ Y) M/ r }
' `6 M8 w/ }. w+ \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 k2 k8 O& T& }4 d9 e {9 Y! L" b0 d/ q8 t; o4 O, ]7 r1 F" h
orgNode.parentNode.removeChild(orgNode);
! f- Z. Y/ V# j5 c. W7 P }( H& }2 ~( {$ s
}8 T: v, {9 w1 O! r" n
else6 ~' S0 f/ D' E' n# i# G0 e0 E3 U
{
1 F) S' }7 I- E+ r7 Q0 g! m2 M if(debug)' J$ B3 ]6 Z, s" ~: U
{
$ F9 o% g. _/ r alert("compare color and parent bgcolor!");
; F6 f" a! T- [8 v$ J* ^: T+ K2 W }
2 f' a# w# T1 e parentBgRGB=getRGB(parentBgColor);4 O* J0 `8 O: f- D" r5 W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ _! Z9 u7 {# P$ `
{
9 I7 s; p+ t% w5 f; A orgNode.parentNode.removeChild(orgNode);
+ Y& i4 B2 U3 u- M) x8 \) ~; ~ }. U9 t$ D$ C8 `! @
}* \! }# p q4 p
}
. \9 K+ k! |( b }
. l+ Y% k1 q9 ?$ i+ E5 S% |2 F } F- _. F7 R# n: m! J9 C
}7 O+ n1 Y6 s5 J* p* z9 ^
! V) W- c- _# V4 R: W) R+ k9 D
1 F2 \" V+ n# S1 I. p* {- F# P
var itemFrames = page.getElementsByTagName("frame");$ t4 w0 i$ M9 K" S/ p
var itemiFrames = page.getElementsByTagName("iframe"); n2 u3 k, A1 @; ]- J& |8 v6 {8 r" q
7 C% d1 j- n% C- r' P
var frame, iframe;
) |. C7 ]# Z" a if (itemFrames.length > 0)
- g0 e% Y$ a9 G" ~! ]7 } {! `$ ^. C( b# M) C. N
for (var i = 0 ; i< itemFrames.length ; i++) * i( U; M9 ]5 v# i+ Y
{
. P! W( x( {( O( P* r* ? frame = itemFrames.contentDocument;7 a( k7 v2 I/ U
this.RemoveHide(frame,objname);
: n6 G) f0 p+ n5 R# `1 r* F( m7 j }
2 M; c2 D5 T; C5 y9 G. }$ Y }
1 E. \4 O4 k# A4 W5 ^% P- H if (itemiFrames.length > 0)! l& G4 {( h- ?- J
{- I' l) a/ k/ S; C2 U% O
for (var i = 0 ; i < itemiFrames.length ; i++) 0 n \5 B. F, M2 j$ W2 D6 o: `
{
7 ~* i. j& j- _& c iframe = itemiFrames.contentDocument;
0 K4 j5 |; f. V this.RemoveHide(iframe,objname);
* ^$ d4 }8 k# @4 F }
' K) y/ U8 n- T. f6 k7 z3 p5 r( d }% ^* m& {) ^$ H0 _. w) N( n
}
z, T& Y* i+ J, H catch(e)& C/ M7 M/ r4 h8 P6 a. f0 w
{
+ r- r# i1 [7 p6 i( N- K if(debug)
+ \# p8 M/ k9 l0 D9 y {! A+ y+ S% X0 J7 w
alert(e.message);3 q: j1 ^) K+ d2 p! @: [8 D2 Q6 I
}# O$ m' ]0 m, n- x1 g% k) [
}
+ k( O: W- J& u: K) u. `3 g* u8 c }0 d/ B" S2 \- ` D
: e) |! x; Q7 d5 j5 S}- j+ ^+ W) _# e. B
1 l* @/ s. w3 m/ e4 c& i/ Qfunction getRGB(colorString)
, t* f9 i/ k8 R1 b1 K{- L" z( O) l1 b- {& B
var RGB = new Array;
g6 B1 a* X: u" p+ z% B; w, o var tempSting=colorString.substring(4,colorString.length-1);4 L+ a: _6 i1 N, ]. p$ B; G, }
var tempArray=tempSting.split(",");
& S& J& M( A- L) ^4 L0 p# Y0 i( ]# I# U; ^: |6 V5 y
RGB[0]=parseInt(tempArray[0]);! y# L2 m' l7 j+ Q6 u8 ?
RGB[1]=parseInt(tempArray[1]);8 m# p4 F$ c& H! U4 J/ a
RGB[2]=parseInt(tempArray[2]);( B9 o0 W, y3 ~/ W* Z7 `
' ?' d& n2 ~# M" J) W: t return RGB;
5 m1 w# t. u' g4 c1 m& w}
( m) E. u7 c8 j( A6 M% ofunction keys(evt)
8 S4 l) \0 K z& O {
3 M; f0 _8 `; o" g7 g" Z if(evt.ctrlKey && evt.keyCode=="81")
6 U5 n! J8 M6 C {
* q; ~" F+ D& o, o/ \) Q1 B CleanHideObj.on(0,1);4 N8 K, A& G% j1 g: l% d6 J B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % v# p4 z1 M* Q3 V
5 |% u: R7 k/ L2 I, K( R' C- S } , i3 N7 e7 h6 w h# ?% c4 P
}
. E8 g S* B" B0 C' V7 Edocument.addEventListener('keydown', keys, false);
# m+ Z5 I5 Y0 h# w0 WGM_registerMenuCommand ('Clean Hide',
) j7 m! X% o4 W! k3 M( w) zfunction(e){
& e7 ~; M* d% s! g5 z) [1 p& ?CleanHideObj.on(0,1)
# V. J, Q, t9 |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! q5 D: M( y8 Y F});! }# S v" P- @# u9 o! ?/ c/ b a
|
评分
-
查看全部评分
|