|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ `- z7 \, E- h8 `6 } F' c: D3 T& }3 I
火狐插件,用猴子( }$ T% ?8 ]$ A( U# n
6 f% F. F( E3 _0 y" a r+ tvar debug=false;
" n2 m6 | N8 s5 P- P' ?var CleanHideObj=new CleanHideClass();" O' X) ^% c$ C) _
! F3 }/ D. S6 l# [1 `/ i' rfunction CleanHideClass()
$ }+ J* m! v/ C{
1 t( K$ Q& c: @
( V T& r4 L. M, X( u: I- r this.on=function(id,bMZ)
. A6 B% i- t; }" j& ? {
7 S! h1 \) Q/ ?" h2 c9 B+ r 5 ^# I: @, p/ c7 _) _
if(id == 0)
$ N6 b, c6 c- i. v {6 o! `; {6 J* O+ A! \0 z+ Y
var page=/* document.getElementById("content").contentDocument */document; 4 P4 {# z/ ~/ c/ |
this.RemoveHide(page,"span");
4 C! ~! Y2 a. X this.RemoveHide(page,"font");% Y8 W( b+ N4 ^) H0 K- _
this.RemoveHide(page,"div");
) `; u2 v7 p* ]# |, J. y2 _, Y this.RemoveHide(page,"p");0 e( |7 B% P& v& U; p9 |
2 f5 c0 ?/ t3 p' q }) ?# \9 f: Z( Q3 }: g. }& I
% t, R7 H7 e/ r* Z* x1 Z$ r* S" s+ g }6 K- I* x! t+ P" y! F( {
this.getobjstyle=function(node,prop)8 M+ O, K/ x& M" h- p0 e
{
# J% b- s6 T5 m/ f# A try4 u( Q. V6 {1 j0 b7 v0 p
{
9 T- V% b S8 d& v. _+ u return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" p w: _2 D0 r- _2 L$ B2 ~& h
}! t( C/ K+ |- C$ U1 a% c3 U
catch(e)
* d; I( N; u: f! I' z' m0 M* C {% O0 k8 K, P$ I0 A |4 y8 G( Z: u8 R
if(debug)
8 M" s! |; y2 E8 d* T6 ` {
& ]# X# i: V* ]9 ? alert(e.message);
3 c6 Z+ E# }" N }. S2 S. W. B( [
9 k# e, F) I" w* h2 } b% D; ^ return "200";( c s) J5 f! ?4 J' ]( i4 i; l: j
}. Y% j# O- D: t7 t |3 u0 |, c$ ]8 G
}
& y% @( R+ u. ?; t
+ F! U) x% V5 q: z/ j9 o" n8 Y S this.RemoveHide=function(page,objname)
, f7 C2 n6 ]' X3 Q$ X7 u# L {7 _/ N1 a# H& |
try
! M5 B1 x. O& E. x" U. c {! i+ [& g8 V( y8 T- m
var minValue=15;
2 D) N( @2 ]9 D$ g' j- L var objs=page.getElementsByTagName(objname);
2 D$ z% }% N! H2 T* U! c. T/ R# c, s; h
2 F8 I6 r) p/ `; V! S if(objs.length == 0)
. _8 C/ ^8 {1 V; _6 c7 P {
; Z: y `' ]2 J4 Z if(debug)
) F; q" u3 V' T Y1 ]( B {
$ R% d# X" @. U: o# {; D5 H) x alert("no object found!:"+objname);
1 ~9 F" B$ V; X: s1 _( R }
- |. Z! s% T& u, p( | }
, ~9 t, `# u; Z; r' B5 ~( A/ w else
8 \- [. r# l' ~. g7 [2 Y {
1 D. x* h9 s8 y2 P0 v* U6 A" ]. Q( w 5 Y8 A) [1 U4 u, N- Z6 l o
for(var i=objs.length-1;i>=0;i--)
; U1 d: I, L) C' x/ W+ h3 ]2 B {
- H( M+ B" l6 T% \' n var node=objs.item(i); * G) k: C) a% v+ m
0 K& H# g# V8 M' ?! ~ % E( T& o& P8 `8 u" z, R2 P
if(this.getobjstyle(node,"display") == "none" ||
. h6 T& b/ c; J$ H9 q this.getobjstyle(node,"visibility") =="hidden" ||6 T0 z I0 p' p# J1 A: ?, d
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 Y9 J+ Q+ Z0 m) _ {
: d: N+ L' D7 G if(debug)
o3 y; Z# j# @0 j {7 K J3 q: J' _. Q8 z
alert("remove invisiable!");
9 M5 x- n# M) j) g3 j }5 P2 z( f4 o1 ~; |
node.parentNode.removeChild(node);
4 v8 |; @+ }: p8 I - j" o. B: P4 E3 L+ ? p
}
, n5 f: M0 ]2 k& u else
, d; g5 Z i; Q, F {
3 e7 K; ?* F. _, U if(node.parentNode) p7 X1 h s1 H0 H# V
{0 F: d" P9 [5 J3 ~* [# X4 k; |
var orgNode=node; d( W8 x1 U) r1 j6 n
var orgColor=this.getobjstyle(orgNode,"color")# ]' e; L0 i' X7 l/ x% Z4 h9 h9 G3 g
var orgRGB=getRGB(orgColor); 6 f6 b8 L7 S: y7 _' t
4 q7 `8 {# t& l, X: P* ? var parentNode=node.parentNode G8 ?/ L4 R2 w) \$ l3 v6 K% j# J. u
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 v) j! b# k- j; | , r8 z9 p' x! s! W# r# a
var isLast=false;
0 K- ~+ w2 t9 X. H6 Z, C( _ 1 l4 j. [2 H1 s$ K( D, I
while(parentBgColor == "transparent")
: {: O3 o9 N- h {
( o- o7 y9 F& H4 R7 ]3 b
9 h. u* q4 D. c' T, ^% L ( T& O0 A {# \0 s$ r8 k
if(parentNode.parentNode == null)
" X: H4 C" s: _ {: \" a. }5 m4 Y$ F0 V+ W
isLast=true;
7 a9 ^( l& ]2 U break;
2 [- \5 ~" C* j }4 ] z V4 U% {2 G( I* }
parentNode=parentNode.parentNode;9 K! p! Y& h1 u* w% r, x6 i
parentBgColor=this.getobjstyle(parentNode,"background-color");' n2 ^, N1 N$ f, w9 g. J
) E( U9 R" y7 N; [' [; S( i; w
if(parentBgColor != "transparent") : X% K0 G$ f$ V
{. m; `. ^$ S+ d6 i- ?+ T6 c) P6 h9 j
break;
' M2 h& x9 u9 s }
+ `( Z3 u$ j# H( G4 s& i/ y9 p+ d }
w& d$ C% i; c! V! N- L | if(isLast)
7 M% c! X0 X& k# M0 D9 a {
( Q8 R- P& [% b# ~8 y if(debug)
9 X0 M# P, A7 f3 M {. ~, B2 ? C, j6 F& Z
alert("last!!");
3 { M4 J; } x$ Y }
* \' C4 T" H% T6 I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ D( k+ o# P4 H, ]' y {3 H: |# e: |# d- n3 X' g
orgNode.parentNode.removeChild(orgNode); 7 X a S+ S7 a+ n% d9 @) F! u
}' v# Q* U) I) q
}6 J6 M$ B" b& i1 k0 p8 S
else
0 p& @2 Q8 M5 W9 E0 A2 N+ Y {
7 V. i( m1 p) j3 D$ T if(debug)
* F: a5 J0 h' s1 r! N9 w {
, t% p2 }$ h& @/ Z# A& ~% u alert("compare color and parent bgcolor!");, N& g+ {; _8 s, Y% W. m
}3 g0 b6 o3 r6 u, f& {! E& m
parentBgRGB=getRGB(parentBgColor);
$ K2 a2 U1 a6 ~# e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& ?8 n6 `3 @2 n# E9 A" `0 V' V; S8 T, o {
. H ]% R& r/ d0 k$ m- H/ s, g% Z orgNode.parentNode.removeChild(orgNode); 3 _% ^* y# _: _: ^6 h+ h
}4 S8 l% P; ^9 O: i8 J6 r
}
8 x7 J, t) s& _, ~- O k* Z3 f }
I3 r# @4 o- v J1 o6 q% p }/ o# e6 Z- v1 n8 A+ N, q
}
6 P- @+ I+ H: U9 p }
8 l) [' h& i# p+ {- J- q5 L % [, x6 q! W% K; f
8 c- j' h& R: M+ r) R& b
var itemFrames = page.getElementsByTagName("frame");% q( k9 S8 K& z" S3 q' A# X* ?0 |
var itemiFrames = page.getElementsByTagName("iframe");
0 N7 @0 ]9 b/ T ; d% _' M1 U" R9 f
var frame, iframe;
: m7 N) M) T( w0 J6 w- `1 _ if (itemFrames.length > 0)
% e9 H9 U0 t. t6 n( m7 d5 O S {4 Q) ?; a0 `; D& o7 w% t
for (var i = 0 ; i< itemFrames.length ; i++) ) l* M8 S2 @$ Q- \0 }1 r+ _4 b2 m
{- x. D# j4 N" h; j/ `" E/ ?
frame = itemFrames.contentDocument;
* R& P& ^5 M. L0 [ this.RemoveHide(frame,objname); , }/ ?+ V# B7 n0 v z
}
4 f$ F+ Z+ t! H7 |1 r }0 B k5 L" {2 L; _$ T6 s
if (itemiFrames.length > 0)
" A4 C5 }( Z# W8 o {
' J# E, x9 T2 _ for (var i = 0 ; i < itemiFrames.length ; i++) , M+ q% Y, T0 R
{2 Z' [) k L: U1 [% T2 g
iframe = itemiFrames.contentDocument;
: w; N; a* `: Q8 Q this.RemoveHide(iframe,objname); ( g I5 F' W$ V& g: D3 T
}( n6 P4 W4 p7 E5 L2 y9 Y( n
}5 O8 r% l" o) o: ]
}
4 \( o( F t6 F catch(e)
- W" }$ W* _& z& x4 M- T3 @9 r8 k {
% ]) x1 ~* ?* d2 a' w if(debug)
. K! `2 I) S- T+ H- V% r* V6 l" v6 V {
( V( w& `+ B( ? alert(e.message);/ }% B1 [' V& ~0 \5 r/ X2 w
}$ O+ S$ Q1 _; H7 v2 G3 q% ]
}
! F4 I9 X. @3 p: g# r }
9 w6 }& i4 O) k( O! `8 O
1 V& n# P* {. V8 O8 @0 J3 I' [}
6 |0 ^9 i9 w8 u" g/ L7 j6 w( r) @7 Y# f8 [' q3 y% b! S+ D7 a2 v x
function getRGB(colorString) _% t! v. @. |8 W! v) x0 g
{4 J0 P$ @; G9 k
var RGB = new Array;, t6 n: s( r* ?( E. {8 j
var tempSting=colorString.substring(4,colorString.length-1);
+ j6 y. q2 G+ ~5 S+ {% R' D var tempArray=tempSting.split(",");
/ J7 Q! H$ s) g0 k2 P6 I% o, Z6 {: d K
RGB[0]=parseInt(tempArray[0]);. m: R. s5 b% Y$ U: m! h
RGB[1]=parseInt(tempArray[1]);9 l V# w6 N& F3 U5 Y5 g% z
RGB[2]=parseInt(tempArray[2]);
n, `3 W/ x. v% { & [$ w; N& {. t+ o; }% T3 u
return RGB;- G6 y6 O( B- a; d# [, h' X* O# y
}
8 T) i5 ~: x: M7 \3 Z7 J# B; Ufunction keys(evt) 1 w" ?# ?6 J4 E, _/ I9 ?
{ 2 l& D& v1 \8 |7 [- U4 M
if(evt.ctrlKey && evt.keyCode=="81")
% u7 R- S6 I+ W8 r {
' Q+ D4 O; D' @ Z e! T CleanHideObj.on(0,1);
2 d5 n8 p) M; S a A5 ^( C' r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; |$ k4 ]8 E: J- M0 }( f5 P! N+ ] ) `4 ?) j% N9 W! r
} / i% W2 C- e+ y3 g+ z# d
} 7 n) k- k! ]$ U: F7 K0 _3 Y
document.addEventListener('keydown', keys, false); ^3 L# @/ W5 W( c- J
GM_registerMenuCommand ('Clean Hide',
$ u, P# z# E) x" B9 `function(e){
' o. s' t, c: m9 _; kCleanHideObj.on(0,1)
9 O' ?* k0 n9 b) x. Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 G6 k9 a- ]. q* z});. @$ ~* N3 M/ O
|
评分
-
查看全部评分
|