|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 D( c. M) z$ @( T9 S* X0 x) f5 D' Y, p6 Z1 n% D
火狐插件,用猴子
) b! E! J9 v1 D1 e" g" Q: t
! ]- D+ ]1 _" e" Qvar debug=false;
+ j# J' t* V; ~' x mvar CleanHideObj=new CleanHideClass();
' G9 @. `( K) }" \7 [' V! b) m( v7 z' b2 e9 b+ B) x
function CleanHideClass()
( r4 v- b0 A& V# A3 Y9 d{
. a1 H1 v& ^4 I4 U h4 |4 c' e . V) H. z2 J: |+ P7 @: _% v( W( |$ K
this.on=function(id,bMZ)
8 |0 c: ]$ h+ `: ]1 H, V" F) [ {+ B* U3 s. {. Z# n& Z# w# D- N+ R
8 e$ Z) X$ A- v8 M2 ]" s if(id == 0)7 K9 _( S9 q+ y/ r5 Q$ K' |6 P
{
6 Z w* B$ r) c8 ?# B; O5 q! L/ t! D var page=/* document.getElementById("content").contentDocument */document;
* t! x& y0 z g7 p this.RemoveHide(page,"span");
! G+ c- S; w z: N1 n this.RemoveHide(page,"font");
8 C4 r/ x' P/ U% j! Z; B9 ^ this.RemoveHide(page,"div");
& J4 U! j- v; d0 K this.RemoveHide(page,"p");' D: C: Q" c5 X& W
( _2 |; y" R8 `! H+ n
}
2 J. V' n& x4 p& l
3 ^, D7 O3 T: r7 ? o- L8 L: K }. o( ^9 { E3 {$ b% z
this.getobjstyle=function(node,prop)8 a/ k& \5 X0 a5 U7 t
{
' l: M- p2 @' ^0 m& h }: V try! g/ |; ?7 p4 U, q( ~+ I' W$ @
{
5 Q d6 f% |; @2 B) S* Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); P+ Q" M& ~) f& u% b+ V6 s
}
; U$ Z& X, O: x( h* j catch(e)" n; o- c( H8 Y4 M/ f
{! @) H4 ?# [; T3 J
if(debug), B( {) H! Y5 p5 |
{) d l9 z5 E, ?8 g" z
alert(e.message);
w( Q% I: X: ?$ Q m; q; { }% o( M8 @; u0 S/ z
, f1 ~9 l* I* j6 ~; N# V) m
return "200";: [8 V/ ~/ _/ }( w' y0 D6 _# q
}" h R3 {7 R" u: \2 ~+ U
}6 r* k9 U4 I' t& w6 @1 t
. F/ d5 l0 N# j6 j
this.RemoveHide=function(page,objname)
7 p9 a' d8 P) \" j0 [ {4 T- s R" g1 o0 `- _( G! i+ T3 C
try
) B' \8 q( t7 f {
2 p' n! }. ~7 R) Q) K) l& z var minValue=15;7 z2 r+ R0 M# {; b
var objs=page.getElementsByTagName(objname);
: W# W/ S" {- O
! g D& R0 P0 V0 r# M# V" X4 q4 y if(objs.length == 0)
8 {) N: H/ D# }5 e3 R {( x: ?+ a$ e/ F! n2 ]! ]
if(debug)
% I( I, p; G7 M {, S( g2 X T1 J# T$ K
alert("no object found!:"+objname);
n! T5 V0 a2 n: I3 f }) l) D; o# I8 s# G) e, T, ~% j ~
}2 ^- M1 {, k+ i A, U; x: x
else
" h$ a' |1 w0 x {$ b2 g1 z4 S8 |, p
8 V3 R) \/ O# d
for(var i=objs.length-1;i>=0;i--) 3 M4 U6 V, M# n0 i1 U# m: o9 S; S0 W
{6 {- A# B: Z9 a, l+ o6 ]1 W
var node=objs.item(i); . B! k; R" W" ~- X
8 P2 ?- B6 i- Z; m( d" }
& G8 Q( P0 P4 ~8 ^: ?. K if(this.getobjstyle(node,"display") == "none" ||
9 n# p: }, e. p5 }5 m s this.getobjstyle(node,"visibility") =="hidden" ||
2 `* A8 Z; H, R( a6 n( h parseInt(this.getobjstyle(node,"font-size")) == 0) 8 j5 B5 q: q9 V8 M4 w( @# Y
{
! @! o* f& x7 y* I if(debug)
5 f0 V h5 v6 S B. X {
4 v% M3 o# |8 o5 D- \3 J alert("remove invisiable!");' r# u j' I/ b5 V1 \- d; e, i
}' G! ?1 }" f N8 _
node.parentNode.removeChild(node);
: t6 Q, F& N6 M" v $ X9 V9 o) \1 V$ E! k
}
1 _4 Y& l7 h& \5 t( @ else
+ H, F5 o) O2 \1 E {
5 @4 C/ w. V; E4 I if(node.parentNode) . L7 P& Y' w$ ~* {( r" j7 b
{: V8 A- E, d2 X- e: ], \
var orgNode=node;
' r( i: |: I3 r! X1 O var orgColor=this.getobjstyle(orgNode,"color")
v7 D _/ t. h- V- H1 d. y8 H, [ var orgRGB=getRGB(orgColor); 7 _7 Q8 _& p% h+ i0 i- { I
* S, G' a& Z- O: g. } var parentNode=node.parentNode1 B5 i" ?- W8 F! T7 R5 s; `
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 ?8 p6 p. r/ l0 ]
& g8 ^3 @$ U5 T' E: f! U var isLast=false;
5 h, k& a0 ~ L6 }% U: v 1 v$ _1 i d5 D0 p8 F+ G
while(parentBgColor == "transparent")
; d6 R X- r" X0 S {( v5 y6 E/ ^) A% q) x* b5 p$ J
: {; n) s s7 G/ F: W
3 }3 n5 a" m9 P7 [8 a# t7 A if(parentNode.parentNode == null)
9 L, @4 K7 c* K/ r8 b! ]5 Q* S {
( i$ i) }% u C6 o; P* E isLast=true;
% w/ ]1 m u2 r8 X; D break;- P0 K. l) Z2 Y5 W3 D
}
6 K3 c; C! o% J parentNode=parentNode.parentNode;
% |& D% T" `" d) l parentBgColor=this.getobjstyle(parentNode,"background-color");
( a8 O" z) _7 b) {5 I& z$ ]
, A4 X- p7 l3 n3 P2 \6 L, ^) ^5 ~ if(parentBgColor != "transparent")
2 R8 M5 z8 {# t) h9 p4 }% a# v {1 o7 m0 l8 h: t, x
break;
; ]9 r* ^* I* Q: d9 t" P6 q }2 \6 N, P3 s3 Q) m: z
}
' `% d0 _) \% i4 K6 R if(isLast) 9 Y/ W) p4 ]' Y: K
{
1 r- t$ T7 D( b o8 _ if(debug)
6 Y2 G+ `8 s6 g' A, c! {/ Y8 r4 ] {' K5 B ~4 \5 P
alert("last!!");4 d& D3 H5 {8 ^! X( Y, c1 b
}
" c$ Q1 _5 G) v( \4 {% J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ G7 |+ W1 B8 Q$ z q# D {* x! c7 F* n8 I7 N( }) O# K
orgNode.parentNode.removeChild(orgNode);
* g9 y) Y! E. e# E' `9 o- X6 a }
0 _; p8 f" L% M/ t. J# P }( i8 m2 f" ^0 y# R' c: x
else
/ B9 b8 E, M! \7 F3 Q5 s {
6 |# m% [* z2 H8 e! s4 u& k if(debug)
5 O4 B/ u/ u1 r/ I5 B {
- l% B; A9 w. o alert("compare color and parent bgcolor!");# a5 L! P8 j; {: W# U' X
}
% O' f# e% }2 I parentBgRGB=getRGB(parentBgColor);
5 D. V& m9 ^- k6 h" ]6 l$ \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 ?5 T0 a# n" m4 S; e; j1 b0 K {
* J! @) Z( U0 C4 a orgNode.parentNode.removeChild(orgNode);
1 t. F, q' @; m6 I; w; u$ ` }
3 v* Q: n! k5 H+ i8 m }+ n0 i) e- f' R; ] x$ P5 D! K+ b" p
}
8 A0 I: Q3 A2 A }
' H b. Q2 _4 q& }. V }
2 H V0 J3 d" b! y3 V }
% B$ ^9 A- D3 }8 F) A# @9 K
- n) f: @3 [! _! I8 E+ X4 y
# t5 V8 A g" f1 S- q' ~ var itemFrames = page.getElementsByTagName("frame");
4 F: H" T5 C$ G" G var itemiFrames = page.getElementsByTagName("iframe");, \4 E3 K0 E {8 \8 p* z
. a2 o& l% m3 l# N7 y- `# c
var frame, iframe;2 {; h% `" k. s
if (itemFrames.length > 0)
' w2 D, Y* Q3 e9 x, p [1 h {3 t* E- S1 H# C* j4 Z# K* X4 M
for (var i = 0 ; i< itemFrames.length ; i++) ) L3 Z7 m6 Q, h6 w3 V& |
{; g! m) z5 o, G/ O
frame = itemFrames.contentDocument;
% ?6 M# x! f( T' c this.RemoveHide(frame,objname); - C2 k* y& j7 W. T' \$ W, M' t$ Z
}3 `- s" J, \6 x f# h; a
}& w( \2 d; l$ E* _+ c" _: Q$ |1 U
if (itemiFrames.length > 0)# G% w: g' u s; l
{2 o( @) h! k4 P/ R+ I5 X* R
for (var i = 0 ; i < itemiFrames.length ; i++)
! L( Q2 K! d- F2 x0 J# j {
; ?' o' o, b6 g/ }, ^* ^ iframe = itemiFrames.contentDocument;9 h* g4 y2 e$ _: o$ u2 N9 G" P5 F5 ^
this.RemoveHide(iframe,objname);
& V1 |7 j) a) z% E& Z4 l2 T }
; b a8 J" C' v' F4 j6 e }
4 N8 M4 t; B# p( |3 F( y }
! l6 u O: e; }% H. Y$ ]! c1 T3 P catch(e)$ m+ x3 T# q# J3 _5 `5 x
{/ d r* a) K6 f4 e
if(debug)
2 {: K8 }# G( h- j P6 t* [2 Q {* q; f4 ~+ p7 ^* Q9 @
alert(e.message);
[! N& H+ g- z, r& ?# g, | }2 b! u. S1 k) @: _' c0 A& T' y/ a: ]
}
% g9 V! B3 X0 K* h/ C! u }
" ?% D& \6 X% Z9 b3 a. T 4 `; M2 t1 l* M% K0 Y* ^
}
9 T) y+ k6 |- q* ~
2 ?' ~$ b9 k' P$ w. Nfunction getRGB(colorString)# l5 D) d+ j# J" Z
{
- G! J# L* c+ k' D6 U7 g var RGB = new Array;
1 Z% ~! _: F9 ^9 |+ k! i. w6 S var tempSting=colorString.substring(4,colorString.length-1);
& }7 Q7 d! y3 k }4 |0 N* P var tempArray=tempSting.split(",");
; F- O' i4 M; t) N4 h% Z8 Q3 ~+ R/ k0 }
RGB[0]=parseInt(tempArray[0]);% U; s8 U1 W" F1 `# a9 h- z4 a9 s
RGB[1]=parseInt(tempArray[1]);
% D9 S0 Q" Y6 _+ b4 Q RGB[2]=parseInt(tempArray[2]);
, a8 J3 g9 k+ C! y+ k, {. Q( ` # G" `8 D6 P; k* y! i0 @
return RGB;2 p( N, p0 R2 C& l
}
3 z$ g3 f1 [* K3 Afunction keys(evt)
8 y, P8 d, \2 M& ?. x { * y6 y3 P. N- \
if(evt.ctrlKey && evt.keyCode=="81")
$ |/ C6 M+ c, ^ F! n F {
`$ L1 o* m) n# l1 E CleanHideObj.on(0,1);
# T0 s N" a t1 w) A8 h9 d alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 ?& E4 o) T- f; t5 @, ~
- q, @/ ?2 ]+ y" e' y% Z }
5 B$ b: j( S6 i& v } " s& t7 ], m& X
document.addEventListener('keydown', keys, false); # o' |( O( |, T! m9 @: c" q
GM_registerMenuCommand ('Clean Hide',. \; ?5 |1 d* W* l4 ` Y! {
function(e){
0 V: ]+ ^/ ?6 z# U1 r: r) sCleanHideObj.on(0,1)
/ r' O) ^$ t3 `1 Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( t8 o) {7 d' y: l. d. s});
% b, z& n% v( D# f |
评分
-
查看全部评分
|