|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % E" N; j |- u" j
7 ?- A8 V7 q, f' {- O( B
火狐插件,用猴子
3 M# B" n+ B& s8 N) G% `+ |+ _& d
/ R) O1 d) A0 t4 H) B/ E! Z+ }var debug=false; # j, I0 V& v6 ^- d
var CleanHideObj=new CleanHideClass();- v! F. A0 k6 N0 F& j: ?
1 B% ]5 R8 Z/ R ?4 z
function CleanHideClass() # d1 c& D7 O0 s$ Y+ O' }$ q
{
: ?% D# L" c' U* ^- `
9 J) X1 j) V; S, A& K this.on=function(id,bMZ)3 S) I# C# z* A6 M3 \% P3 h
{$ ?8 J6 x' }# A* x9 v$ ]
6 }* f) P5 b( t A if(id == 0)# b: M4 c5 v4 {+ N6 O" h: s: t
{
3 H; v1 ^6 u. \* r var page=/* document.getElementById("content").contentDocument */document; 1 L m0 H/ ~$ R1 f! c
this.RemoveHide(page,"span");# \$ Y& w p6 B0 p7 ?$ j& u7 C1 t) G6 A
this.RemoveHide(page,"font");0 ]3 C% o7 t5 U* Y5 L% {
this.RemoveHide(page,"div");
! K& ~' o- k4 l+ s this.RemoveHide(page,"p");
) a8 ?4 ?) x" ^% L
+ b# E; K# g( r; w3 S. [3 U }
3 j# _. T0 a9 e n) r+ f 5 W! R. ~1 |$ A' ]% _2 Z
}
8 A" z3 r4 g+ h this.getobjstyle=function(node,prop)1 D4 N) O; s1 o
{$ L5 ]) w, P* L6 K% F
try! a% Q4 C, J! S* \2 G8 |) `1 H0 s
{
0 K/ U. k; I. \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, Y2 \! n3 n+ F/ D$ ^4 x }+ k. n @5 k9 J. d1 b& ?( X
catch(e)( L' s0 w; F3 A, g# T- |5 ?: @
{
: Z$ J0 b6 \2 I! u9 G if(debug)
' i8 M6 `, x: d {" \- ?8 b* g1 o# K3 r
alert(e.message);! P) ^2 D! U B% O
}# `/ I/ h2 y' h7 b
8 G" _3 s) D1 q" f# m$ H! T. s return "200";* {; w' \/ Q* |
}. x" T: V4 K9 |/ n
}
& b- o! z* k9 N" j+ m/ V( P8 F 8 ?& \1 n! ?+ R1 O' ]. Z, y0 a( K
this.RemoveHide=function(page,objname)! Q! o! A- V9 k- s
{
7 \. i& v7 W( [ try
y3 n- y3 e$ a2 C4 X" t8 W {4 c2 G% d6 F/ f6 z5 d( e' _
var minValue=15;8 d- x; B/ q4 t) g" ^& ^9 u
var objs=page.getElementsByTagName(objname);
0 `( [9 }4 l6 Y- q5 Y9 I$ h* M0 u$ r) Z' z: O) _5 m
if(objs.length == 0)
2 h6 O9 p; |$ q: I* P2 ~5 W {! y2 m, z. D7 }/ z A
if(debug)
' f* M+ l# R, T/ ]4 U {1 x: D6 X' o6 U( r9 m3 L
alert("no object found!:"+objname);; G( w/ ?) e, Z9 U! Y {
}, z/ I% z6 \: u* g
}
2 h$ N7 `4 l- S6 }8 h% E9 n else1 p: i! X9 V9 m) h! f/ l- f" Z
{
0 ~& y, v2 u6 Y) G& x : N2 I4 B, B4 D: f' p0 Y
for(var i=objs.length-1;i>=0;i--) ; }% I/ b- ^" J7 V2 {! g
{
, z0 s! S0 S' p var node=objs.item(i); 2 d* q, {3 w a/ P. p6 d! r
5 @4 U7 K( v8 j" i* h
: [8 _+ ~( z0 e/ m# w2 ~ if(this.getobjstyle(node,"display") == "none" ||
6 R1 N/ Y2 S \& _, Y. [7 q this.getobjstyle(node,"visibility") =="hidden" ||5 _# N, ?+ y) {. Q; H
parseInt(this.getobjstyle(node,"font-size")) == 0)
% r2 @" j$ e" v {
3 B9 c1 a' c( x4 @3 k9 P if(debug): j$ V u8 g& s. Q9 Z
{
4 b) u0 N+ e/ _3 j! Q, \& f alert("remove invisiable!");
0 e6 U# b5 d; `. s* J- c# d4 A0 s }
; [& E0 v3 `& M; e# m- f node.parentNode.removeChild(node);
$ ?; W6 ?$ E+ [4 m) i! U
: g$ K1 b+ x4 c2 m1 S }
' O: A, E$ f4 C0 R else
4 ?5 o6 y( [; F. u8 I/ W. ~0 h {
$ G) u( H; t# B. B if(node.parentNode) 4 [9 h( q7 T l' B/ g5 U
{( H6 U9 n0 d# R
var orgNode=node;/ F% Q- n% R$ o9 V
var orgColor=this.getobjstyle(orgNode,"color")
1 E+ R1 i# [" r6 d* u$ V3 b var orgRGB=getRGB(orgColor);
. q9 q ~6 g, H y- P' W
, x( c4 I8 J9 k6 n6 @) }$ `- v% x var parentNode=node.parentNode/ L# J- Y/ f1 D; T4 N3 _1 v# h
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! ?% y4 o! h9 o( S' R / D ^, [. s* X
var isLast=false;
6 }1 [, q* n" q6 T7 [. g& z! a' o ) A/ ^( v3 s3 m+ V' c
while(parentBgColor == "transparent") 9 S* ~ Q4 Z% r7 |+ x0 X: k3 m4 n6 W
{- A4 ^1 x- y# P5 A& J8 P) [
6 P0 D6 s% m9 M% r# ?
( r6 x; q2 j% f9 a1 k. M
if(parentNode.parentNode == null)
: L) w. p; l6 u3 m4 w$ B9 O: p {
; t: l5 A6 Q/ L0 Z( ~7 |. i/ j# v. z isLast=true;
. n& K9 k! _' G0 M4 Y% Z/ S break; }) P. }9 x4 u7 P' ?
}
$ b; l6 }8 M& ` parentNode=parentNode.parentNode;
3 l$ s5 ~- p* B6 ^ parentBgColor=this.getobjstyle(parentNode,"background-color");
9 m/ Q% N( I- k. G( e
# Q# C, i" f, o/ ~7 M6 O if(parentBgColor != "transparent") a# i3 Y1 c* t8 {" e; U6 y4 b5 B
{
8 |! z: d' q* b- c: ]( i# C break;7 n+ [3 o& f/ J
}
6 o# N; E2 q: V# ^% c3 U$ i* ~* X } s9 S3 a' C6 A, w8 s. P- M) O
if(isLast) 1 x! N1 t. P0 o3 l/ v4 I+ J% Q
{6 j4 V; P/ S& t: j2 |
if(debug)7 B: h+ M( n# d! K
{: U0 ~$ S% g/ q* \' K
alert("last!!");+ {- `4 Q5 e) W
}, L* P3 @0 w" ^2 a' w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 a) R$ q7 v; d5 M6 M {% U8 @( d9 a/ T0 B- K+ [ N0 }- P
orgNode.parentNode.removeChild(orgNode); - C- ]* B* H+ I1 k9 n) ?* @3 ?: ?
}
- \! }! V4 @" u( e# c7 X3 W }( E3 y; D" D0 v( h5 D( E! f) s
else
+ a7 J" q0 g4 ~+ H) U5 w {3 i; d: ^( L4 \+ l
if(debug)/ y% O8 L' c2 ?+ Q, l
{4 Q% w& q( Q- n G! H1 i
alert("compare color and parent bgcolor!");
9 A C) q/ P9 f, M" J }
$ q4 }7 y9 |! ?5 U6 S6 E parentBgRGB=getRGB(parentBgColor);3 @; Y, h: B6 b+ Z# I1 y" k) i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" ?" D0 s& t% _4 v* y7 j, V {* B: W* r% o5 r- v P4 B
orgNode.parentNode.removeChild(orgNode); $ V) |; O4 B# u' s9 i
}) o! p) g7 J& m! Q
}6 i( i8 R+ i6 u3 }
}
i( P7 Y2 v- F8 v }8 S; q, \( n( M/ R v+ Y/ }
}
1 [- P4 ?$ \1 s* A# n9 r k8 a }
# N) f3 ^9 }: b- o ; @6 F: T) _* F4 I0 d$ e0 k
% [) m! ?1 B/ p% ] z
var itemFrames = page.getElementsByTagName("frame");) N% F% ~' [3 Z
var itemiFrames = page.getElementsByTagName("iframe");
( }3 f ?( Q4 x % f, z: D9 G. |$ c; g' U
var frame, iframe;
8 b* u; T' n' X, T8 M if (itemFrames.length > 0)9 T) Y" k/ \3 X5 ?# F
{
' s' R7 j3 t' J4 E: x. y6 k' R for (var i = 0 ; i< itemFrames.length ; i++) 4 I: J- e$ x. P H
{9 I) i/ [4 U0 E0 I' s& J
frame = itemFrames.contentDocument;' ]* a& C# w1 R( a7 @) G. L- P
this.RemoveHide(frame,objname);
+ n5 R: `& [9 H) h. |3 n }6 ^; G2 m) M4 Z6 G( S- N& D
}
2 ~( [" K b1 c if (itemiFrames.length > 0)
) y: r' i0 M, Q {: R2 c2 U5 m0 n' q# ^7 z; }4 Q
for (var i = 0 ; i < itemiFrames.length ; i++)
q* }* R, M2 X' y {
' O6 O1 |' D: m! c4 { iframe = itemiFrames.contentDocument;
0 F6 i' ~: V+ V& G4 E6 Z$ m this.RemoveHide(iframe,objname); 0 f$ Y8 |" l# ?- p) e$ `! v
}
+ ]. M7 ]$ `5 ]% F7 { }$ M8 {) Q$ N T& H! `
}
" R/ i: n( M7 [. c9 `- | catch(e)9 B5 T" C$ S! V/ t
{
: g; R+ Y- F6 H; ]+ k! } if(debug)+ B/ u2 ]- U, f( ~) p: y
{+ q' e* C& J+ O& M
alert(e.message);
6 ]* T- `9 _6 ]/ _6 e( x5 |! E' K }
# K \# L7 z1 Q2 u: v( D1 ` }
" D& L. _, z* S1 K0 c0 U }
8 v+ A0 \7 p: A" K4 b" x " ?6 e& z6 f" V
}
( N: D5 H" C2 M& l+ f" r
" l, H9 b- ~: @* ~function getRGB(colorString)2 ?7 j, Z% f9 S! @3 C4 u T5 B
{; o2 F6 H) V1 u4 h; Q8 f m6 }
var RGB = new Array;8 d; ^! j+ M) ~( |3 D7 e
var tempSting=colorString.substring(4,colorString.length-1);7 [" K' _0 B7 Y, B
var tempArray=tempSting.split(",");# o; F' \: x& U
8 I+ z! k& ~& N) L9 H RGB[0]=parseInt(tempArray[0]);$ z x# {4 @0 z0 g
RGB[1]=parseInt(tempArray[1]);3 h n: Z' P9 V. A+ k+ z8 }
RGB[2]=parseInt(tempArray[2]);
2 F: ?: u7 z" ]
* E8 ]$ h9 U3 p0 \ return RGB;
+ L, F8 b% X# b; D* a) Y* l}1 {8 K/ j( m3 N: t. K$ A
function keys(evt)
c- i' \" d0 o& y& S# i {
! k. W7 A3 x* U" K1 \ if(evt.ctrlKey && evt.keyCode=="81")
8 t6 x; }4 [. f* y- y0 } { ! ~ N: e& X3 P/ }2 f* @
CleanHideObj.on(0,1);
% s) o! F3 L+ D% S" E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); D$ R2 T( @/ V$ Q& B9 b5 ~
) v O3 w# P8 C7 V& s" q
}
' O, Z4 j0 c; y/ Q" h } . ?- j2 [) j9 d; E& d
document.addEventListener('keydown', keys, false);
+ z6 R! u: T0 C8 v, y) ?$ z& PGM_registerMenuCommand ('Clean Hide',
7 W+ Y ]$ C# w& O, c4 Nfunction(e){
* x/ d* [% M/ J( YCleanHideObj.on(0,1)/ i# s; @- P8 G; N9 c$ k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- o4 ?/ }& E9 A) |; q% f5 z
});
* a- t# [* ?) i |
评分
-
查看全部评分
|