|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . I$ @% i; H( G& \, g2 y. a* A
8 `0 K% D ^1 C3 @火狐插件,用猴子6 a% W# ]; |+ `1 y) X; ?& {
) i& b9 n3 a! A# a; t. uvar debug=false; ; ~- {- j# y8 S: P$ S4 }
var CleanHideObj=new CleanHideClass();# N, K; o/ Q5 f; B
0 O# |! m! }) \+ i% [3 N# }
function CleanHideClass() / U# v5 s$ L. u) w+ l: R7 T3 y" d
{ % E2 X- p+ [9 z5 J
$ l' o. T; K* j6 |1 R
this.on=function(id,bMZ)% @2 c% y* J; N0 ^+ c
{& L+ N1 X, L+ F- g5 b
; u# r; O# I, n% T
if(id == 0)! h9 ]% n1 k# \
{
2 N" o% R0 _/ x' R0 y! q var page=/* document.getElementById("content").contentDocument */document; ) T- C- s% {' V9 O/ T
this.RemoveHide(page,"span");
" n. y" p! o. o/ }9 p9 F this.RemoveHide(page,"font");
# S- B9 i& p4 h' n+ y; P this.RemoveHide(page,"div");
/ G( K' ~# W9 g/ O this.RemoveHide(page,"p");
$ G+ U. X8 u6 Q0 I5 s2 i$ g! T/ U , l" d: v" p4 I/ \7 S6 e' x% T8 p
}: R4 p% M, m) Y) w+ p& M
0 z4 m: S4 ^7 w. n
}0 ?5 V7 l3 X2 L7 H% w5 F
this.getobjstyle=function(node,prop)
$ M+ {& u. j& }, \% C G {
' Z- ]% L) @0 e% l) J try
! l/ D# ]5 q7 j: P5 t3 U' f {$ X) \' F$ e8 y) Y5 E5 W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ H7 L% `- c+ y7 Q n }
3 H+ G8 X' o" j0 W- B" E% W2 u3 G catch(e)
: r" F- Z: u$ u# J+ y7 H {
; w; v) |8 ~2 _ if(debug)
# n c+ y0 p$ n1 B% @2 C {
( G+ `: v; U" U+ e" P alert(e.message);
, G# W+ s, V' H, B }
* R. q) `5 W1 S( u& G
/ J6 K# E* v/ N! Q3 W9 Z return "200";) f+ e" d8 r N+ [: j, s6 N
}
6 F/ J H. E2 p6 f }
. [8 x2 n* S/ f* t6 s% I" f# t / B7 o% I1 k/ C5 [7 U
this.RemoveHide=function(page,objname)$ m0 J5 W9 m( g' f Z
{0 T9 q% a2 b" F0 y" ~6 k; D
try2 m: G$ o. j8 B) W
{
M# h0 x" {! t# y8 H9 y var minValue=15;
- n' W8 _4 j9 U0 b5 D+ ]) _ var objs=page.getElementsByTagName(objname); 5 u9 X. g4 U0 K+ O8 b
3 _2 V) ]; j1 F$ _5 D9 n
if(objs.length == 0) : g# I: i* V& d% L1 w; r" ~9 k
{2 Y4 `2 E6 i7 T( \ W. x
if(debug) I4 V7 W. m/ O- V% Q
{
A3 L4 M: o. e3 `6 C* K' j; ^4 j alert("no object found!:"+objname);
: N( x. ?' U, Z+ v6 k* n& Y }% J7 r* _- V0 d7 B/ G
}0 W" |$ ^% t9 R% t, j+ @
else
9 j+ n1 \4 w- Y( \: h {8 b7 J, f6 }. R3 {. j
5 ~6 C6 e8 |: B( Q4 `
for(var i=objs.length-1;i>=0;i--)
; [7 W: R7 {" S4 V' C+ ^4 h {
0 Y5 |( t" _: q% g$ R var node=objs.item(i); ( {+ {9 n3 T* M* S( P: H2 T3 ~
+ r& R/ F4 `" x) b8 M0 N& \ 2 r% e, P& ~* o* l8 N
if(this.getobjstyle(node,"display") == "none" ||
4 M% B/ h6 t& ~& W$ W; y; R, T6 ^ this.getobjstyle(node,"visibility") =="hidden" ||
* `( ~6 H& f) z+ X9 i6 x% I2 B parseInt(this.getobjstyle(node,"font-size")) == 0) : A) ? _) V; e* m7 B5 a
{
$ x3 g( X+ U6 T% e7 z if(debug)6 i4 M4 ~, M# _- o
{; y( `/ p1 ^% G' F4 c( ^- u
alert("remove invisiable!");, k1 T# O: o1 S" B( x, p
}8 t1 ^% q$ q3 q* w* D) B
node.parentNode.removeChild(node);9 s; u2 K7 R& Q0 x7 |7 z
1 D3 J' ]* c) ^/ q" o2 ]2 g }
4 s' `8 @- M, Y0 J else
& z. {% |' O9 A0 N6 G( U {
$ n5 e1 h' p0 ]7 ] if(node.parentNode) 4 \* y9 b& o% A9 n% |$ g: U
{. v" P4 W3 [5 H2 A1 T9 S
var orgNode=node;
7 P+ L e1 L7 u' k d- b" \, D8 x5 z var orgColor=this.getobjstyle(orgNode,"color")3 Z' B' P6 n: P- G1 ~3 X
var orgRGB=getRGB(orgColor); 4 U! M$ j; s6 N* ], z5 c
" W4 A& {. y8 \2 n' h* L var parentNode=node.parentNode
! T5 J) B# \' s1 A2 u% _ var parentBgColor=this.getobjstyle(parentNode,"background-color");
* \8 F) _2 H3 w G% C6 T 3 [4 K6 w- f2 Y0 S g# d O
var isLast=false;6 ?- Z) q- X5 T! w% e/ l/ L! j D
$ E {% c. V4 s$ R2 |
while(parentBgColor == "transparent") 7 e$ U2 h2 [& k3 Z1 V( e; D6 i, M
{( Q: K6 D T: D' p4 ^3 q T# C. t( h
: X2 T/ K* s5 E% O; h1 t
7 o% l( p: V; t, j if(parentNode.parentNode == null)/ U. y& b8 [; A+ S( @4 [4 j/ E
{
! h& ?- p: q* K9 y, F) c- g1 q isLast=true;9 l8 c# U L% v! B
break;
7 K! b3 h# m f$ u: u2 \ }
4 M5 f8 M# n& `# u# [+ ` parentNode=parentNode.parentNode;$ { i4 n' r& a* J
parentBgColor=this.getobjstyle(parentNode,"background-color");+ F: Z5 N1 s7 e. N( n' K2 W7 p
3 ^% I7 P4 z' u7 `3 O& b if(parentBgColor != "transparent")
, a O4 h4 P8 Q* w1 G/ b6 l {
7 m6 }0 j j* d( [0 {0 m! ^; } break;
$ L$ ]% ], ^6 V! w1 Y/ q }
7 t# C6 ~' G) S- z0 g& X8 A }/ O' p4 W3 I7 L' {. v$ Z
if(isLast)
}( g$ [7 k4 d, T4 ~7 r {0 ?" m1 C0 m( f2 ]0 M
if(debug)
5 g+ R9 P8 {2 `& b5 } {" Z% a" a, x$ l5 u) t: D9 X( w1 T
alert("last!!");3 E, @+ F; |/ P; r
}
5 ~) o: g7 B3 ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), r* w: a7 t& P- Q$ V# T
{- Y0 k0 r3 x, a& a) s4 D5 {: H3 i( b5 V
orgNode.parentNode.removeChild(orgNode); 3 I. S6 f7 a. F. e8 S9 b9 Y
}0 f' O' G6 }3 B' w- L
}! i5 @ ?% q8 F1 S
else
$ v) u, T: U; q7 s# K {
. [; s- ?( k2 n0 K if(debug)
) \1 P) I; T. G' B6 H {
0 Q/ U) Q$ Z; ]0 f3 W$ }4 z" k alert("compare color and parent bgcolor!");+ G( S' e# U4 Q/ f8 L* y
}2 }5 P7 g+ |: E% D1 [
parentBgRGB=getRGB(parentBgColor);
z* a/ J0 m" r# B2 V+ s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& D/ H! I8 c% X7 [; D9 T4 B {
, M/ s' B& K9 v9 {- W/ C orgNode.parentNode.removeChild(orgNode); , f( y# y/ Z, B( U1 B7 v) ?
}
2 @, G0 ?" v5 |; I2 l% q/ K }6 T+ v2 [5 d# g0 f, U+ \5 m& R; ~
}. A1 |( V+ M, q, q
}" j$ Z- j$ | s
}
1 J# j- O9 a F3 r- d }( j: d1 s& K/ e5 H3 s9 o- ?" d, h
9 ?* g: z8 T* n) x2 Z- A
5 n& B1 H J! U# ^ var itemFrames = page.getElementsByTagName("frame");
; y$ B$ ^3 j, R8 W. \ var itemiFrames = page.getElementsByTagName("iframe");
0 ? ~ P* Z# z8 q
2 e+ ]6 s1 t p5 B8 [ var frame, iframe;& l# n9 \& k5 E
if (itemFrames.length > 0)
% o0 E' P# V M4 ]* x c: I {
3 ^7 U* q4 l# j& }" \5 Q for (var i = 0 ; i< itemFrames.length ; i++)
& V/ Z! ~6 r0 @' M M {
$ ^+ h0 W* z% m1 `- V; O; O frame = itemFrames.contentDocument;" \7 b$ B0 z9 O- L% P/ L3 w# V
this.RemoveHide(frame,objname); + t. u: ~# k% l; c# @
}! u& h5 o7 u" p4 V3 H: ?
}+ n+ R3 Y' K$ j ` ]5 U5 r
if (itemiFrames.length > 0)
: V5 A: G L' o& Z {
% h& y3 w& L# A% c9 Q# X$ T; m for (var i = 0 ; i < itemiFrames.length ; i++) 9 w* h' x4 Z6 h5 h0 D3 \
{
9 f$ B+ h+ H9 z' [* k+ C' ^ iframe = itemiFrames.contentDocument;. f7 C& d. A: r$ G z, J+ y
this.RemoveHide(iframe,objname); & c8 W5 q9 o u1 H5 Y" S
}- A( \4 K$ H D, p" R
}0 f$ V: ?2 t: F X3 b( }
}" z* ~7 m$ U0 {, t) X/ a
catch(e)
& j0 M6 l# d" T( Z9 x6 p; g) m2 Q {% ~3 f! W: d/ e
if(debug)8 ~' y2 K) }& f4 O
{1 u; Z$ _9 p6 \! X+ w5 H j
alert(e.message);
, m/ R# l# L( ^/ V1 @) u }
! ?2 P' D, ~7 X- p7 N/ r# g }8 Z# b d+ F0 O( L' R" E7 Z; S W
}2 y: Z/ ~$ G8 z$ W
# v7 F" X* f# j3 @1 o: E
}+ `. U; e- k* t, f& E7 A3 H/ k
/ c6 d5 L: C5 D; N, t
function getRGB(colorString)8 @+ F- b4 W& c# `
{( _- W0 O5 Q) B, j) ?+ k2 c
var RGB = new Array;
- }( R/ _9 `) \, S9 K$ ~ var tempSting=colorString.substring(4,colorString.length-1);5 M! F4 y& P/ I8 |( V2 e; G
var tempArray=tempSting.split(",");
J- _& Z! T4 M5 ~- V" k5 N; m0 j. Y1 x* D) n5 k+ N1 [: S6 A
RGB[0]=parseInt(tempArray[0]);4 {) h- s, t& ^: a# _# }
RGB[1]=parseInt(tempArray[1]); N% o3 r5 s. q
RGB[2]=parseInt(tempArray[2]);
5 X& i9 L5 H' J2 T # W( e5 M: ]& N `
return RGB;6 r: O5 ]* v% l" U/ X
}
' O* k8 ?, r1 [9 z- D3 ~- Xfunction keys(evt) ( F, K2 n ?2 N( a
{
0 Z" S3 Q& o9 _7 |/ p: c% [! G/ v if(evt.ctrlKey && evt.keyCode=="81")
. a& d/ G( O5 ?. S5 O { " ^/ ~' {- U8 e' |9 G
CleanHideObj.on(0,1);8 J" ]' N( T9 v2 s7 @& l) v& B6 x2 \% \" K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! S- K: x& D, P; C) j% T
* T$ S9 C4 b/ `
}
' Y- W: t# j5 }# A8 R } 8 U5 G2 m! B3 C( O* K* }
document.addEventListener('keydown', keys, false);
Q, S$ |0 O9 B. ]( pGM_registerMenuCommand ('Clean Hide',
2 ]; V9 j5 l" o& V3 ~; dfunction(e){
& [* n B) k9 D. |5 E; s" i% E1 sCleanHideObj.on(0,1)2 ?9 b8 d5 n/ q# T. n9 K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ p7 i! ~+ i* ^& I% W( W});
. q' I$ o, X& G0 S1 k+ m" [7 l |
评分
-
查看全部评分
|