|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 c. k/ o& M, {7 L
1 e; M' B+ W' N; a3 u. C9 i
火狐插件,用猴子: k# {/ S: Z4 ~, s) b" D# _4 d
* [) K1 W$ V: o3 S
var debug=false;
% @. Z' O4 A6 X" q! Ovar CleanHideObj=new CleanHideClass();
+ f0 X* u0 S Z* `. P, \1 d5 F/ n$ b; `$ F; @0 C
function CleanHideClass()
- r; l5 g: Z( M5 W! l{
+ ]( u9 M8 ^& n0 {$ v# M: q: a , |7 w% r0 H. X
this.on=function(id,bMZ)9 O% I. o5 `2 s
{
& Z4 v( t( W. D2 }5 [- ]6 K % Z& O* Z+ p9 e/ J; E& E& y6 e
if(id == 0)
: W6 g% ?9 }, ? {3 a5 P, x8 D' u0 U4 E% ?
var page=/* document.getElementById("content").contentDocument */document; 4 f8 T4 S: A& l m0 d
this.RemoveHide(page,"span");* l. L: P- H: r/ P2 }" Z; F; H
this.RemoveHide(page,"font");
5 R1 e) m9 ^9 X+ ^2 }; f6 D this.RemoveHide(page,"div");3 k# q+ _) O' Q o8 |' h
this.RemoveHide(page,"p");) _& T/ g3 `8 }, o" z+ ?3 [, k
* }/ {0 ]5 S6 x8 i6 s5 q' A }
3 {" e6 X9 a- k1 ^) E8 g
1 u' s8 f+ A$ ?1 Q7 F }- h% a! `3 A3 T3 S3 W1 c- h
this.getobjstyle=function(node,prop)& ? c! X! S/ `, @$ |
{+ E6 c$ Z0 [3 ~
try$ ~# }4 v9 }; [$ p3 P5 Y
{$ ?8 h7 Q8 b3 K, _* h( F$ P0 S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 X3 |% X( `: Y9 a
}
4 t3 r; d1 j7 k, U; h catch(e), W7 {9 \ C d8 x. n, e9 Q3 l( e5 G3 h
{
; a3 c+ j: W7 c* r if(debug)
! Z- q' }- a/ M+ H% T! a {6 i+ b v+ I! k4 ~9 s& k& P. B
alert(e.message);2 N( w4 N7 I: t
}
3 @, W p2 o7 M. ?, a 3 n/ \4 T- C6 ^9 j( S
return "200";/ Y6 C' E7 P, k8 A. o8 x* R
}" t1 v0 y4 Y( M! g
}
! m- c1 t2 u) F( [
- U' O( ?) R% R9 O6 ~8 W this.RemoveHide=function(page,objname); l* A6 v1 E8 T$ [/ J. V
{
. r0 W; c' {# R$ \4 r, y6 U0 s3 c try$ ~4 \' s, W4 A' B6 N" P! E
{: W& S8 r! s; F8 K
var minValue=15;9 y7 _) [ V4 F2 V, K
var objs=page.getElementsByTagName(objname); - C5 w+ F: c N8 ~ Q* `( Z2 S
4 v! X# a5 @) I, M' B1 i/ c/ _. I8 L if(objs.length == 0) . f3 N% V8 y* T' j2 L
{
5 @6 ^! d. u6 s& W! X. [5 ~ H8 s if(debug)
- u W+ @6 }5 P {
+ k" d/ ?1 R! N& {# i alert("no object found!:"+objname);' r" a! b# f6 V* K2 v" i
}
9 N; P+ |2 D d7 [( x4 o' P }. T8 M% r, k) m
else
6 w1 }8 t) u; x! Q" O, j3 Y {
" Q1 Q' D5 x* Q/ q s" ?
/ ^0 B9 m2 \" {/ I# Q, J for(var i=objs.length-1;i>=0;i--) l3 O2 M8 Y& N- _1 @8 T2 l# r6 W
{
/ z2 H" ?9 K0 ` var node=objs.item(i);
! }+ U% X; {0 l( ?" a- t7 b( R
8 i `3 R+ b/ f) H, O 9 p# V/ N# t v! J9 i X( m# Z
if(this.getobjstyle(node,"display") == "none" ||
& I4 Z- ]$ n) A# Z T0 P this.getobjstyle(node,"visibility") =="hidden" ||
: w* B! j3 h( D, t2 T7 x parseInt(this.getobjstyle(node,"font-size")) == 0) 6 d2 h% B0 j* d! v6 \
{
z" w+ g. t8 H& L if(debug)& Z6 q/ q q) F% q w$ T9 ]+ |
{
, j" e4 F; n& e* n+ j alert("remove invisiable!");
2 l t# C" ]0 Y3 b }/ p9 z0 Y3 W$ G$ N0 p
node.parentNode.removeChild(node);
$ F1 p: K) n7 L8 @
, n d) a5 @1 q& P; J }
. |. D. a# R# L/ r/ E- _: b" ? else ; r- p, ]) d5 x9 Z' I
{, a9 z' f( L( z: e2 H
if(node.parentNode) ' H) M5 M& A4 i Q1 P x+ Z L+ S
{+ U. B; c* a3 C) e. l' e2 E/ D" \
var orgNode=node;
9 n" n, S. P1 H0 ? var orgColor=this.getobjstyle(orgNode,"color")
2 E2 X! Y) o" J4 i/ [* y var orgRGB=getRGB(orgColor);
6 \, h& _8 X3 a7 _( i s% a! X
4 U' o V' H! G5 f var parentNode=node.parentNode
( A+ F8 o d, ~% D6 L6 L/ D, {& \ var parentBgColor=this.getobjstyle(parentNode,"background-color");5 U+ M! [- L6 W7 e1 _+ }1 B
/ x7 n0 g) r; L8 }- N var isLast=false;
$ i* N: v3 h) l& m) g( A
/ Q ~; l# V9 e. t/ ] while(parentBgColor == "transparent") 9 N- T$ ^& j3 O/ [- x5 u% y, k
{3 ?/ v2 [ y! B" M
, d. X: z& i" B/ [" F) n8 l3 G 1 o3 K# D" F p% T! p8 Z
if(parentNode.parentNode == null). h' _6 K& R' R
{
9 E6 O+ \ R4 ]! g2 S- v _ isLast=true;
& I6 q1 ]1 p7 G: J" {4 L$ X6 r: W+ G break;% o1 I: E" [ r5 v5 P
} g* v) b2 c; G6 R$ q
parentNode=parentNode.parentNode;
& {/ i5 n. {( E5 L* n4 V2 t1 w! O parentBgColor=this.getobjstyle(parentNode,"background-color");
6 l9 _& j8 }! R5 J+ s# K( G, a4 F0 H4 I
if(parentBgColor != "transparent")
# r; k( @, F+ h% n& p" e9 Z {. [5 u2 e. V. Y9 P
break;2 X- D# k% y5 Y/ E1 j
}
! d* L8 `) @" u0 v" w }
! ]7 I8 K6 F& Y1 F! ]4 R) X' y if(isLast) 5 O& K9 w4 r( N3 q+ I/ \5 W
{
3 ^" m8 l' V7 h$ N if(debug)
7 F( e3 D$ W& _ {
8 i T& P* K V) C7 O- f! F alert("last!!");2 Z' \) V" b* K1 z3 K& I5 L
}: {: u6 d0 @, }8 f- N" {9 f0 M7 @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). x) ]5 F5 C/ f7 F) i
{; M2 E$ d2 [, V" ^
orgNode.parentNode.removeChild(orgNode); 1 K4 M2 }- j/ L4 ^! G" S- A0 B
}8 K3 x3 d" G+ c1 ]2 Q+ j) a3 ~0 n
}. ]7 ?( R. v9 p" a" D
else, b2 K+ i6 f7 l7 ?
{& x; }9 M+ @% R; z- V7 L
if(debug)
# F! l0 j) W3 O. Q9 D. T2 _2 a {
2 t ^8 g8 y6 h+ l; R alert("compare color and parent bgcolor!");
* r! p$ ?0 _" } }
( j8 P' s: D- h5 N: \+ M" S parentBgRGB=getRGB(parentBgColor);! b, G3 V0 r- H' y1 _5 m2 c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ @& b( s0 Z- ?) \% Y, A0 ]4 F {
) z1 S7 s& l, q6 p) x orgNode.parentNode.removeChild(orgNode); * y/ i7 c4 s4 P6 n" o
}
* f* ]- @9 c! ^* K& R }
6 f0 Y: ~/ D- H$ l' f6 M+ @ }
0 j! c% d9 G5 U7 A! u }: a7 U/ a: `% }6 Y1 P0 a- ]( e% Q7 D
}2 ?3 q& K! h! c" e
}
: o7 R. Z- \; A [" C4 x" [3 j 7 L) }' O9 |- \6 V+ `: [/ _
! `7 G: j" M3 u1 _5 u8 N
var itemFrames = page.getElementsByTagName("frame");6 H/ g4 ~* f' [; i- l1 j
var itemiFrames = page.getElementsByTagName("iframe");2 R9 m* O3 e; F2 b* L# ` K" T' l
" G$ C$ o0 e% y var frame, iframe;
8 j h+ @) R- R if (itemFrames.length > 0)% j9 p/ M, y3 q$ O) |
{
; w+ L- T. I }3 P, J1 A for (var i = 0 ; i< itemFrames.length ; i++) " D" F# }' F g$ E# n
{
# _' q! |+ w' W8 B/ N frame = itemFrames.contentDocument;& K# x5 V* Z, E$ q
this.RemoveHide(frame,objname); 4 C# C4 E9 ], b3 {; v8 V
}
: f. G2 I8 P9 i }$ B; `" \# ^' `" Y
if (itemiFrames.length > 0)8 [5 Q) Z; x8 O( ~
{, y' y) \/ E; G/ m# \6 q
for (var i = 0 ; i < itemiFrames.length ; i++) 8 S% c7 J+ d$ E. |% n# Y# F( z( h
{
" a9 G. c7 V3 q iframe = itemiFrames.contentDocument;
* K6 R6 Q# a p" T this.RemoveHide(iframe,objname); ( y2 A7 ~1 S* `) X; B0 v ?0 Y2 Q; q
}
5 x" ^3 g2 Y% b }
+ B+ m( x. X0 H }
/ y! @$ H8 P& U4 R5 T. P catch(e)
# b& }4 E: }0 O4 F {4 Q' j* C0 O" M: N
if(debug): ?# F7 M# p6 L0 r/ t
{
% V; X2 T' C* v2 p alert(e.message);0 g2 ^" E; B* C% }, S c
}: |7 a1 `/ ^, n: J# s& ?
}
( e' J. z6 {+ q9 a5 m B }
7 y2 J# ]) Y4 E, K * I: x" }# v4 H" b
}7 p# N- K; t) J& \. C* _2 e2 q# z
% q2 S- T8 a6 Z/ Q; K: |
function getRGB(colorString)7 R' q U1 c' }5 u
{5 c9 M! k4 V- X4 M. ?/ D- r
var RGB = new Array;- v0 E* ~1 L! v, X9 z
var tempSting=colorString.substring(4,colorString.length-1);
8 j2 K. u" }. J) X- Q4 M, K var tempArray=tempSting.split(",");
% L4 f. ^6 B. y: W8 C: ~$ C7 O1 d; Y4 e, j- f
RGB[0]=parseInt(tempArray[0]);
* ], o+ U) }2 |* I# i& ]% C: o; I& o j RGB[1]=parseInt(tempArray[1]);- Y6 V- R: y" f
RGB[2]=parseInt(tempArray[2]);' X& w; h5 J- w. M$ i1 { P
$ G, X/ N) r$ i+ W) O9 n0 H1 O
return RGB;. s/ X0 t: Q4 I( ~5 W
}6 V0 M7 S* E9 U$ h3 j7 b
function keys(evt)
2 Y" b* d+ j, N: l8 `% t {
1 V! t/ M2 H: Q( F* ?" A: o5 b9 S if(evt.ctrlKey && evt.keyCode=="81") . J" }/ Z# b! Y* s* O
{ / p$ h: u4 }9 |
CleanHideObj.on(0,1);
2 G1 j+ y8 p" Q2 H; [ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 j2 n A: ~9 R( ]: E : c6 ?. `! i) g3 r: i
}
7 ~) J) S, O) j2 F) S } 1 R4 ?! ]. s i1 h# s: _+ [3 _
document.addEventListener('keydown', keys, false); : T6 O8 p& S) T$ o
GM_registerMenuCommand ('Clean Hide',# d6 c: \. p6 D6 d8 n5 t# ^. g
function(e){
5 j0 J& }: g3 c- lCleanHideObj.on(0,1)0 ~9 ]; `1 c1 o m) C- E( B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& E1 ?$ @4 w0 A4 W1 _6 b& \});
: q" f+ F- g( d# {; F |
评分
-
查看全部评分
|