|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) S1 I% r: \3 ?# }3 S% N9 t2 U
+ r$ b% B3 ^+ K G; \/ z, h火狐插件,用猴子8 r+ y2 N. B* ?- W' x/ Z4 N
% i, }) t: _$ _& [( I5 b
var debug=false;
; Q: O0 a$ l3 Q9 t# Y4 `0 {: Rvar CleanHideObj=new CleanHideClass(); @( l( W1 ~% w0 ^& J
7 d1 F9 A* m: C: @, p( gfunction CleanHideClass()
7 @5 h* D/ W, p( q# u) B, g% ~{ & t& e! h% b; q
+ W7 Q6 v4 S n this.on=function(id,bMZ)2 M' t3 n% Z8 S- P
{# O, K9 B2 j" B" y0 z5 g" ^* t$ f
9 K) Z t* O2 p: `+ g6 s if(id == 0). g" l' R4 I8 n/ q# |0 Z' X0 l) B
{1 s# u: f) v) S7 a
var page=/* document.getElementById("content").contentDocument */document;
! u/ t P5 T& c. o this.RemoveHide(page,"span");
! `+ e; t! o/ J6 ?& ` this.RemoveHide(page,"font");) k) l9 n6 O$ f9 [1 f8 G8 e5 l$ z+ }
this.RemoveHide(page,"div");9 a1 B$ q7 ]' ~
this.RemoveHide(page,"p");
) X8 M: ?6 ~( _' V
+ |( I% l% ?5 n4 K3 G; K# ]5 d" G }% a3 T; [* B/ `* p
" q. {; `3 q" o' \1 Y }
5 ]2 c0 h9 f' p1 ? this.getobjstyle=function(node,prop)
8 V! z* @1 g v: [ {
5 N" g7 O6 u( Q try# n5 Q4 d3 X6 ^9 u
{
: `; e! x4 _: g; u) n* s return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; Z8 z2 |+ s) m% Q# Y0 X
}
. m& _4 H8 E3 Z catch(e)
; T% o, J/ C( c) U6 j {9 u3 [' ] Q, A: W* Q
if(debug)2 i; u0 c/ y" {) t+ F
{, |0 v" F+ C d
alert(e.message);
, w4 z! G7 u/ k7 i }% y9 f O4 m! \& \" n7 K
3 C% f# S+ @: X return "200";
2 n: q/ d" h& F; Y }
; V8 V; H1 w- s) n8 l }
, G' H7 }" F; ] T' ~- y. Y6 u ; r, w7 l- U& U* ~0 Y
this.RemoveHide=function(page,objname)
* A Q$ ~0 M" K* a4 d {0 T2 ?" @3 a# Q' O
try+ ^6 w" {- F- X+ H% L4 A8 h
{$ C2 z2 U( A' Y" B) j
var minValue=15;, o; q7 _" `7 p: c3 f" s
var objs=page.getElementsByTagName(objname);
; o3 q5 O R- i. i" ]$ u
7 `- c" E" } Q/ W( o7 F. @ if(objs.length == 0) 0 O5 k6 }# U1 X+ G: N7 U; Z
{$ k+ G8 }6 n. U( h, R
if(debug)
' e: q) t( D5 t$ I+ n9 ` {
$ i6 v8 G# I8 s1 M/ a alert("no object found!:"+objname);/ @9 r. I: C0 i
}' v5 }, m5 V, i& ^0 F2 C
}5 i$ R+ b0 P+ f2 J4 F
else4 m( Y" X9 U, t& Q0 u& @& \
{5 D# m5 c0 N- x5 s& x c( h( g
* z/ Z9 p ]6 _! R( H for(var i=objs.length-1;i>=0;i--) + G2 X* e' x; L9 g" h
{
& I6 y% i* c; q" C var node=objs.item(i); 0 s$ E5 U- ^) p' a' t
2 ?! u! \5 V/ x8 t% y; G9 m6 T, s
- @4 k, d- d+ r$ @8 P if(this.getobjstyle(node,"display") == "none" ||
: V+ R' p# ~1 ]9 q# s9 A7 U& J this.getobjstyle(node,"visibility") =="hidden" ||2 r& Z9 E2 ~- H% ^
parseInt(this.getobjstyle(node,"font-size")) == 0)
) H5 D1 t+ A0 a6 W" ] {
`" _& T4 g4 Y" D# l& g if(debug)
% u+ D7 R* m: B0 b& P" L {5 `7 J/ I6 a- o& h2 S! E1 O
alert("remove invisiable!");
* Y' p5 o! [$ ^ }6 H! H+ D x' ?' M8 L) V
node.parentNode.removeChild(node);
; z, M# R5 M% P4 \# y4 _
; J K' q: A) X6 q2 h- L! c- U }1 c" W9 X5 J+ c6 A
else
) J7 G4 U) C5 [ {7 f) o& x( p* z% `
if(node.parentNode) * P5 p" [2 P2 K3 @
{
% G7 H% z& t5 i; F6 @0 K3 H: ] var orgNode=node;/ @8 D1 B$ f/ m
var orgColor=this.getobjstyle(orgNode,"color")# |( m! p( r9 I) C$ r3 P2 k( y1 u
var orgRGB=getRGB(orgColor);
$ ?3 |$ {9 m9 @, C4 g8 J ! A: f- U" b4 v4 B- o, b: y% i
var parentNode=node.parentNode
/ \! p6 g" q; y% r) Q) J var parentBgColor=this.getobjstyle(parentNode,"background-color");0 X' X d; L" @
! S4 ^! T0 K- W1 e% W
var isLast=false;
R2 r% n' d. f' s( [5 j7 t. u
! ]) d H% a/ | while(parentBgColor == "transparent") * Y" }) u9 g1 d
{) Q8 l/ V$ h: a9 f" w0 _# o
. w% p, d+ m# N6 H+ y' s% @
9 o% P7 e6 ]; y0 O+ J4 M if(parentNode.parentNode == null)
+ T2 w+ n7 R) ?$ W. M* K8 B {$ r+ j$ i4 b7 _: P
isLast=true;& b$ u* t- e, A( E! `- Q
break;
. T/ C0 Z6 [- E3 u/ p B9 X }% S, ~7 R' f- ?4 c( b7 l- y8 r
parentNode=parentNode.parentNode;9 G, F, i8 W: y2 h
parentBgColor=this.getobjstyle(parentNode,"background-color");. v, T! f3 [% W- w
4 e# l& o5 C3 c1 _& h h
if(parentBgColor != "transparent") h' D5 ?( w0 [7 ^, c0 K2 L
{. g! T- y: G7 Y! F/ t0 \' T
break;
! h% e: k# B' k! Q } s6 u2 ~: J, _1 h
}
( v5 G/ S$ j6 C7 v) b- S if(isLast)
0 G, m- s( t9 J9 O- p; d2 T/ F {
# i! Q" F+ a. `+ ~ x% L1 B+ d if(debug)
5 ?6 r8 t( P0 x) ]) U {2 p4 B' L: r. ~- }0 e
alert("last!!");7 D* S3 J$ u& Q' p6 a& |0 O+ g
}' Y5 f, X( Q( |/ C% i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; b8 p3 s7 N3 e% G/ R, A! D {
+ H; x. L- K2 y( r' C3 t orgNode.parentNode.removeChild(orgNode);
, Q) }6 o1 N2 m6 r s* v [ }
- U4 I0 \0 f' Y5 @. V& J }
8 r( W# x9 T: s8 [, A: G! V else7 N x, _& v: x \0 S8 W5 o1 w
{
9 W% ]9 C1 X8 Y | if(debug)
) H2 d0 Z4 z1 c: R {3 B5 k3 A* I7 ?
alert("compare color and parent bgcolor!");
8 V7 e+ x8 |$ N: l: e# [" T: p0 b- o }# A4 g* Q8 }$ E X" }
parentBgRGB=getRGB(parentBgColor);8 j% [9 {4 z) i$ n- D5 v% B
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. t! R$ A/ S; f- w1 _" O/ v4 P {3 C6 K' u! S4 x8 l( c- ]! [ c
orgNode.parentNode.removeChild(orgNode);
2 @8 O) J# r* J5 Q }
7 h$ D/ R0 N3 a3 X: O5 K }: e3 I' ~+ S9 F( F4 F
}
0 w* K; T3 P) K) H6 ` }5 q5 i5 h1 O' C* Q9 Z5 j' O" x
}
, f. e# D, \- ~0 B$ ~ }+ I( u3 i0 H& Z! D
0 h v3 x( f: Y4 H7 t
! E" z: M; G/ o8 V5 i var itemFrames = page.getElementsByTagName("frame");+ I- d: ]- U8 r3 d
var itemiFrames = page.getElementsByTagName("iframe");) l! |. f" a' f5 e- u0 P9 c& k
; N: {' h9 a. ~1 u! c
var frame, iframe;5 o5 ~" q) M" G! i' L1 G0 q2 y
if (itemFrames.length > 0)3 D0 E+ _8 c* w0 Y: d8 i* K5 g
{: @$ I$ ?1 {% U# V( G
for (var i = 0 ; i< itemFrames.length ; i++)
0 q- K/ g8 U# a& k: o {
# A: J+ j/ g$ t+ @ frame = itemFrames.contentDocument;
) P. S! Y+ r+ _# y4 A3 j' ~* Z this.RemoveHide(frame,objname);
6 K- a5 i1 V# x; T2 o1 g* F$ J; g& c }
o5 m$ [" T' t! ~' p$ M& ^ }* i" c- U9 ]* X/ n( q J
if (itemiFrames.length > 0) Q8 j: s) K5 ~, P* ]6 v0 E
{
7 [8 C& }3 ?% } for (var i = 0 ; i < itemiFrames.length ; i++) # v9 k* C/ B. e) V" n
{
" ]% ~3 W, a% y* H$ M7 J0 [/ n iframe = itemiFrames.contentDocument;
5 p( `9 Y4 }: K4 B4 Y this.RemoveHide(iframe,objname); 3 {. ^7 Z, h2 g, C1 }
}5 a/ Z8 k4 B) w, Y
}
8 V; O8 j* k; p7 v( M }
- V8 ]2 P* L/ V. |: }. m& s* \ catch(e)4 N; a# L! i6 X: M. k
{: R7 L# ^9 I: H( i+ d4 E7 p; i$ E
if(debug)) I9 \0 |7 X( J$ M$ I" G7 p6 M
{
0 Q& [/ R: ]2 D) j alert(e.message);. t+ v( u4 @& y R; {% S
}* b+ t+ A7 X9 Q3 r" u
}6 I' D" e, d _
}& W) o A: m; i% n |: ^
I K, l& w& [ ~0 G5 S
}
! V& L( o) ~! }' R; w! s' a" G: o. _& s2 M$ }
function getRGB(colorString)6 Y1 l* ?/ g& R3 j' t R" |! X
{' O$ f9 G: [; u/ @) r2 ?
var RGB = new Array;
# ~/ F. x% X) [ var tempSting=colorString.substring(4,colorString.length-1);9 x# j7 M6 H0 a: ?) o
var tempArray=tempSting.split(",");
! _1 e- h+ e0 h- M- t
/ t- k" q; j5 F" h RGB[0]=parseInt(tempArray[0]);
& D3 |: |7 C& w* G$ k; Y RGB[1]=parseInt(tempArray[1]);
. c% Q \. J; m RGB[2]=parseInt(tempArray[2]);1 Y4 V! ?6 M2 V5 e2 @
x' q: l: K: g7 ]& z9 |
return RGB;6 _ X5 U& G2 @( Y, a. P# G3 ?5 k& z% Z
}9 o) d! A* g1 ^7 m; A
function keys(evt)
/ u$ `) h/ H1 O. O {
; ~* k% Z+ T% Q$ @, }: p0 @ if(evt.ctrlKey && evt.keyCode=="81") 7 n8 s3 e9 x# x1 K0 f! {# k
{ & G$ X/ k! [2 r) U6 A
CleanHideObj.on(0,1);+ G4 _: Z) }5 x: u: E: p5 u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , y6 k( ^0 T8 A3 Z3 y
1 v* \: N: `" m( p! T } 6 R$ i( e s% l2 ~2 n" p# ?5 Q
} + Y$ R& @: W; Z9 F9 o# {
document.addEventListener('keydown', keys, false); 5 `, ~$ D( D8 x% [
GM_registerMenuCommand ('Clean Hide',/ ~0 N" q6 {' K; v% E% f
function(e){
7 d3 K a9 `/ ACleanHideObj.on(0,1)" \/ J% x# C! p7 r" `' K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% o; \' f2 o7 C+ s8 J# |
});
! [* P! H! l6 w1 S |
评分
-
查看全部评分
|