|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ F- t# I2 t& e+ `% _1 G2 U# v8 o- y2 j c, [$ S5 w
火狐插件,用猴子! X* g/ n% @) J G, Z
8 A; I9 x! `8 E$ W# P4 r9 Y
var debug=false;
% b% ~/ [! J. v% `; cvar CleanHideObj=new CleanHideClass();. X& m1 s3 I$ D- _; S! x$ H
' V3 J. e* B# N% [3 t
function CleanHideClass() 8 k" {% H* ^$ i1 F. S
{
- [" Z( k( a1 {" L4 u; x! F4 ? 7 i) J" C* ^' T0 D* m- F! I
this.on=function(id,bMZ)
' M' u* b' J8 f' N5 e { X5 r! { x- l. s
0 g9 w1 {) Z5 I3 m1 u% ?+ t# U if(id == 0)
9 l( W0 o8 ~' G) j1 H( S% _* m {
, H5 M) M2 k. @( l' | var page=/* document.getElementById("content").contentDocument */document; 3 y" n4 o/ R% h5 y, X& L4 r
this.RemoveHide(page,"span");
+ @* x' W5 J1 n this.RemoveHide(page,"font");
; c/ g0 J* ^! h( M+ r% z this.RemoveHide(page,"div");
* o2 i2 y( ?$ z+ J this.RemoveHide(page,"p");
* n1 k9 u/ K3 ]; h0 B 1 C0 L! a; g& N z! x
}
; N8 G2 m2 k' @, S8 T- ]6 | # [2 _1 n" x8 G. c7 F( C
}
0 v- C7 @0 s" W this.getobjstyle=function(node,prop)1 r3 M& P/ l2 q0 W! y+ j# a6 s
{
' ]" m/ {0 H3 K+ @7 S+ v3 u try
% @# J$ T# y; q. ~. Z {6 o, S4 G3 k9 B8 n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* }( B( x) N7 J5 s }
) l8 q% L) \; x: f2 B. c/ X catch(e)( J% @& U5 g, }% e
{; H! |' p: y' W: _$ V. Q
if(debug)
4 ~( \2 K( Y6 y, J9 B* X' K' \ {
$ G4 N: F3 q8 |% H# e/ ^' P+ r alert(e.message);
. W& U3 N5 \; x9 P }
# q) Y, Z0 V9 b' P" D9 p1 d
: ~& \; u0 N* c1 ]. t( N return "200";8 `% e: [% y4 D7 J8 Q
}% a7 E' f: E1 g
}
/ v: u, c8 u2 b
& K4 u' d. D/ I this.RemoveHide=function(page,objname)
3 V! m' q. n. I {
3 l- D. v5 L- R5 @' X: F+ { try
. S' Y1 K0 h- f. Z9 Y {9 a9 S3 J. M, a. a1 x* D% e
var minValue=15;
5 q& x) }, Z$ F! D, t1 ]3 k var objs=page.getElementsByTagName(objname);
& [8 z: q0 }- k+ z: }( |
* ^" X, ` {# i+ P, R" g- L) s if(objs.length == 0)
* j5 t1 z- e/ w {
& p- |# |7 a5 C if(debug)
, s! T- O& }8 D' h2 O* m3 N {* h: [: k @5 Y! a5 c r2 }( Z! X
alert("no object found!:"+objname);
" x: y) z# j/ V' C# {- b3 x }) D% f2 n& O: B+ q
}
( c, }* x, U% O y2 c else8 n' \( q6 N' ?$ M* Y
{
# j6 C+ R: n) E6 a9 `! s0 L- ~ # c9 c$ L% P( z Y* `/ X1 |
for(var i=objs.length-1;i>=0;i--)
9 P2 J, E! T, n; v- j9 ^ {
, E+ a3 O' j8 J! d var node=objs.item(i); ! g3 C* [- A8 D% f2 n4 T1 _
% x }7 @+ g2 M F- l! o9 {
& z% d0 m5 h9 G/ ? if(this.getobjstyle(node,"display") == "none" ||$ v, F% q9 T* J0 k
this.getobjstyle(node,"visibility") =="hidden" ||
3 H+ G9 p4 S% I( ^: k& W parseInt(this.getobjstyle(node,"font-size")) == 0) 7 \% z+ J" u3 }, k g
{
3 f# R2 h9 W4 e% H$ ^- Y; z8 ~" T if(debug), V0 o& V: B P$ S" A( ?( J1 x" ?
{
" q0 _4 P$ F" N3 n2 s& d6 I alert("remove invisiable!");1 r K a; ?$ P. Y
}4 |" q: X) \5 s0 L, K3 B0 ^
node.parentNode.removeChild(node);
2 B/ y2 }; L, [8 X
9 C5 Y S) f3 J; y" V& ` }
; f) r* n7 x7 U# ] W else # w0 d1 q1 L/ d6 @/ }' ]
{9 r; s+ n" i' W
if(node.parentNode) 5 U1 F9 d/ W" }2 b; r2 T
{% u8 I* f- _" A- `$ _9 d
var orgNode=node;, H# d$ I. p- v' |* {3 z) z
var orgColor=this.getobjstyle(orgNode,"color")
. Y7 e/ B$ x6 ~, u. f* y0 N var orgRGB=getRGB(orgColor); ) Q* l+ n. U: r1 i$ `: T3 S
2 t' r; T% F2 t7 o& ]- _3 r$ J
var parentNode=node.parentNode
# x, s! d. _& J var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 G2 G0 Z$ n8 H ^$ r6 T ; j0 z+ {; T$ H& G1 {8 i f. E* ]
var isLast=false;% V e( z. l) L; q4 R" ]; Z
' H) b5 y. M3 O# D
while(parentBgColor == "transparent")
) s2 E' I3 ?4 j6 R- Y6 I {
' }1 L5 a% n( D1 M" ]
. H2 o9 C$ R! a3 }* e. F7 ` 7 B1 V# y/ I! m) _" v b
if(parentNode.parentNode == null)6 `0 G1 G. N/ t! {; ]
{3 n( v2 n0 r4 ` ~, Y+ a; E
isLast=true;
/ ]: o+ `& [% u% E break;8 h) B$ o: d; k8 F
}+ I- w+ j7 ^& a! I4 R& o
parentNode=parentNode.parentNode;
0 [0 F; G/ a2 U+ R- h parentBgColor=this.getobjstyle(parentNode,"background-color");
; l& B3 }3 \ @! U {; i3 ~0 g- M @1 W3 P9 ^. ?, Q" M. X
if(parentBgColor != "transparent")
, t3 D7 i; m* k' S {6 s' n0 ^# ?/ W5 E6 G% K
break;! x) \6 b: Y* T R/ J
}- G4 C* b2 H( I4 T
}9 Z& b. b8 U: ?
if(isLast) 8 H! C! H' B- R6 T- u# d' _
{
! G* i' w, K" t) V, m8 I if(debug)6 J% R( |1 s3 v5 e' T
{9 u. B+ s9 j7 E# R/ A- l7 Z
alert("last!!");
5 }0 N# X& ^; V% s% ^7 W }7 o: h) ?+ [5 |$ y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' u2 X. u; w! V6 |7 C& } {
/ p J" w7 _( V. Y( I) q! H orgNode.parentNode.removeChild(orgNode); . e9 a7 L" J# X# \" x. l# n
}8 Q, A( {6 B9 T' l
}
+ m, b- f* u& b: `2 ` else2 M+ w# ^6 `( [1 C9 o
{+ o6 z [6 N0 C
if(debug)5 I1 H& T0 S9 w4 t+ k( a( I
{
$ W* I: L9 p$ B- t( d( Q alert("compare color and parent bgcolor!");
5 N" u3 L9 n) I- p3 \. Z }- ]8 I, A& f @
parentBgRGB=getRGB(parentBgColor);
2 d, |/ e9 s0 B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% a) s1 K* r8 w& L. w4 I% r6 @) {# t {
, m3 L" X: d4 C9 t H* f6 p orgNode.parentNode.removeChild(orgNode);
3 {0 i/ W t5 a2 X }
4 r0 s- e- w4 S( m% B }
h, b7 f5 S- B* C( ` } `) n3 b- \0 ? M: Y/ _
}
) B! X+ q0 l6 ?% M; y: ~8 {, D }4 \8 d+ m; [ |) }; U6 `
}& T, X( T6 S- B2 n
+ a5 [4 o: v' M. d( z( I , O0 n0 ], ^. ?* d' M
var itemFrames = page.getElementsByTagName("frame");
2 a" ?3 n6 ~* W$ K var itemiFrames = page.getElementsByTagName("iframe");: _8 d4 c. x+ A2 |2 w% h% a
& o6 N6 V' x3 M
var frame, iframe;$ d) u4 @, V$ \1 ^ B
if (itemFrames.length > 0)* Q0 m1 c0 \) t
{
+ {# [! Q3 B3 J( ^; d% K for (var i = 0 ; i< itemFrames.length ; i++)
3 {* o1 s! g e3 x2 E" H {
3 h* ~4 W) [0 w* {3 X) q1 g frame = itemFrames.contentDocument;& P) V9 k/ g2 {7 B; m; [
this.RemoveHide(frame,objname);
% F0 i% d0 R2 I3 f- h; g }
; p6 g4 M& L9 i) Q* y2 Z }
- x* h/ |0 C1 r if (itemiFrames.length > 0)! z9 c2 \" q9 r& @/ ~1 ~
{
7 I7 x2 V3 N. `% t: N2 \; r for (var i = 0 ; i < itemiFrames.length ; i++)
1 q6 o& J% ]0 b% I7 Q+ v6 O& U {; t2 w% a- S+ e; H; k" C7 r( F/ C1 Q
iframe = itemiFrames.contentDocument;( g7 ^* O! Q- M4 I! S
this.RemoveHide(iframe,objname);
/ z) z+ R4 |4 L v, N }- |3 T. s% s6 D" y; A
}
/ e/ Y1 K' @8 X, L/ K6 M% I }
3 u' p6 o; T; K/ G+ i& C catch(e)
4 u. a6 h( T: g# c" }0 n {6 V2 \1 [- a/ _) @( j% `* f1 A
if(debug)
) Q' y; n& o1 r6 J9 l+ Q# d) w {
$ F# T4 @! @7 a7 M5 f- g alert(e.message);
' \( g- Q" w& n9 x }7 H& I0 S( y. n+ }# o% K
}& ~' H& Y- ^: P9 ~2 [1 @; ?3 H7 S
}# F1 H; k% H! v6 p0 B
- c' r& K" P# T3 ^/ H% j}
; X% U, S" t( }- g" G" e/ { ^$ ]9 U0 k1 ?( R8 r* F
function getRGB(colorString)
! \' `) u, L$ B& T: I4 _: `8 Q, l{
& `9 n3 D! y8 I( t7 `# P; H6 n1 v+ I% } var RGB = new Array; W v& W+ c/ `* W: W8 ]
var tempSting=colorString.substring(4,colorString.length-1);
& }9 S+ C0 U, x# L+ L0 K3 E var tempArray=tempSting.split(",");
2 b. Z- J+ Z' v
& i* s* q/ e4 P8 G/ J6 ]. s8 C- f RGB[0]=parseInt(tempArray[0]);& Y! J% G4 i" n8 \. |( C, Q
RGB[1]=parseInt(tempArray[1]);+ d9 u1 L ~3 s( g8 h
RGB[2]=parseInt(tempArray[2]);
* Z& T# ` A& A9 A 9 P: f! K' A/ D: A
return RGB;
: t: V2 Z3 l2 ]* T) U. T}& |( A/ d6 @+ p" D4 h1 }% f& v
function keys(evt) - R8 V5 `" I8 L1 L0 }, R& S4 m4 p3 h
{ 6 f9 U* Y! U( k* f2 V
if(evt.ctrlKey && evt.keyCode=="81")
( @" l* @9 b7 j5 x { 7 C4 I/ x9 b/ R4 [; w3 @* P0 h3 ?$ @6 p
CleanHideObj.on(0,1);
' T& o/ U$ f, A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" w1 E- u1 C. C8 _7 S
" n( D: P. o6 _* X* M }
7 ^: u4 R* ?) D1 V1 i* u; G( v' c }
9 V, j) `0 R5 U8 X4 Q- N F0 K/ ]document.addEventListener('keydown', keys, false); : z5 [- ]9 V9 P3 j
GM_registerMenuCommand ('Clean Hide',
7 S8 U9 ^! D; {) m' ?: ?, w, @1 Gfunction(e){+ U: L7 ?4 x# Z4 z. [9 |
CleanHideObj.on(0,1)
- x% P+ X& b2 l$ b% ?0 w4 l- K: balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 t7 _" ^ L* F: G; m' X});( I0 ?1 R' Q" }$ k9 m' C0 C
|
评分
-
查看全部评分
|