|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 F4 ^, F! s- O) c' ~$ B1 F' I: \2 S$ N$ n8 @1 V
火狐插件,用猴子
5 x; H+ j( X2 _+ p
" p+ b4 e9 x5 n; g6 B0 vvar debug=false; & i: q9 D% ~% D) |, F
var CleanHideObj=new CleanHideClass();* W. L% E6 S y1 s
$ p+ o" H w! v/ M0 B3 w0 [
function CleanHideClass()
7 V$ h2 A: B9 X9 r9 b{ % x! Q( \& A5 V5 F b2 v
- l' g2 t: _ h; W) z/ [ this.on=function(id,bMZ)
5 v8 o$ c B! {$ U7 L# t& R {' c8 M X% l# t4 O4 l4 e
! r* B* s) F9 f2 E if(id == 0)/ x, Q3 u7 o. F( U! X" A
{1 A) x: g1 d( H) y2 M$ Z
var page=/* document.getElementById("content").contentDocument */document;
* j8 c- j( ^3 h [ this.RemoveHide(page,"span");
+ N1 ?- V$ {* W/ f9 a this.RemoveHide(page,"font");
9 D4 s; c* F% ?. d) ? this.RemoveHide(page,"div");
* m l% [' J7 B2 \3 ~+ g this.RemoveHide(page,"p");* o- r0 \; F j, W9 \* o$ B
- G& X0 y, t, g+ [! R/ [9 P- I0 k }
% q0 ~5 }& Z& `; Z0 B$ I
$ {* p: |) o: C' @1 v3 z }# B5 i% D7 Y5 R7 v+ ^ w
this.getobjstyle=function(node,prop)
6 W$ G( S: @0 u: [' r8 E {
( t7 M+ @( P8 P) n( F+ ] try2 \3 l: P- d4 |* q8 G4 A/ r8 @
{; g# w }8 Y7 J1 d& E( d
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 g" q, L* O1 G% B! {& G
}
( L4 y* q4 q) o' o. l; ? catch(e)
1 N) c5 b0 F0 D( X, d! @; A( d {0 J$ E% ~" [' k* G8 Q* V# l% E
if(debug)
) Q$ P- e7 @7 r& h {
2 r z# n6 L* K alert(e.message);
# x1 |+ E8 _2 P* | }+ g; K( [$ F' {0 Z% e
4 m. g6 N j0 l- h# ~ return "200";
' y. v% n. Y) L4 w; ~ }3 s2 d; ^9 z* f5 `7 o1 V6 R* X) J
}
7 _$ F. W" n# Q8 q5 U o - ~; J2 F0 D) a& ?6 _# P' l+ U
this.RemoveHide=function(page,objname)! H; p9 X6 R* }# N
{
0 M5 U) X* Q) t; U0 E5 F, Y3 v try
! e( R$ C {- W; Y" I {
. b3 X) A( j7 l/ P" ] var minValue=15;
; ]7 Y5 {; n7 ]6 w. v, g var objs=page.getElementsByTagName(objname);
& i) { _- |9 h, B1 U: I
7 Z1 }! C* Q4 H, s4 V" ? if(objs.length == 0) 2 L3 I. L* W C
{% b) C/ V- ~2 Q) ]; w# ~, C4 T
if(debug)3 m7 b7 t6 V$ n
{
4 G5 G) _% s/ ?6 a alert("no object found!:"+objname);
d5 d0 _( g) s5 q( x9 ^* B% m }
$ ~3 l' m$ O8 h4 ^& J( |# w }4 W, @: i; _1 ?6 M/ w" _6 B2 x @
else$ B4 P, T+ K$ T8 ~. C# E8 C; p
{1 p0 g: \3 T, b2 o
* d0 i( D( u" p& F p( I for(var i=objs.length-1;i>=0;i--)
9 U8 m. W6 B1 I, z( j7 P {
q1 _$ Q' V- P2 q+ D var node=objs.item(i);
6 z1 B6 I% L- b: H& e% c' {" E/ V 6 u% ^' Q" g* U P- r! {
3 I. Z% V2 a" T6 h8 [+ b& _+ U/ O if(this.getobjstyle(node,"display") == "none" ||+ Y2 M1 u# x# F- d$ m% u
this.getobjstyle(node,"visibility") =="hidden" ||
; P; Y) n4 J, t" Y# O parseInt(this.getobjstyle(node,"font-size")) == 0) 3 n4 m/ M1 l0 T6 n) v
{5 a4 z, Y0 w% ?
if(debug)
% g* j$ T1 ^- I( J2 f5 X. @ {, b4 f/ B" l# D1 D$ k# f
alert("remove invisiable!");/ w2 f" W7 Y, e1 y8 b
}& ^9 U; s9 A& Q/ G5 b; n2 a3 i
node.parentNode.removeChild(node);+ F7 O! D8 d9 g1 s6 F0 i7 a/ U( O8 l
1 ]- d5 P* K& x; x8 X A/ l
}, |5 @. z. Z& [6 V- q6 ?8 K! O* w+ }
else " ~* F! M; I; n( k" r! v. |( N
{
% V' J! B8 M" d8 [ if(node.parentNode)
8 g2 A4 }" a9 [* W {
/ i& g3 M/ p% Q5 S9 u! q1 Y2 q+ t var orgNode=node;
5 S6 U9 E7 b( d+ M9 `$ \ var orgColor=this.getobjstyle(orgNode,"color")( s. U" {& s; ?( s9 Q
var orgRGB=getRGB(orgColor);
7 c$ P) X! M* G) R & a, J i! [ ~+ _
var parentNode=node.parentNode# ^ f, H) X x% C
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 t4 b% k$ H6 Q
' s. p8 W: Q8 Z5 r0 n& R2 w% \! a var isLast=false;3 j# l( ~/ I. v! `( o4 z, s6 X
`6 k0 M2 Y* S
while(parentBgColor == "transparent") 0 m3 |, s# }/ y3 h. B v5 M4 v
{. e3 m, R; a/ q( G8 `
% |6 q! [, t2 U8 k3 m1 U! e) Y 5 e: o( o9 _6 e+ r2 J* B8 D. ^
if(parentNode.parentNode == null)
7 d* b; R: S- l* [1 b {
: Z6 ~1 s! [' z6 P p8 X isLast=true;9 Y, N2 \5 n7 N: j
break;% f0 E: ^% j& m8 j6 \
}
1 h+ {3 ?# `6 J- J! {) i+ E parentNode=parentNode.parentNode;
% q- d( }% D7 E& l6 } parentBgColor=this.getobjstyle(parentNode,"background-color");
4 l8 Q/ q" C( v( K* T% _ x6 b3 I( }1 X, Z: J" P; S
if(parentBgColor != "transparent") ' y7 O, V& N; q/ N1 C
{, d8 b$ X r# K6 h5 H8 G
break;2 P) ]/ {4 n' n- m5 w
}
9 _1 i6 D" E; k* B. q, k }; O" `! m9 q0 ?4 m1 E
if(isLast)
o2 }$ G- ^- o O! v4 _: ~ {) e7 I' d1 T/ M) K5 l
if(debug)
% b/ w+ ^6 \) b# @# S% ] {7 b$ B0 _4 \1 d( @5 ?
alert("last!!");
! d/ K; P8 x1 r7 x2 j& _7 J6 q }$ Z. O4 {* n9 |1 ?! u* m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ `2 a7 a( h. B* v& U* d6 B {+ q! ~; L& y* M* ?7 j% a
orgNode.parentNode.removeChild(orgNode);
# E3 X; N$ T: S6 k! q4 u H- } }
! T1 x2 B/ o" k5 R/ |+ H7 d) t3 W }7 @+ y' W% ?4 G7 @& a+ }
else
" N) i8 E0 P6 |% P5 ?1 \ {
" u, H, ]3 x) r4 F* A if(debug)
' v* N# s0 d! y1 U8 K {
8 n0 x8 P6 i! v' \0 R4 b, ]- ~ alert("compare color and parent bgcolor!");- u/ L O" s) V5 z" C& z
}1 j2 P3 `% c' I! k, Z! S
parentBgRGB=getRGB(parentBgColor);
5 Q& V" ^( C& ~! b9 d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 y4 f; b, o/ h3 X8 Q {4 _7 }3 W" X6 c
orgNode.parentNode.removeChild(orgNode);
$ t; {: m A8 ?+ g* s }
/ C# a3 P1 j. o' _. B4 K }' w0 {% m( C0 l3 j- d! g
}9 D) G- V) v" h: j5 p
}# y1 i9 l0 E8 _, }! |
}
, K' _1 v5 p T J4 f6 N- g }
0 [% N j2 I" b# v1 t% W1 |( |& e
: j3 U R( a/ B r h! a0 G! r 9 L8 K' X) R4 X/ d" I
var itemFrames = page.getElementsByTagName("frame");2 o- W2 R: `* ?/ T( g
var itemiFrames = page.getElementsByTagName("iframe");' {+ A4 \( M: `2 a$ p$ @
5 N9 L+ j O- I1 k5 O d; h var frame, iframe;' R# h; R1 g( T9 u3 {) p
if (itemFrames.length > 0) p# C' `1 c9 N4 }2 Y" m6 Q, c' J& y
{$ r# p1 k6 Q1 N+ o; @/ {0 D; u
for (var i = 0 ; i< itemFrames.length ; i++) + z% F! r" W, u1 t% C$ S6 V
{
& u3 G& o. E3 A- K% a- \ frame = itemFrames.contentDocument;- f# O* ^% R) N- E1 ~
this.RemoveHide(frame,objname); % s; G$ I; T( g4 B* L) R
}( X& Q- J: S3 q, q8 b
}& K0 Y: |4 V4 C; l/ N
if (itemiFrames.length > 0)9 N8 V' c4 {, y( X
{4 O3 { d3 i' h2 K2 E1 [% g! ]
for (var i = 0 ; i < itemiFrames.length ; i++) 0 D5 X0 j1 }+ ~$ w: E
{$ s0 U( X- S, d5 t; b1 y
iframe = itemiFrames.contentDocument;
; Z9 N/ {- O* v+ ` this.RemoveHide(iframe,objname); % S( _# _* T4 ?4 P1 c
}
! Y' [( Y& [. w* |1 R }
% j% z, p9 O" Q& t/ | }1 G: Y5 f( [" n% `2 R
catch(e)8 r9 D4 d; [4 ?" t. i
{" e! D( @ Z& @ m% n
if(debug)9 g% M4 @) ?4 @( R! j9 z4 k/ `: D
{
% r0 f: v0 L$ l6 Y alert(e.message);
: W* d; e( p! g/ n6 y: @ }6 F$ u9 }, F" o; B! h1 e" \$ \
}
, j% q1 ?+ K" d4 W) S7 j! ~$ E }
' D# s7 p8 W4 W
& Z* Y E: ^; k5 l5 V/ V2 L}
! X2 h7 O7 |. R) a$ C9 a( B
+ }: T- c$ f/ s- ufunction getRGB(colorString)6 f0 r$ |* u3 P3 D; u" `" U
{: s2 S; C! o9 i1 }- ~; s- |
var RGB = new Array;% X# t" R& p5 i& u4 q
var tempSting=colorString.substring(4,colorString.length-1);- A# I2 \- k$ J$ z& l/ u: @* c( s/ j
var tempArray=tempSting.split(",");' c; X7 J3 L9 K4 c) m; Y3 u! ]. ? d
! }# u0 d9 w( g0 N: l RGB[0]=parseInt(tempArray[0]);
5 O0 J' a# c' F! [ RGB[1]=parseInt(tempArray[1]);
& f h* s6 d9 S: B% `7 J RGB[2]=parseInt(tempArray[2]);- y+ c# }+ P0 P2 j* L3 S
- I V3 u1 u; N return RGB;5 I, L: W) D3 R. P
}0 m4 O' } D' _! U+ n
function keys(evt) : b3 b( Z1 W Q* m b9 q& d# }( u
{ ( H/ A0 F, _; {+ v
if(evt.ctrlKey && evt.keyCode=="81")
1 h" ^9 j$ a3 L; t# Z { " K" u# ^- y4 Q& l" C
CleanHideObj.on(0,1);: I5 m$ }6 x6 v& M3 R+ K' i5 @: y) Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, [& U" ~* Y3 d# e v 3 Q) Z8 @9 B- c
} ( D3 f, G5 a3 I) u, g
}
; o! g" G4 U5 }' k) odocument.addEventListener('keydown', keys, false);
5 N' s; W- w; ^( @5 a- l. RGM_registerMenuCommand ('Clean Hide',/ T/ |' Z8 \/ O: L
function(e){
# I5 i8 @% e3 C7 rCleanHideObj.on(0,1)
" }. A4 a; g, L5 f0 a$ g J7 ^0 Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! z$ ?5 S v+ J8 ^% X, }" B: ~
});
+ B0 m" y4 N& t |
评分
-
查看全部评分
|