|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 p5 y* Z8 E) N( z
" f, v z; R3 _5 w8 y/ O火狐插件,用猴子
6 D4 \9 Q$ o( W/ q$ c8 b# u+ T$ ?' X. \2 O4 F$ ]
var debug=false; B- n5 g: P# |5 E4 I* y% t' D
var CleanHideObj=new CleanHideClass();" e5 z0 Q0 ]5 }
. ], A1 J' ?) P: L
function CleanHideClass() $ D$ G9 O6 X, Q$ d
{
! Z- [' o9 X8 V: w! V4 R1 [
/ E% U9 m o6 {8 h. P0 H3 D% _ this.on=function(id,bMZ)2 M" K0 W7 \+ \9 R, P& I' d- Q
{$ O u! y q# k1 d6 ~- j2 D
/ r$ L) R& U+ F% e" q8 c6 {
if(id == 0)/ r" x( o, n8 M9 X1 I
{ J$ J; |2 E. E
var page=/* document.getElementById("content").contentDocument */document;
1 k8 c) \0 y5 f- X- A O8 ~5 z1 u" ` this.RemoveHide(page,"span");
/ j+ c6 c. s- F; w: j) U$ y this.RemoveHide(page,"font");# z% \ X& A3 R/ y, u# ]# c
this.RemoveHide(page,"div");7 i" T' I5 [+ m+ p1 t
this.RemoveHide(page,"p");% x! P, P" Q' g. O( n
5 k9 v. P: G! n+ ~ }
# d& I$ H$ G7 t
; |4 S9 z1 ~, w5 L4 q- F }3 i0 L2 s% _# I. ?6 C
this.getobjstyle=function(node,prop)3 W+ S3 B9 ?& Q* O
{
; I5 H) x/ d, J: ?! l+ Z try
( m {- N; |' _ x$ W {% T) x4 x: A; j: c1 Y+ E4 q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) v, r) Q* x. ?9 H+ n
}, l1 p1 F7 f8 v+ f" I3 V
catch(e)& l2 V, L! Y) \" M% J1 V: @; g U8 N
{
) s# Q8 ~8 t; W& J if(debug)" r7 d2 u% _) B! B+ t
{3 D& z( t% ]) M& t& W" v# t8 _2 _
alert(e.message);0 ^3 G) d% j) A. `1 O2 l, h
}
7 n5 r% j/ u o3 G; u1 f # F4 ^) X1 o3 }$ b) Z
return "200";) g$ {2 s. N4 N/ s5 @) W
}
& o0 t; t' @2 M5 N1 x# T: | }
8 _: [* U0 Y0 A/ }# g
@* U# O- p8 C# p, U7 R: F! A this.RemoveHide=function(page,objname)5 B% J# S/ p1 U0 w* L- g
{
" e/ F# I) X) n try) V# F9 j' x) O/ A0 V( E
{" `) N: t3 j# R8 ^
var minValue=15;
) Y1 \: ^5 G: T+ g var objs=page.getElementsByTagName(objname);
% G0 L+ P$ `' d& t& G4 ]: c
Y- ]" ^" y9 Q% `) v* u; a3 r9 U+ ~ if(objs.length == 0) 0 C8 W* u M9 A/ \$ c" t# \+ y+ V+ B4 a
{/ P+ v( z, _! @; _0 V2 y! z+ z; m
if(debug)
" e( b, u1 @% y' i# Q/ Q @ {$ |3 R' T! f0 \* B& U6 e/ C( Q0 C; J
alert("no object found!:"+objname);
! | W+ x$ l3 k% c Z: }, v: C }
4 J2 K5 z- H0 h8 E) d* D }! U8 J1 o- j" `- R. c- R/ E( @
else, y: b+ k+ j2 m1 e% g O9 `
{! T- ~+ ^( l+ F7 }, w7 H
+ |! E0 Y9 d3 ^& F4 K' F" z
for(var i=objs.length-1;i>=0;i--) 9 X* O! I, u: a( U
{2 R( h4 V. k/ X( l
var node=objs.item(i);
% D$ M0 l* ]7 ^9 q ; p7 O2 G6 q! d" [1 S' R, u
% @0 R! Z. }1 Z. V* q: c
if(this.getobjstyle(node,"display") == "none" ||/ L$ E# W. x/ S
this.getobjstyle(node,"visibility") =="hidden" ||. [: J/ f; w* x8 E$ m3 V' t' K; G
parseInt(this.getobjstyle(node,"font-size")) == 0) " ^9 |& h. D0 r( w1 `% U% e
{' n; o2 W# K% ?3 i" U' J
if(debug)
( f. |; T: \. i# b# Z4 d {$ n5 v) ^" j4 a$ f$ p- }8 R
alert("remove invisiable!");9 G4 o5 C" |2 |% ~; O/ N. a
} a: r+ j, X6 k+ s- I R# a
node.parentNode.removeChild(node);
1 n6 ^# Y( x1 P7 o
! B4 _9 g& `& S1 C }4 p1 p5 B9 L" o- [; Z
else
9 }6 P4 H3 u# `9 S {
/ ]# ^8 Q' A' J- v! A9 Z4 F% H if(node.parentNode)
# }% G* O3 t6 ? {
2 n- c' w0 n6 Q* S var orgNode=node;4 z, v2 Z" J: _3 `
var orgColor=this.getobjstyle(orgNode,"color")2 q/ e9 m% Z) @% J+ t
var orgRGB=getRGB(orgColor); ; b) [# {. S8 @
3 m, G- j! {8 q var parentNode=node.parentNode; F5 Q, F5 J6 h& w
var parentBgColor=this.getobjstyle(parentNode,"background-color");- A/ T, X( @; g% b7 m) M# S) g( ^ R
) A( H8 a' i8 o; G* w/ d8 f. H! m var isLast=false;3 V: ?( L6 z9 s2 z! U
2 S! G- t) F U9 U
while(parentBgColor == "transparent") f8 Y( `' C1 k6 ^+ G6 h" T
{
: T4 W% L& b3 _
. _- s$ t9 |! B& Z7 R
4 R1 ]0 ]4 z# ?; c! ? if(parentNode.parentNode == null)# C5 H7 r1 Y. L& f$ u
{' b. A( z$ Z& {) T% R! _# L' I
isLast=true;
6 V# \0 \, F+ ]$ ] break;, y) l. F& Q- e0 ]7 e0 Y( ?
}
5 X1 y) l" H. M6 s H( D; r parentNode=parentNode.parentNode;4 z6 X* y" i# k3 M
parentBgColor=this.getobjstyle(parentNode,"background-color");; B$ Z& N! y- C5 m
% }; C' ~ \3 L& R+ V, G if(parentBgColor != "transparent") ; ]2 y$ f# ]( _% n3 ^1 K" W/ z ?
{+ t' ?4 f/ r; ^$ l! B
break;
) @& i! B+ Y$ t1 ~8 @9 ] }
4 }$ }4 `! Q7 x: D }3 T( V# V( t: s. H, c% ^
if(isLast) 1 t- Z% A2 g2 d9 ^4 R) v4 s u
{
$ q' N& q! b. c/ b C if(debug)
5 [5 k/ c, R( [& e! P6 X {7 _ M/ R* l& Z! \7 L! P
alert("last!!");
L8 I; t2 L+ m' @3 D }4 G1 z* C4 F# ], O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 n6 B# x2 T# }6 f
{
# |, y( {& p4 R; e* i5 k! g( @ orgNode.parentNode.removeChild(orgNode);
$ W( ~) X M% {" k; i2 ^0 L }7 U: K) d) P) q- l+ V. M
}
" X2 S) T s1 w0 r/ m* T7 W else
5 P# E. ]1 g! W( L2 z( z f6 Z {; u5 C Z. ?1 E
if(debug)% Y, u5 p, k9 C# Q
{
1 ~, n3 }, V2 N7 u1 W! x0 G7 T alert("compare color and parent bgcolor!");
! y y/ v& Q Y( A% |; R4 A }" \5 M' p! l. p8 \6 m% p( x! l
parentBgRGB=getRGB(parentBgColor);3 Z, a' J9 R; A) a3 P7 }
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 X0 N2 k7 t4 w8 X$ {2 ~
{0 [7 t9 A$ m0 ^0 l$ D* Y
orgNode.parentNode.removeChild(orgNode);
3 P& {, K5 l/ r/ R+ S4 C* Y }
8 t2 v/ h) S3 }8 |5 i' J+ J- q }0 O: X+ ?8 ^# b+ j# B1 c
}- C. S9 X7 L% e$ d$ \; x k+ @
}
# h4 w, M. I2 E% [2 P* K& z; Z# ~ }* n3 \, F9 `0 |* D4 {) s* |2 a
}! n# r _$ N- L2 H
: h8 \( m4 D' t3 ^6 K+ X * t8 m3 I- [- o2 T2 p6 |: C
var itemFrames = page.getElementsByTagName("frame");& l, k1 {, K, J/ f- a5 U
var itemiFrames = page.getElementsByTagName("iframe");
: P1 W' g2 _- E, D 7 R* p/ J, E8 y+ c4 x
var frame, iframe;5 o3 F( g* _, d" l
if (itemFrames.length > 0)
3 `" h- D9 o( l& }. o# N {
! Y3 Y0 ]" a3 g2 z for (var i = 0 ; i< itemFrames.length ; i++)
4 z5 ?0 V8 X0 ~9 c! |0 N2 M {5 B+ E2 t3 F F4 z* n
frame = itemFrames.contentDocument;
! K5 o; z) P4 b4 ^ this.RemoveHide(frame,objname); $ O9 C' B a# u8 B, I* U$ E& }
}1 M: U- z5 b! B( I- a6 s
}8 b6 q6 {0 i; o5 L. W6 d+ e
if (itemiFrames.length > 0)& H: @/ } J6 \/ @8 f7 |
{3 O- ~) }! T0 b$ k7 ?7 I
for (var i = 0 ; i < itemiFrames.length ; i++) , I$ X! w' D$ T% k6 h% Z3 Y$ _1 ^6 V. b
{/ C; S+ R9 h2 k0 l; N1 o
iframe = itemiFrames.contentDocument;+ [' h4 C+ v( |
this.RemoveHide(iframe,objname); 8 o0 f* @% h6 m' u
}
0 n; Z: c2 I/ v- U/ ~ }
j7 t6 V1 M5 Y% G6 @( l }: W# g: s3 b0 W( r! Y
catch(e)5 E9 _4 B' l" M* _
{
) ~0 F, }/ V. {7 a1 t if(debug): u$ H, ]8 m" p$ l5 f
{
% |* n# G- Q* B6 b. x# `% G2 t alert(e.message);0 P& _, D4 m4 x9 g+ q4 l
}' \, x' M: ?+ J% s6 g
}
6 p4 V6 M% X( |: {8 M* D# S% c2 ? }( Q$ v! W1 |3 y% V; l+ G
3 \; j3 Q8 I* [, |2 ?' @$ F) G
}
7 P3 k5 M' |$ f2 b! {. G s# `/ x, I& ]& e
function getRGB(colorString)
) s- u% A" d6 [( }{* u& o* s% S% ~+ H1 j& s
var RGB = new Array;3 F5 V: Q! E" v1 n1 a; U
var tempSting=colorString.substring(4,colorString.length-1);
5 ^3 `" w2 G% O; b3 x+ Y4 d3 Q var tempArray=tempSting.split(",");
/ s1 M- x7 V, J: M ^8 x
9 C' T+ i1 M- G, ~ RGB[0]=parseInt(tempArray[0]);0 h$ u! s) ~% O3 x/ v4 Q) R7 l
RGB[1]=parseInt(tempArray[1]);/ D+ P) X3 q" _5 l5 e3 M
RGB[2]=parseInt(tempArray[2]);( W7 ]4 o5 h3 g7 X
% x, r9 q+ Z2 |2 k return RGB;
8 y$ f }' R3 l; D" V5 S}
+ y$ T5 | [2 d1 Rfunction keys(evt) . _2 e; I& V+ P/ g% Z( ]% ]0 i$ j
{
9 R7 t" ?& Z: Z9 }, s if(evt.ctrlKey && evt.keyCode=="81") 5 U/ I$ w! ]% S2 ]# G2 Y$ h3 z
{ % t) N( X% u# B0 O1 u
CleanHideObj.on(0,1);6 C( s3 ?7 [. E9 i0 ?( @( \5 |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 I9 r7 |; r9 Q2 C
, J+ O6 ~# b( W" D% z& E/ Q! W }
; e' [! h( i* `+ ~' [ v$ s3 Y } - _5 I# g: ^ b( d7 @# x* A" F
document.addEventListener('keydown', keys, false); & \1 N0 v* v9 O5 J
GM_registerMenuCommand ('Clean Hide',
* o& h1 @, @4 V8 @$ z$ h0 M1 t8 Pfunction(e){1 s' }) m) i4 ?5 d4 N
CleanHideObj.on(0,1)
% M7 z! Q2 R5 ~# b% O, galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! U o# }( u5 B- e5 h
});2 `% z! x7 o8 F, t/ s
|
评分
-
查看全部评分
|