|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; V' `$ H. i! L# S4 _. ]& Q+ w' j
! j1 h5 o! D( X' j F! a
火狐插件,用猴子
: P) f, ~8 r, j, M: H) y4 v( A! r
/ v' h& x& d2 g4 g8 h" z" Gvar debug=false; + d3 W$ m! E* d: f
var CleanHideObj=new CleanHideClass();# `5 m( ~5 ~( ^5 D- K, Q# U+ A3 O
: {; J* z, t" V2 O
function CleanHideClass()
/ K* K+ T6 v$ t6 I$ Q }{ + z( t/ g' O L/ z
$ p: [( d4 n% w$ H- p0 u
this.on=function(id,bMZ)
# Z; j3 ?: c: `( [ g {
2 F0 \% a: j z. |: P- m
( O0 N$ J) o' W! @7 H) l) ] if(id == 0)
$ Q0 M0 C& k0 |$ U( @: U {
: R7 c! R1 z1 J* T var page=/* document.getElementById("content").contentDocument */document; . e7 C& ?' O4 Q' j( y+ z4 F
this.RemoveHide(page,"span");
# h. a. X* z. E4 W5 J o+ \% g this.RemoveHide(page,"font");* L: b+ w6 e8 S
this.RemoveHide(page,"div");
' A" K6 X# `5 ?, L8 ]: W! {% n) G this.RemoveHide(page,"p");
7 \; Y1 k0 X$ o / G( [; G4 P; R9 q; {* L
}
0 y2 q, l' `' q/ l ~- w0 ]8 n ) h1 G2 B0 ~9 @ F# T$ d7 i/ W
}# p6 f4 P: w* b2 @ {$ w6 n
this.getobjstyle=function(node,prop)( H" t0 R- u; O! N& j7 O. ^) \( f
{
" q. @- d& a6 P* F' t" w. B0 n& p" m try0 w2 t* ]0 r* H% U- E5 ^& I
{7 f5 l( A5 y$ r) ^8 l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- J, } l3 |' t- r9 l0 P }
0 O& v$ o4 ~% h1 d! I/ n! C1 t catch(e)
% J) X: M) b: m' V1 m5 q {( _) c0 ~3 V$ @7 A. b7 M! \
if(debug), u; K1 i) ~ k* g* H: A Z
{6 L( L! \; h g
alert(e.message);4 P* ^- o! y" ^% X7 p. Y' ~
}5 [% h1 E R0 G, b
2 e9 n/ V9 ^/ z7 h: Z9 y" Z4 n
return "200";
- w/ Y8 q1 T( \& {0 X5 A1 e0 t }/ ]8 R& Y# c& ^. ^8 Y6 h: G% o/ O
} c5 B0 L) B3 |/ U, A" L
* l% V% Y* T/ Q1 h- R6 f0 ~! W
this.RemoveHide=function(page,objname); R* r W: g) r5 j
{
{$ X2 B, D' `8 r- n! L; K& ~% Y try
4 s6 P& [! R, V7 j {
" q0 Q, |* J4 q9 D: O! c var minValue=15;
/ c% q7 E0 l5 Z var objs=page.getElementsByTagName(objname);
# \0 ~% U, z8 e( M# H: m/ r; t0 d$ }( e: a. O8 {
if(objs.length == 0)
9 x! n( k! V/ x! n! X" f+ Z- J% C+ h {
/ r! t+ J& ] j if(debug)
; R' D2 ^5 _1 m/ X8 } {
, J4 e) p+ R: |. r: U. D alert("no object found!:"+objname);! B) m. V* D4 k+ S! _% v0 h* r- E
}. \$ t E* M& d, t8 v R( h$ [' k
}
[$ ?$ _9 m K7 U% X else( V: i( {$ J6 b4 U
{2 h# l1 s, _9 ~, [- q9 U+ A0 ]
# F/ d4 @: e# L9 ~' ?* d4 j, ~ for(var i=objs.length-1;i>=0;i--) 0 O3 M, ^( X0 u2 n8 p6 U4 Y# _
{
6 C- P1 b9 o* J& P7 g9 E3 W) P var node=objs.item(i); / U0 {4 X$ N- _
& h; R( s7 t0 y; w3 p- H- F0 f; H
7 e2 c$ V% g5 m5 t
if(this.getobjstyle(node,"display") == "none" ||
6 P* W2 ^" Y- x* R2 r7 a this.getobjstyle(node,"visibility") =="hidden" ||! {/ I5 v* `1 X1 y' W
parseInt(this.getobjstyle(node,"font-size")) == 0)
7 Y9 E! ?$ B9 t( g# \! f0 S( P {
6 w# I9 \4 k4 z( b7 Q6 U4 [# X# l# @ if(debug): l% H; J- C+ m% e
{
8 U/ ^2 Y0 c9 a0 q5 V+ J3 ~ alert("remove invisiable!");
/ E- K( A# w# n9 T }' j/ `5 G3 J# H5 T' {; O0 v5 M
node.parentNode.removeChild(node);
0 b: ^. A: |3 M* o. b* r5 K # e1 J7 N" ^" n; e* E( T1 F
}
5 D6 j6 T8 o. H: R! G5 G else - ^# u3 u; I0 K) ^7 e3 N R9 w
{1 F/ z2 d4 o# O5 G8 S3 b' S
if(node.parentNode) % }, ?3 h. W* j# o1 k
{
3 X8 f. L7 n* j. {/ V var orgNode=node;
% k/ E7 E" l3 Z# O, J) K" n' `( Q var orgColor=this.getobjstyle(orgNode,"color")# ~; [8 Q9 k9 ]/ D3 T% G
var orgRGB=getRGB(orgColor); 3 @9 d$ C/ R1 b
1 E9 A& \3 E* R, `
var parentNode=node.parentNode
1 K4 i& w# d! }5 g m: U( k4 \( V' A var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ d: @% \" Q$ h, p
4 X. X4 e3 C- D6 Q8 u$ b var isLast=false;4 X8 @! p; d! x' |0 f5 @
# |' b- g( R5 ?$ y7 h9 ]& b
while(parentBgColor == "transparent")
" w# T) C: s: V8 M; l) Q) E7 R {
s6 |6 @ ? N& F$ C5 y, P ! f0 C: d) Y9 V+ o) t: U# r
. U9 _/ V6 l R# s$ F% _ if(parentNode.parentNode == null)5 O8 O7 b1 [( ^! i6 y5 U
{
- W) \1 a) j- ]3 ?/ w, d isLast=true;9 ^( j3 x/ u+ S) |, Z! J
break;
9 v# V& w" b/ s' H g2 l& _3 N }2 a+ I' m& e* h' O; r
parentNode=parentNode.parentNode;
; t, z& O* p. @ parentBgColor=this.getobjstyle(parentNode,"background-color");( j4 l" q$ S( ^1 r% u/ C
8 G9 S& E* {: [! d9 D" z" T/ w
if(parentBgColor != "transparent")
: N2 I" f4 k- N8 E {) d9 m- f8 s' }3 r2 D) V
break;6 i' }- d: y2 P" |
}7 _4 m* {& n2 S
}
( K8 p" u) t. ] if(isLast) C( g5 W# f4 y: K8 A
{
- f1 H$ F, Z7 G: c0 c8 ~ if(debug)
. J5 D# }' u3 _0 R% e; y8 }9 x+ c9 l/ m8 U {
" d+ ~; H1 H+ Z. q( B0 E4 h. V+ H7 Z alert("last!!");
+ X- J- a9 m6 o }
/ c+ |2 u! e7 n. t+ ~9 a if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' v4 V% F' z( K# F7 ]$ w {
4 Z( w5 S( Z' d orgNode.parentNode.removeChild(orgNode); ! W; d$ P* k/ f$ z u
}8 U1 n6 }+ d$ g% |- J
}
0 k& C! @/ j. _5 z else" U/ n g" n: f5 Y* U1 y( t, Z
{( I/ V: [' u3 R7 H! ]
if(debug)
( N; ?4 u' @# Z9 C1 {- p4 W {4 E' W' x6 Z6 \1 E- |
alert("compare color and parent bgcolor!");4 W5 } H9 A$ U+ s1 B
}! A) t! g y1 d* f) R- @
parentBgRGB=getRGB(parentBgColor);$ Q5 y+ e8 J- {7 ?3 X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 F; J6 R) J) H* a$ N
{- ~- \: J+ n- X& J0 A9 `! l
orgNode.parentNode.removeChild(orgNode); ! \1 c) g3 x* Q2 T* ~6 G
}: n. O& U7 ~% l2 j' L: E' _: f
}
5 s% N4 |( _7 P }2 H; l, J$ B+ w
}: @* K% j3 x4 m' ]5 h9 o
}/ M% U) S7 F3 @( h7 x x9 P
}
- T" n, [* G) M4 f0 y
- s) G' Y6 q6 {" ~% C3 M2 r) d3 F& `
* n$ B3 @0 X6 U var itemFrames = page.getElementsByTagName("frame");
1 i( C) i/ O) D5 s' p, A) S4 s1 X var itemiFrames = page.getElementsByTagName("iframe");$ M- k$ U l- Y! C. x- {. h
/ K: A3 }/ D+ _# t% Q/ k3 W var frame, iframe;
. P7 I; X; k% p0 L5 D if (itemFrames.length > 0)
0 m% |) p) N2 K/ }2 s% d {
# J; `9 q/ T1 @2 ?/ o/ V for (var i = 0 ; i< itemFrames.length ; i++)
, x0 K( v( i9 Q2 V# j: Y {
0 u5 p9 H: I# O6 }" l frame = itemFrames.contentDocument;/ @6 ?9 e3 V, V c9 l
this.RemoveHide(frame,objname);
~9 a6 W- j* @ _3 w }8 F* i: y- v; I) \. V
}
5 b( a2 _6 k& k. O2 C$ G# N/ ` if (itemiFrames.length > 0)" X( P! X0 b1 m6 [9 ?3 o
{
8 A5 m* f) G! X8 y& m; K* o/ d: d for (var i = 0 ; i < itemiFrames.length ; i++)
: |2 d7 d" w) A- k6 P3 [; W {, F# k. P- V7 ~2 n. c* y
iframe = itemiFrames.contentDocument;
3 _4 |- @' H6 e' b, w6 H* e. J this.RemoveHide(iframe,objname);
R& e% v2 q# v m }; _! Z; |- ^' t9 V1 B9 D+ b$ O. W
}2 M1 @: p8 ~' R! c; ]4 I) i9 ]
}
0 z3 X' z) O1 ] catch(e)
3 u6 [: n! _1 y {1 D: n5 a- W- I& ?
if(debug)
3 [. S; u0 g# y' s: y' V {
- [; N/ I3 F$ _0 t$ n0 C7 P alert(e.message);
8 h. c; @! K* o) z* R }
4 w/ _4 j) H: r- }) X0 S- I6 l) K }
/ i% P- U/ m4 \8 p q }
- X4 T( Y+ P1 W. k9 _5 r2 t+ Z: @# }" R . W2 f7 a% ^' ~: {
}/ ~. K6 {' f8 o& M/ c
& [( K/ J+ e& p5 U gfunction getRGB(colorString)
/ `8 t7 D0 ?& o( h+ i( H( o2 ^{
; M9 f. g4 S! s" W/ b var RGB = new Array;
: h! b4 \/ H, X2 p var tempSting=colorString.substring(4,colorString.length-1);$ X( ]$ ]0 _/ a, P5 [
var tempArray=tempSting.split(",");
+ |) s1 |+ {' w- A' |& u& @3 H3 ~3 a6 @/ J) w3 g2 ?
RGB[0]=parseInt(tempArray[0]);" {( P5 L2 _' f
RGB[1]=parseInt(tempArray[1]);; S$ V- D7 Q6 i9 ?* g9 e
RGB[2]=parseInt(tempArray[2]);( G! y2 T1 R/ a# [
) R# g% k: [$ _! K8 { g# k return RGB;# |7 Z- K- r% u7 J1 _" a
}) A. B k% r" h2 p
function keys(evt) 8 B: t! V2 a' [
{
. }. a$ V3 B; W: o n. J if(evt.ctrlKey && evt.keyCode=="81") 9 b6 `. E+ ~$ ?
{
" D; \ m% I- y) d3 t CleanHideObj.on(0,1);# @% g& k( n! x0 w# _/ l" m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 H1 l6 u9 a8 a8 z; h6 V% O) H
! o1 x8 ?/ p* M$ l# p9 s }
5 r1 Z8 n2 i0 b' o5 h }
0 o1 j9 @; P) v( tdocument.addEventListener('keydown', keys, false);
( O: A# R, C% _/ AGM_registerMenuCommand ('Clean Hide',( T: W! r4 M5 }, }: p5 [
function(e){7 P6 L$ Y: C. v
CleanHideObj.on(0,1)2 {2 N, a1 Q* c8 _- \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# C$ X1 l! w8 V1 x
});
3 ]4 o1 F" a/ y6 _1 F5 _ F |
评分
-
查看全部评分
|