|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ B8 J. h3 m& v0 q
+ x& l' B2 `$ z7 j' |火狐插件,用猴子
/ E; A7 X* g0 ?4 r% N+ C4 i6 k W$ `" i5 f9 j6 N
var debug=false;
/ _! O/ G' F& x6 N' E$ c4 R( \var CleanHideObj=new CleanHideClass();, i2 ?. f, I: `$ P9 F6 q# d' A
" i( p- s, ]1 H1 b+ p+ i2 f
function CleanHideClass() 7 S! _" p7 @; ~: V% p
{ : Z( P {0 Q* }5 V& Q: q
7 B/ A/ \ G6 _
this.on=function(id,bMZ)
P1 R+ c y( {; k U {
% o) C3 c* ?2 T
0 \) V$ T8 U, d5 {/ ~- | if(id == 0)% |6 j0 m3 p5 p' f0 B
{% \5 v7 f1 w$ k
var page=/* document.getElementById("content").contentDocument */document; , k# g! u% H r0 x
this.RemoveHide(page,"span"); w& b/ p6 h) T
this.RemoveHide(page,"font");
- y- K- M2 V( L n this.RemoveHide(page,"div");& m0 y+ }; w( z9 N3 l+ |1 ]
this.RemoveHide(page,"p");
$ { u, T& t7 I( D5 c - y g. G0 B/ }& {2 x
}
l7 H3 W; `" D( _; R+ Z# d
# ]0 g6 R5 f, C8 |$ u1 | d1 o! J }8 i2 e8 e- \% n- A. V/ O
this.getobjstyle=function(node,prop)
2 U" F+ ?& ?; X) C2 d {6 d# r# j' K# ?: a- c" N# x
try
T& V$ X2 p) }: ?" Z, e; b% @' R {
5 s" o8 o( c6 ` return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) _$ q0 ^7 B9 f* k& u) k
}
2 ? @' n) B* q3 _4 L4 Y catch(e)3 E: ]" D8 C |9 o8 {# m% i! T
{
$ p- x$ a1 J$ Q! e) s# R( x if(debug)
5 p7 O/ [ C$ ?: D' {+ A {6 ?. C2 L9 @$ C/ D
alert(e.message);
, ?, ?; \: g( I }# M" O2 d: x0 k8 |) M1 ^1 u- X: A
) @0 W/ W/ q* L% Y0 G
return "200";2 c1 V; s3 d0 x" N" _7 N0 E
}" z9 J+ N* h3 U/ i
}: N7 r' v* Y# p6 C/ ?
7 i! i( [/ l D& z8 y' a- R/ v5 l* t
this.RemoveHide=function(page,objname)
, X: d/ g! g* X g {% ^$ h& V/ v) ^+ `8 n) k- ^
try
2 F! o! W7 h& F: L {8 A- L; l2 Q4 E% X- L$ k. K
var minValue=15;
" P5 S& R; U5 {. C var objs=page.getElementsByTagName(objname); . e- ?9 d' V' f
" j( o$ E# ?* V3 x4 B3 I" g if(objs.length == 0)
7 w( N7 |, b* n3 w" ] {2 |- S: ^! y7 C* n1 u
if(debug)7 p9 g9 o) U4 r, c& ^& i
{& U3 `' C8 V$ Z: b
alert("no object found!:"+objname);2 `2 Z: \* u3 q, [% j0 _
}
1 B, c' M$ a. c6 v }
% ^5 Z$ y. `7 B- E/ Q: i else
" n4 W3 ~( l m* m3 U0 o: c: { {! C. B) h* L/ B% q$ T7 X4 g
^& y/ y5 q) E1 V for(var i=objs.length-1;i>=0;i--)
; @- o* R2 b# G) w: p3 q {* n- g6 F% S7 b7 M3 P. q! [( [
var node=objs.item(i);
/ Q' a% D0 {+ D5 k : f2 c% y) m- I# r, C
6 p) a! `3 Y% k4 [1 U. |
if(this.getobjstyle(node,"display") == "none" ||
$ s9 m. v. b! t2 }* p9 d this.getobjstyle(node,"visibility") =="hidden" ||
' H) E" I3 p+ h% s7 j' \ parseInt(this.getobjstyle(node,"font-size")) == 0)
; T8 ], o' Z* L: i {' x) H2 l3 }2 E6 A# x+ ]3 g
if(debug)
s3 m7 W: ^! t/ C {- \; s3 v" ]0 h3 \! `: s
alert("remove invisiable!");
( }, c3 \" N- n0 e& o1 \! Z }
! _; ^4 F1 V% M% U& z node.parentNode.removeChild(node);4 E6 n' z, x" T8 x! i2 q
7 k% i+ s3 t, p+ m6 `6 g3 C' e; P* L
}
H# c ]6 E* g, ^) y. z- B( w$ y else
+ u# u z1 Q5 G g {: N, L/ u' _% @) T4 B$ | q
if(node.parentNode)
. [2 Z: v# g+ f1 Z* D8 C {# ?# f+ o! r+ Z5 }0 t0 x
var orgNode=node;' q i8 c3 ], @- s
var orgColor=this.getobjstyle(orgNode,"color")
{: l. H% @: _: I var orgRGB=getRGB(orgColor);
B+ n3 ^# I4 O. E, `2 D0 v
+ d* s( I( D# {% X+ Z var parentNode=node.parentNode( E, E* W, c$ i U6 k" B7 V z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 F x; i, a7 M " k" W( h$ p& i6 F- M2 |: `2 j/ I
var isLast=false;
5 o+ ~% p. A! W! d4 }; a) G ; H5 M9 P7 {. \6 S: W f3 ?
while(parentBgColor == "transparent")
, e/ l! k6 E' J/ @# R, p {! y% U4 ^( k0 ^
p# b/ B) u0 M+ x& P 6 t9 q- ^! c& P/ s/ d: o
if(parentNode.parentNode == null)
5 ?7 [, N; G0 k2 f% I: l5 s {4 g% i% r: r# U& x
isLast=true;
( X$ Y3 H1 A+ ?: f$ P break;
: s' U+ z% m1 K, U }
, [* q1 y5 n% S1 K8 k0 Z1 \: p% o/ J parentNode=parentNode.parentNode;# _% ]4 j# l) ]$ t7 o
parentBgColor=this.getobjstyle(parentNode,"background-color");
( V) a+ A L- ]: i' D/ F* \1 e$ d9 R
if(parentBgColor != "transparent") . z( O4 w% Q \9 T
{$ M6 `. Y% `. Q# L2 w" B- e6 {
break;0 p. H6 g* t: s! v' r
}
; z* R! w K: W: x' D) J8 r }; l1 p6 y2 W4 z o# k9 Q8 ]
if(isLast)
: z$ \4 [6 R4 E' b- a- H {& [5 X1 f& @5 D- {0 y
if(debug)
" W+ K% I' [( }+ |( v& w4 ^. v$ n {; {$ P$ _4 W0 y! h/ e8 ?9 a
alert("last!!");
7 `5 |3 ]8 z1 h& M: S" F }3 G5 x% v. Y; r$ _2 T
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* L1 a* w2 t; f- N/ e
{
& x( x# ^0 j- N* o+ `* \ orgNode.parentNode.removeChild(orgNode); * \7 j5 r2 L" L5 K- |8 `5 u/ E
}
: c$ I1 ~( Q; x }7 U+ c$ O3 v. t; o1 h. A* y) `* U
else
% D" G" a1 M D7 z: t {4 u4 G$ T( H+ `/ S2 e- {' X
if(debug)
$ G. J* Q$ A# S$ V9 z5 K+ i: e {
5 G2 n0 x" \ D6 [5 h alert("compare color and parent bgcolor!");
0 Y+ r/ G" G) P8 Y }
9 K& d! U4 @5 ~- V parentBgRGB=getRGB(parentBgColor);0 V" d7 x# b$ j" K
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 P1 W# M+ F; x- x9 k) h |' S3 K( E/ q { E( b' R, A! _0 a# b) @
orgNode.parentNode.removeChild(orgNode); 5 q# ]+ W$ [( @0 f# C. Y
}; j: {! \9 T0 X6 |
}2 c( _4 s+ P ?" O! W+ ]
}+ U: y$ E: O: |& ?: S
}
& I3 ?4 ~7 M- A* O! S }
, a: W; p& n% u* \! e: f }
7 N9 X& f# k- Q- ~# N + Q+ `* L8 a: r) x; s2 D0 {# }# S: E
: g. d9 n$ b& k
var itemFrames = page.getElementsByTagName("frame");: X5 ^* s6 n! v5 b6 ?
var itemiFrames = page.getElementsByTagName("iframe");& P {2 T; _3 Y, ? ]
4 P/ w, ~* U' s' Y$ m4 { var frame, iframe;; E9 O' _, E/ t+ O1 B r5 d6 k
if (itemFrames.length > 0)
+ M% g2 D) ?" [/ Q0 |; I, ^& R# Q {
$ L/ y' ^* p& ^. M for (var i = 0 ; i< itemFrames.length ; i++)
! |8 K6 B6 N# K' t {
# W2 I* G3 s! O" y6 P frame = itemFrames.contentDocument;6 Q1 U3 S' n. B) a
this.RemoveHide(frame,objname); ( R& i; O8 S4 v, g% m
}! u& N8 P! [' t$ M) g( q' u& s
}
+ ?( z: @/ R: L+ h0 j- T/ V5 @8 H+ g. \ if (itemiFrames.length > 0) J6 u5 i. A" Z3 l" M# B
{
. I2 l$ a( U( `6 c# d9 O9 @& w0 D q for (var i = 0 ; i < itemiFrames.length ; i++)
L2 }8 [1 r4 g4 b! L {6 }$ ?; C% N" n# Z
iframe = itemiFrames.contentDocument;* U4 d4 d( y$ i5 P5 D
this.RemoveHide(iframe,objname); 1 h. c) t% v" m
}
k7 k# v4 J0 t5 A }
' @& l$ u7 U' \9 b, { }" u+ j; {+ J$ a: n! r/ @
catch(e)
! w$ z. ^' \+ s8 x1 z {
, A4 s2 z! K: D! F% y if(debug)0 F6 B' K' l$ ]! E
{
2 y( h5 D) w: ]9 T2 F8 E8 H; l alert(e.message);
5 A# ^8 Z s3 @2 c' D: I8 J8 J }$ E0 P) T1 l, \+ o9 |1 `6 n% d
}
( Z0 n5 b6 q0 X8 e1 N }
* l8 o2 S k5 U d) @9 w
7 V8 n" i+ \9 w+ P: [3 L; i}
" y- h6 }* O) V% v
/ F7 z/ x; W. {" T; @& g! U8 Afunction getRGB(colorString)
' W8 w" s2 h, ?4 O5 ~. n( ] m1 B8 d{8 a. K V( f4 @+ `2 R
var RGB = new Array;
% M( x5 K9 |: w/ j- z var tempSting=colorString.substring(4,colorString.length-1);: ~. u) l: T# p& u7 D
var tempArray=tempSting.split(",");3 L" v4 s: ]) A% e- G
* M" A' ?# q* b1 S
RGB[0]=parseInt(tempArray[0]);
! J' K7 X3 i! D RGB[1]=parseInt(tempArray[1]);" a! C9 L2 S% S$ j4 f3 \' R, [
RGB[2]=parseInt(tempArray[2]);2 H( z2 l! ?! L0 G6 ^, ~
. ^( {1 I, c7 C return RGB;9 L* X8 J A. o& O7 v
}2 { x3 j, ? j/ L/ W5 N
function keys(evt) " x9 S( S& L$ D9 H. `% O
{ % i* s* r; i; `7 c
if(evt.ctrlKey && evt.keyCode=="81") 4 w. y+ U4 ^6 Z2 w
{
8 E& c+ {; Z, A6 k1 V { CleanHideObj.on(0,1);
+ c& c* @! U! l) O7 f! q5 B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - N) S3 n' I% h, ~6 x0 n
; m% _6 y' m+ }: V
} : ^8 `5 q# \$ r- s k$ G0 p
} ) A+ y- a, W+ X
document.addEventListener('keydown', keys, false);
- `) w7 [+ {2 R9 FGM_registerMenuCommand ('Clean Hide', c. H3 r0 Q/ ]2 p) M, Z$ c
function(e){
4 V5 B; E) v8 ?1 {( t& F8 rCleanHideObj.on(0,1)
9 ^. f2 F- D, T( [3 q+ }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' U$ ^# I5 N/ j8 p
});
2 S6 S9 y+ p( f: d: z3 V8 W |
评分
-
查看全部评分
|