|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + {3 x+ H/ P7 [0 d& z0 S p* w1 M
6 \6 L( G- T( M+ H* x' R火狐插件,用猴子
+ j! |, {& J# G5 }/ U; n0 m$ ?
' q. {' X0 s# g9 ~2 `( x3 f6 Vvar debug=false; * t3 d' h( p( ]
var CleanHideObj=new CleanHideClass();4 u p$ X* b" u) l) k% d- n, r
|2 |0 C! `% a! L* n" S$ R8 S& efunction CleanHideClass()
$ c' u" l8 j4 k. s V Z{
% o' A/ D0 Z+ s' a
8 u0 X" [- t6 R4 \7 B this.on=function(id,bMZ)
' l/ S, R& B, S% M' z7 y% o: `+ v/ G {# k: B" a6 K1 O% n* |
5 E4 J' n7 f% f& B# x( Z' n if(id == 0)9 A. G% h) |3 ^
{
; T+ B9 u0 ~9 J2 }3 q var page=/* document.getElementById("content").contentDocument */document;
( o9 V( T: e" [8 P+ g+ H# |( D this.RemoveHide(page,"span");
|" W1 ^4 B0 {7 G- d this.RemoveHide(page,"font");7 J2 j a [( P- m
this.RemoveHide(page,"div");) I. ?0 N6 O! r- s
this.RemoveHide(page,"p");; Y. f. o* x; W% D$ a
5 w1 T3 n9 l: y
}
4 Q+ F4 O' k" ^$ K# K 1 I5 y. Z" d$ r! l5 ?- \: B
}' L0 T/ N0 c j( _ d6 N y
this.getobjstyle=function(node,prop)8 |% a; `" c' t) ^
{
4 @$ [" y6 e m1 T' X. i try! d1 S8 b+ r% u/ s' d" L: F7 h5 t
{
7 X& o8 {" Z" @9 Z6 u5 |% H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) K& r' C- K$ @& ~9 O5 \; y
}- h5 W& I" H; v8 Q1 m m/ ?# ~# {
catch(e)
) }4 W6 Z, {2 O% N6 p {+ }6 B% W9 N5 s3 D* H/ @
if(debug)
. M- e# q) w) u1 T( ^ {) `1 E8 t8 U2 S2 }6 x
alert(e.message);2 M% K4 T* L: [ ^
}
; J: {. ]- s/ F( l/ M! v1 N x( ~/ N9 I* l6 H
return "200";
5 q% J2 X0 g( _( H! h, j }, ^- T- X# O& c: q$ s1 g' G
}! O2 T/ t: A! Q3 c6 w* L2 Z
/ A5 O; \1 @3 ~$ T* ^2 s0 ` this.RemoveHide=function(page,objname)
) }, S9 P5 b4 Z; U1 `$ X% Q {
' S; f8 v% v- B% Z/ Z* a3 k try1 {$ D2 m4 \ a
{' t2 d( O" E7 k3 t% U
var minValue=15;
& _: n+ A1 _* o var objs=page.getElementsByTagName(objname); % {& N! J% V2 \% s# Y
4 Q. N' \6 T# s8 ?0 G! z7 i% \ if(objs.length == 0) ( z' C. b8 R; c7 {- {/ l
{
, j2 h. C5 m" I if(debug)) _. o I3 w* O, Y6 W
{
5 J1 S7 T4 B: Q4 @( Q' N# O9 h alert("no object found!:"+objname);0 \% m5 E( i, e: D+ @
}
+ I# }: s* n2 }3 i4 |% V2 k4 X9 o% F L }* \0 _, t3 h6 a# L. d+ _$ b
else
9 w C5 L; ^; B: l! A# Q1 [ {
$ c: J* W: `- r) T6 l( h! ^ 6 |1 h" L% u5 f* s$ p9 j
for(var i=objs.length-1;i>=0;i--) 8 J+ ?4 ?) h' l4 y
{
5 U$ k7 Q% _ c7 G- C9 p var node=objs.item(i);
" R# o/ a- b% q& k0 S+ [ 1 n. L; f* g$ \8 v" z8 T H
* J% k% H# D( L3 P3 W6 ]6 t5 B3 m
if(this.getobjstyle(node,"display") == "none" ||6 W, ?+ i$ T% C
this.getobjstyle(node,"visibility") =="hidden" ||2 L8 _* ?1 I$ K7 s3 Z
parseInt(this.getobjstyle(node,"font-size")) == 0)
- z: T% c# I- ?+ Z/ g2 A* H, T {& g' b* }; L* J
if(debug)
I( i! O; K; W/ @ {6 E) ^ f u- h1 g
alert("remove invisiable!");
0 P, ]& }# Z& T& w( d+ |; K' G ~ }' d5 I* c' Y2 U; U, Z5 w3 D6 i+ s
node.parentNode.removeChild(node);
/ n6 u) R9 o9 q- ^
! w( i, r: Z. Y2 }; _& | }- j! T' V9 H" a. W" Q, g
else F& ]# f1 \7 I" _
{( O3 g+ ~+ }) b/ y& z* W, u( V- J
if(node.parentNode)
* I7 N2 B5 n: F! X, W5 @ {' g( c4 J' c8 _8 v9 U$ `; |1 H7 R
var orgNode=node;
+ f2 `) u2 @' K8 w& D$ z8 t" c var orgColor=this.getobjstyle(orgNode,"color")
+ W) _# F$ D( ~! n var orgRGB=getRGB(orgColor);
" I0 I# a; T+ G" \5 a& C- ^ ; f; I% C) q" J8 ~+ _- f
var parentNode=node.parentNode
. Q' I+ [, ]2 R9 [5 x var parentBgColor=this.getobjstyle(parentNode,"background-color"); L9 {" I+ \/ J$ I. d2 W7 M
, n7 U) N4 ?4 |; G1 K( ? a% I, r% @5 z var isLast=false;' l0 g0 _& Z4 g' D/ D
) C o) P3 ^) G- R7 h
while(parentBgColor == "transparent")
6 r8 Y( w7 p" I6 g' F& z: E {
8 k$ Y! L& L0 y- Q0 Z ; B( s/ T h; J: g& |3 H
- n6 Q: r; o- u2 ^9 j4 ], z if(parentNode.parentNode == null)
/ m; U. Z" |6 \- a7 ?8 ^5 |9 q3 Z {
7 a7 m( h' S8 E \# `# K isLast=true;
) O1 J7 Q( P- U8 b break;& Z8 z$ R+ T( |3 v7 s$ A4 i
}
9 L# w5 n; H7 O& I* J+ V& l parentNode=parentNode.parentNode; f7 u+ d( M- U- z9 @
parentBgColor=this.getobjstyle(parentNode,"background-color");
; k3 G. @5 Q; @7 W) {: H' D% [
. c: P2 p) ]6 C" e$ A# J. I* b if(parentBgColor != "transparent") 3 l, \) s1 S* F
{
: [1 F( j! c; A9 D break;
; c7 V: l8 e7 Z+ Q* I/ c. T1 b4 Y }
) l" U$ x8 s4 v3 ^0 I4 y) r }/ P) }+ r8 z1 p0 I: l" k: [8 o
if(isLast) ( R/ n+ w8 ?& F# e( @( j0 x
{
2 O: R2 p/ `& M( }8 X. _; V if(debug)1 J- R9 _/ O! m0 S; V! j5 B
{
' T. y" W6 S: m1 X7 } alert("last!!");
. f8 h+ S; u% ?9 p. x# Z5 G }. Q) _/ t7 }% D! t d2 @9 t( ?- d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 @5 g( Q" G. ~ {! n5 p, ?# H( S: ?( p! A
orgNode.parentNode.removeChild(orgNode); $ ~# S8 f3 R. E" _: E
}6 O; ]) J. m& x6 ^& a5 w
}
7 n7 c# q6 e2 q! X5 d6 ~ else
; J l" m, k/ J; s' H/ u1 K' I {
3 b. [7 W4 C6 i* d3 J, U1 M if(debug)4 W1 }% w9 ?6 }
{
7 z' e Q1 j9 c2 E5 a$ c alert("compare color and parent bgcolor!");
% D5 |, q, U: c8 L) e( [ }
- o- G, {2 s* F [ parentBgRGB=getRGB(parentBgColor);
4 R# O' }& S y; z% X4 t if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 D5 i% r9 N/ r9 x! Y {
( A$ @5 j, Z8 y- ` orgNode.parentNode.removeChild(orgNode); . L$ G" B( R& D9 e v8 b. B
}) D) ~" d" V; w2 ?# |' R
}$ o; ]9 w/ E' @4 A" ]
}, I+ R, G6 e) k# t9 r
} U) v* s+ t+ ? Y7 T; U! T
}
9 A$ B8 E7 x% e4 R) A2 k }# I7 q( z& Y1 ~5 O
* ^" X& m3 A% R' H8 [* @
. g$ |; X+ X- i6 |* |9 W! X" E' m var itemFrames = page.getElementsByTagName("frame");3 U0 Y# Z" x& Z' A
var itemiFrames = page.getElementsByTagName("iframe");1 X' `4 h3 o G2 @5 H
; U: k I3 E3 `7 |) K
var frame, iframe;! J8 o0 s6 p1 U. q3 `0 T f* d( [( I8 e
if (itemFrames.length > 0)7 h' ] d! f* G, I3 J# N: ]$ C
{0 M0 |* W1 G7 }$ |+ m
for (var i = 0 ; i< itemFrames.length ; i++) 8 j( a0 O4 H. A; r2 w
{+ \. H1 v+ e! l
frame = itemFrames.contentDocument;% `& R, R$ ^7 j! s3 f+ @5 U' a% ^' c
this.RemoveHide(frame,objname); 5 T! I b4 |/ f; u" R
}! D8 a8 k0 q2 P/ O5 X
}' Z8 M( P0 y1 u7 j& b% W7 ~
if (itemiFrames.length > 0)
" I1 {0 z4 H- l* Z' B$ b+ Z3 ` {. m; }+ I: B1 d1 B0 {
for (var i = 0 ; i < itemiFrames.length ; i++)
5 M1 O3 D& @: y1 D- b {
% R. l7 A: t% A( j iframe = itemiFrames.contentDocument;6 W! X4 k% {% u! F; r' G: O( K9 F" c
this.RemoveHide(iframe,objname); & O* @" s# D) i: c: d; R5 p
}0 K/ J1 t; J0 b
}$ U8 ~& F/ Y+ \1 j2 u# H
} g( D$ J3 f/ i! Q, c# U
catch(e)9 A& Y8 ]+ o0 m v
{
; G& V; L9 U0 q& j# m7 n! X if(debug)
7 ], @* Y7 w! O/ E! J$ O {. v# N' R! z' P4 Y, B* u
alert(e.message);* [0 V% X5 @, F& g; [
}
! [( D% X( F/ m# A# u H }
/ ]$ x% L* u7 s3 l1 L7 t: I }! q) `& L) T9 s3 O$ J/ n0 ?
+ T9 v7 B7 _7 S7 r
}
$ E$ P: H. t! b4 f
3 K& n1 F. c# r4 \/ Y5 `function getRGB(colorString)
: |) N) r! S1 Y1 w4 G0 N{: L& U% }9 \1 _8 n d$ m7 k! H
var RGB = new Array;
3 l6 N% V5 s- B) H% C/ ?( Q var tempSting=colorString.substring(4,colorString.length-1);& O3 i) X) K8 @1 @- E, }
var tempArray=tempSting.split(",");& }: Q# B% }& M9 I
2 v8 h6 `- r, G6 k* u/ H4 h, H. @) U: p
RGB[0]=parseInt(tempArray[0]);1 E' c( p3 H2 M$ B$ ?3 J
RGB[1]=parseInt(tempArray[1]);
5 O+ p3 {. c2 L5 z( d, x' l3 L RGB[2]=parseInt(tempArray[2]);( m) K; H: M# n2 U% h. }7 e9 i
: ?9 _ @" p8 {0 S+ B
return RGB;
1 R) q6 R/ J% ~- e; T& U/ t6 D0 c8 a}* j+ T. R6 o w2 ]6 K7 i
function keys(evt) 0 P" y4 N: a1 |' u' J8 d5 r
{ ! q5 S0 d# M {' ~* k. d) h
if(evt.ctrlKey && evt.keyCode=="81")
# w; g' v- L# z q* p. c5 c { $ G/ b- S; L9 W/ Q4 |. H a4 [4 ]
CleanHideObj.on(0,1);; \( S- n, `1 x; Z6 O. f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 Y; L: Z8 P/ k) c5 {% x8 U* p0 o' w$ n - e1 ^6 B3 e: |
}
* v: Y/ Q. q! C }
- B% ^" A% U1 f1 Z4 R; sdocument.addEventListener('keydown', keys, false);
" M( Y H3 {3 P4 n. \* X# WGM_registerMenuCommand ('Clean Hide',
! [( _1 m4 X1 O: p6 F8 Cfunction(e){' N; `. t H: \2 N( g! q
CleanHideObj.on(0,1): _4 ?! R' f9 D4 _5 f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- M9 N9 J1 |3 t8 t4 B, a});5 \0 Z0 j3 Z5 Z L; w
|
评分
-
查看全部评分
|