|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 B& W+ D8 \. i& d. a
A. l, H# @, f& N4 O
火狐插件,用猴子
; C* D! ~: y9 c' b3 Q( F. v+ K
1 D& A u5 s. ^ o5 Zvar debug=false; ! M' S$ \7 t5 K r
var CleanHideObj=new CleanHideClass();
/ R* _$ v2 d8 E% g! k$ d& T
- R* Q z% _3 D. o: p* V2 w% @8 Ufunction CleanHideClass()
" I# X0 [. U+ L) q$ Y{
7 }2 U" ~0 `2 H) W! f + i9 h: E6 S- ~. u% W" _
this.on=function(id,bMZ)8 Y* ]/ H+ q7 p
{
6 k# N M/ c- K3 \. J0 B! x/ j4 M, j
) C! t7 t6 t M' _ if(id == 0)$ D9 U7 s9 b/ M( {6 s# J
{- F0 p5 B- f% y' B( w
var page=/* document.getElementById("content").contentDocument */document; ( e0 j3 ]! Z7 z: i
this.RemoveHide(page,"span");% l, Z$ H' x- e" y7 }% q0 _% u
this.RemoveHide(page,"font");0 s% N J7 Y% G( b2 _- W% R
this.RemoveHide(page,"div");6 N; U/ d6 Z1 S" p4 ^, d
this.RemoveHide(page,"p");+ w Z* B3 w: i
1 K3 f# w! n$ h
}
5 S% n' C4 h& \
h# o* m9 O, w" s. ^" W }
6 ?2 s$ T; _" Q) M6 k" v this.getobjstyle=function(node,prop)& Z' V; a6 q0 F& L8 Y4 M4 _0 L
{- Q- h; E" o' b6 ]0 w4 D- F/ B
try
6 r) t# N% q! s7 m& f {! ^: `4 M- W% T9 U2 o, K# }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- s6 O; V: e$ a( Z+ ? }0 p }! ]" a1 Y4 G0 r- ~0 {
catch(e): F" L/ B. O( O" R
{
% i2 \/ T. P( b# s if(debug)
! H D: B# y2 _" U) W6 s {
) g1 Q+ u* D' [4 M' t7 H- y0 R, W1 g alert(e.message);
: w7 J* b: g; m; @ U# @ }- g# y7 K; Y" a- s2 {8 [
; m. ]1 A, N1 h& T7 u0 m return "200";& J0 d4 f0 K$ M# W' a
}
3 Z2 O1 {. |2 r+ ^, S' f }
. V. ?$ z4 s5 ^7 L3 F- u
% c1 \/ O0 ^( Q this.RemoveHide=function(page,objname)
+ r+ [+ B( U. z9 ~, n. @5 D$ H2 s {& b- e$ B2 n h0 Z9 i5 M. z
try2 j H2 [0 k+ `! k! a
{
2 h- [$ e6 }4 W' N+ O4 \ var minValue=15;
2 ^( |5 r9 M- C( @+ a var objs=page.getElementsByTagName(objname); 5 c0 ~; \1 c/ L2 H6 W
7 [' {: ?1 _+ h& |
if(objs.length == 0) 8 M: |/ C2 {; f/ l' ]
{4 m6 m$ O4 V. g& x4 ?
if(debug)
" n0 w8 `/ ~/ t {# u' a$ ?' Z6 [
alert("no object found!:"+objname);
, ~* o7 C5 z4 c* \7 o2 { }
2 Q7 P$ o, f) `. E# ~6 S8 L }
! z/ X( ~' z% u6 e4 ^2 ~, c% P/ o else
7 ^$ e7 U/ R; Q% f% c {
7 `( B0 s/ K/ ^, M3 t! S' p0 n* }
" g' i% }6 r- k- K for(var i=objs.length-1;i>=0;i--)
5 e$ W- [$ r' {% ]' G( E {/ z5 P4 C* X+ B2 H
var node=objs.item(i); ) s: [- z! R! Q( X* N
( w" |" Y. `$ ]3 C, c
: C. I( x. Z: Q4 B% B" T
if(this.getobjstyle(node,"display") == "none" ||
0 d% b0 \) L( l% @9 w. \( ~ this.getobjstyle(node,"visibility") =="hidden" ||
4 W# S" G7 e6 J& A0 B! f3 b6 x parseInt(this.getobjstyle(node,"font-size")) == 0)
* z2 v r) Y4 S& l {
; r6 i2 j$ Q+ S if(debug), i! v: ~( L5 G" S7 ^
{
& X/ N6 p9 D+ w" m" E alert("remove invisiable!");0 B8 A5 N( l- N9 Z/ [
}5 O' {" Y. n* \# r- C. F
node.parentNode.removeChild(node);
1 U7 f9 G* t+ _
0 M$ [4 L( e. t5 }) u5 ` }
+ V5 L) F0 X5 S; r; ^6 \ else . g/ o& @* f* u- M% u1 d
{0 ?: g' o* t: C
if(node.parentNode) 0 k& W. a6 h( M; ^1 q: E6 b
{
! d( D' J' f( _& Z, C* R6 I; s var orgNode=node;2 z; J0 \1 z8 G9 O3 T U0 _
var orgColor=this.getobjstyle(orgNode,"color")
0 r8 ]) s+ D+ V6 Y var orgRGB=getRGB(orgColor); / Z/ @' o5 N, v3 C5 ?. y; b$ G" K
) m2 P6 d/ s9 ^) i H7 j4 Q) P
var parentNode=node.parentNode& v3 h6 q7 [. l, E* n1 L5 r1 G4 X- o
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 B' A9 |5 O4 O" A& l : q* X/ K) Y, p, a) E' b
var isLast=false;2 N* ~) m6 s3 Y4 `, ?1 w/ E- a
+ J8 W% o8 M0 _) \5 H+ {9 x7 B( e) }% b while(parentBgColor == "transparent")
# f6 o8 u) i. Z' O4 O {
% u0 x4 z5 [4 P6 g
W; T5 O( X! L3 e5 { 6 g3 G- X5 ]1 B: g" }
if(parentNode.parentNode == null)& Z- m3 p2 J( a
{: v' o9 F+ ?. t
isLast=true;+ ^: q- |4 W6 f0 L) q9 P
break;! A! t8 j/ }- ^( e! f% b
}
% R7 ] Q+ C' ? parentNode=parentNode.parentNode;' d" `( ^4 j- [) Q# q
parentBgColor=this.getobjstyle(parentNode,"background-color");
' ~1 s( W" T' X+ n* Y6 r% _- P
" h; q# t8 G* n: R A0 k; z if(parentBgColor != "transparent")
, E* k: `# |3 v3 u/ y9 y1 U6 k" b {
* u; m+ @7 B) j4 y: @# g break;
3 e& p7 H. S0 H( w: ]6 o; m }3 u5 J0 b* I# a" \; p
}( P/ z% ~* P8 t P" I7 b
if(isLast) " H! _! }+ o. S& L* a
{8 O T4 R' x( B
if(debug)
2 X1 I- W$ G* l+ e+ i$ T4 E {8 h4 D; \6 @8 ^+ R
alert("last!!");( a" a! D7 c: c+ }3 N S5 h
}% b( o3 u' m+ M4 s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. ]8 I/ H$ c2 K" M$ W. o. m6 @ {
3 k; z3 Z. ^- F/ G- @3 a/ p orgNode.parentNode.removeChild(orgNode); . C4 p+ }( `$ Q) l" c
}
" @% d$ Z5 U9 b3 p8 i& A& U$ n c }
5 N$ j, s# S2 ]# v% G; a4 @ else
+ z% Q" i: Y2 P% k% @: I {
9 \. }* `: V1 I5 U$ k E& L if(debug)( c( l: B3 I* U/ u( e: y4 F
{; _9 t3 M' i0 j4 A8 K' X+ R
alert("compare color and parent bgcolor!");1 ]- I1 F* t5 O9 m) y
}+ R, h: ?8 J3 V. E% H1 J
parentBgRGB=getRGB(parentBgColor); s% E3 A: T/ L0 a! {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 c f' N' {1 O0 x9 O
{- ?7 ]/ P& \$ b0 ]5 |
orgNode.parentNode.removeChild(orgNode);
1 D G6 C2 R( k3 k' _* F5 {8 e }
/ P: _$ L6 f$ L$ [' b2 w4 C } U1 s4 i6 A- @% N7 L
}
+ p4 k+ M/ z/ n }' v; y1 c1 g, r% }7 d' F
}
c% q9 k7 s7 O8 ` N }+ X) C0 T% ]+ F0 ^4 [
, A& s4 |3 f+ k$ i1 y
5 W2 J3 G* w$ O+ `% c, \7 e: b var itemFrames = page.getElementsByTagName("frame");
) H/ h3 n. i# o( l+ F5 ^2 d! u- o var itemiFrames = page.getElementsByTagName("iframe");
6 _0 c' Y/ [ H( q6 B 5 P( q7 X( E1 Z$ v
var frame, iframe;- n! N& ^; j6 }, m8 d
if (itemFrames.length > 0)$ l* M; u' Y" q( j
{
2 t0 K( R5 B' c$ R F for (var i = 0 ; i< itemFrames.length ; i++)
: g4 r2 x ]7 W( {3 D4 m {
H! C9 B$ y9 Z/ o8 j; Y- E frame = itemFrames.contentDocument;8 I# Z! q; j% h' C! I2 b% G: T
this.RemoveHide(frame,objname); # U: z3 N) y/ r, R
}
. ?. Y1 K9 w) X5 w* K) z6 c }% S. F) B4 V2 x2 Y, u$ Z
if (itemiFrames.length > 0)4 S9 o4 R9 b/ D+ U6 d* j: _. K
{) R( A) b& k3 \
for (var i = 0 ; i < itemiFrames.length ; i++) + G3 b' t2 r( i7 B3 i: @
{6 h3 ?$ n$ K0 h Q6 Z
iframe = itemiFrames.contentDocument;
( v0 g; S; d6 E" ? this.RemoveHide(iframe,objname);
7 @2 R- M N0 I" ]6 p }) _ ?9 l& N/ h( Q
}
! I/ C9 R$ n2 |- k) Q, G }
, u0 s8 p) G0 F; H( H8 O5 @- ]6 _ catch(e)' x4 M8 b+ m3 M ?1 Y4 b2 c' {
{+ n1 U. n" T8 k& A' g$ O
if(debug)1 v7 t. T4 o/ @; E, X' [6 Z
{
7 E! H2 Q- w0 ] alert(e.message);' q5 d- @2 b, P I4 Q2 E2 f2 S% c
}
& e- @. h" f" @: e }
1 X4 }2 F; V6 K1 D7 C }) z7 d! E, J0 X
" y9 A4 {/ `& Y! h
}3 X! ^, |; `6 N+ w
0 H/ D7 u5 j3 A0 f7 Rfunction getRGB(colorString)
$ h* V6 x) ^3 ^{
3 l6 B" ?: G7 q" ? var RGB = new Array;8 d4 j3 @" d O% _' j( B" A2 l
var tempSting=colorString.substring(4,colorString.length-1);# D7 }! ?5 W, @- y+ m$ [2 |
var tempArray=tempSting.split(",");
& R+ P* O; _. F$ ]% x1 P
3 o* ?( z: x# k1 E+ ]" a RGB[0]=parseInt(tempArray[0]);
' Q2 C+ k- _/ p( _ RGB[1]=parseInt(tempArray[1]);' T/ h6 X* o1 ]9 }0 b" S7 W
RGB[2]=parseInt(tempArray[2]);
: a! f4 n. o3 P3 Y/ U A; W
. w" f* v+ F# B) g return RGB;6 k, J% u7 X7 p* p" v o
}
! }: y/ C2 K% Q) ~function keys(evt)
+ [5 H" y! }! P# K/ U( n { % U5 b0 M& X" p& a% G& I7 ^) X+ f
if(evt.ctrlKey && evt.keyCode=="81")
1 W9 z. L$ @- B( ]/ [8 J4 A {
4 c' ?8 ^% Q3 m0 d5 i! F. G CleanHideObj.on(0,1);$ H- @( H6 j1 g8 {2 ]( y# I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 J+ O4 Z; }3 J! K! z0 F 4 Q) Z2 i7 u, ^1 |9 i# ]) {3 _/ D6 J/ A
} 7 k: M/ }+ @: |- V" _
}
. }% H7 W9 J6 Y" ?document.addEventListener('keydown', keys, false);
$ H' e& P; f7 N; H1 d# RGM_registerMenuCommand ('Clean Hide',
9 N- g. F. R2 C+ ?8 {! I5 M N8 Tfunction(e){
, D. T( v3 |6 ?1 P3 ?" F9 nCleanHideObj.on(0,1)
, z) v# H3 p) \) _' b8 Talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" R5 [$ \4 P T) x% d: c* D});* K+ h. v- y: q! l7 N
|
评分
-
查看全部评分
|