|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + q4 l+ H( i& [" y* }9 U/ v. x* R& G
8 Q3 E# A$ M' Q5 |4 A) V火狐插件,用猴子
2 c ~' V1 j# g s) h9 {1 u ?; v2 F7 Q' Q) h6 c- I8 y9 X4 d: Q! i9 p
var debug=false; + s, r ^3 ]% f7 }0 H9 x- \
var CleanHideObj=new CleanHideClass();
( r# t4 @% e4 U* F. R' D
/ `. _1 f5 d6 k8 s: _/ b" Nfunction CleanHideClass()
; _: U" O: \: N4 A% r& Y{ . L0 ]; K2 `1 k: }2 A3 F7 ?9 {
0 l& ]. Q. J' g3 c% R; U* C" g, M
this.on=function(id,bMZ)- S: l6 H" M* k. F# K! I" I6 C+ W1 h
{% A. a3 u8 X" G& {. U( t
* u$ d5 p' y" {( D. g2 K if(id == 0)+ B A' ?0 L+ _' Y8 T$ v6 x0 v0 v
{
* c I1 r5 E9 X: ]0 Z* w" f9 y2 z) q var page=/* document.getElementById("content").contentDocument */document;
" F( `. i6 ^: v$ j. w( L* } this.RemoveHide(page,"span");9 U/ p V/ B& \! I; `' h
this.RemoveHide(page,"font");
/ N6 k" ?' E( e this.RemoveHide(page,"div");
" v6 Z. n; j! O/ u- ^! _* E$ A this.RemoveHide(page,"p");: i* ?) V( s7 P+ v5 M
6 K- V7 Z% Y# e" n* C3 y
}
/ g- d" C; {- B5 Y$ W* z) Q( m # R- A3 G1 @. `2 v# P
}
1 g5 F9 |9 {1 Y6 q, K this.getobjstyle=function(node,prop)
) W; l4 k( I; g5 Q {8 f3 P" ]/ D1 Q; |! n* ` G, o
try
# r1 _8 V( q0 [ g {# `* @, ]; O" p$ R9 Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 J" @2 y, U' F! e1 q }- d/ r$ [! U. w1 K* N# e) ]
catch(e)
2 R4 b( S. o( p& o {7 I. P" n5 u' [ r, r
if(debug)
5 ^1 g2 K W7 G# }/ F; Q {
9 _4 H# H+ W2 w( {) ]/ w alert(e.message);5 D- Q' D9 @+ F% e$ R, e) L: z
}+ O2 a6 ]4 ?" [5 h
' g8 T$ z {7 D( n. s9 ~ return "200";
) L8 \; P/ p% t u }
4 n5 x* ?% b9 R, \/ e$ Q6 m( ^$ f }
& l& ?0 W3 t0 n# l / e3 \( q& {4 p4 P6 d
this.RemoveHide=function(page,objname): W- X1 ?3 _( S( C
{. N3 d/ C/ @ v: [, c* R7 q3 y
try
' t# H/ @9 }3 g) K, r3 R3 Q# \1 } {
2 j/ k: A# o9 x- b2 Q& B4 \( P var minValue=15;
& G& P; R1 p3 B3 e) ~1 E var objs=page.getElementsByTagName(objname);
' L4 x2 M; K1 }) P0 X
3 Y% l0 t0 H; a4 u) F2 o! V if(objs.length == 0)
" |" e7 S0 N- @& ` {" e4 U& I" J/ E: n0 F/ u
if(debug)
, \5 U) {# Z% i# V% g1 j1 I {
+ M! Q1 w) k S3 N alert("no object found!:"+objname);
$ M6 D# u6 b# }6 ?5 f: ]" q }
; O1 f$ A( H2 W }6 K0 m" u" z0 {: v6 h( j
else
% r {2 H0 M+ C7 u- o. \: j {; I; C2 y( z1 e/ m
2 L5 m9 |6 E+ B2 }& l( B. ?9 s
for(var i=objs.length-1;i>=0;i--) ( A" E( [ d, M$ H1 f& t
{7 r# J1 Y/ h8 z
var node=objs.item(i);
7 s5 K* ] e/ C' ^5 f" Z* K+ k
- `: V1 r+ F. a- I P# @1 N- H( |
! j9 p+ |/ [1 R0 |# t if(this.getobjstyle(node,"display") == "none" ||
: Q5 d2 L2 k9 u* ?/ P1 [ this.getobjstyle(node,"visibility") =="hidden" ||) c8 l9 o2 i; s* M8 @( H9 w
parseInt(this.getobjstyle(node,"font-size")) == 0) $ b; g# q8 j. i7 ]" t
{
2 |$ Z8 R' f# _5 D1 g# n& q% S if(debug)
' ~ F6 L6 [$ s( ?5 H {
) S3 k9 s7 M) Y alert("remove invisiable!");$ G& u- o% x" U+ ]
}
9 w' n5 `3 {. p; C& M% B node.parentNode.removeChild(node);+ W& k% a$ C& m* \
/ _0 N. i$ _7 W1 n8 W; p2 j }
- X0 |" g3 Q( X else
2 B/ K: g. G( G! _5 V2 ?! j# f {: E% ?) T7 q) U& P
if(node.parentNode)
0 U j5 j; t" M! c9 ^ {
1 Z% W( P3 a F1 F var orgNode=node;
! |6 f$ j' B7 G: S var orgColor=this.getobjstyle(orgNode,"color")
8 m' r: J' z% f, ~0 s6 z' t var orgRGB=getRGB(orgColor); 3 C f, ]8 E& ~1 V$ C
+ h* F) ] I, [9 m* M) U var parentNode=node.parentNode) g2 j! `9 b; \/ {& f
var parentBgColor=this.getobjstyle(parentNode,"background-color");; L: c3 g m5 K# U
3 x+ ?* i1 j$ ?6 D9 X# t
var isLast=false;/ J4 V3 L& V. a" m6 a0 J
7 _/ x! F0 _$ _! I( E4 j
while(parentBgColor == "transparent")
# m6 I0 O, x# A, ^8 V9 O {
+ j& U3 F7 q8 Q' | 1 {/ L3 T1 R6 X8 G8 n: k! a0 E
( _) S! k" H' v* t
if(parentNode.parentNode == null)
7 P ^+ } m! i {
: u, w/ E8 d! k0 Q! d isLast=true;$ f) \( f' t% J! ]3 n
break;) ^4 I# [. q" H$ ^! D5 M
}# b% l$ x7 V. b- l$ [
parentNode=parentNode.parentNode;
+ H) p$ I1 |0 M6 ]1 o7 d parentBgColor=this.getobjstyle(parentNode,"background-color");
9 h. }0 D' h/ x, I7 o0 N" `# R& ]! }
if(parentBgColor != "transparent")
* G6 q& n; E/ c {7 q; D4 U% ^, p1 P
break;
" [: F3 G5 m& v }
& N6 R( Y3 o# @2 E2 t( Q) i: K! W }
( P' I+ _3 \( f2 V- Q3 l1 ~9 ^ if(isLast) " B _% I) T9 O7 ~
{
9 v/ ^% A: {3 |: G# B if(debug)
& ^: C% `1 s5 G6 o" d+ a {% q' I7 D; X' V: D; [) d
alert("last!!");5 n' n/ b( F- |) X+ ^" D
}
8 I! s- M3 i) g9 c if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 l, G$ X0 t1 T9 _6 l; b( T {
% P/ ]3 c9 ^- |7 s( \9 ? orgNode.parentNode.removeChild(orgNode); 8 V4 m* f) B) z+ x+ C
}
7 D0 R& o f ^5 K5 u4 }$ M }: _+ P2 c0 Z. U+ T& U7 m% f9 h
else( @- W7 m# ~* N! g( V
{
* b3 {8 v- w c6 V. H5 v- | if(debug)7 w4 {" x d6 ?
{4 z" t' Z1 W4 y |
alert("compare color and parent bgcolor!");
4 }; _7 n8 @: ?+ z0 X }" _$ C; }% T7 A* A! n# j0 H
parentBgRGB=getRGB(parentBgColor);9 u5 s8 n) i( _) e
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' W5 z, X" i4 |( E# p {- [7 \( F6 J: R t l% H0 \0 F; b
orgNode.parentNode.removeChild(orgNode); / o6 ` R6 ]2 o! Y3 e
}
, M; V% }* B* D- {% X5 Q }. {) t) ]$ F- @$ N- q& j
}
) {( l R. Y% s& m" a }3 V3 t8 x4 R i. [/ T8 g& _
}3 p8 ^( h6 X$ c9 o- K$ r4 O
}- V7 Y B8 H# b( H
% G2 X7 ]" H" B2 I8 ~" m6 T
3 V3 ~/ `' m4 t0 v+ H var itemFrames = page.getElementsByTagName("frame");
. u, y/ C, C L8 ^- a var itemiFrames = page.getElementsByTagName("iframe");7 C9 a% e$ q9 Q" R6 c% ]
b" \$ ?, l3 }: W: u
var frame, iframe;
/ s. h+ a3 K& }: Z* D* _ if (itemFrames.length > 0)
0 [5 A6 E" a4 {2 C2 p: S {( j" l7 k9 q$ F/ Q# m; ]: p
for (var i = 0 ; i< itemFrames.length ; i++)
$ Q+ u5 u! s! D' B. M; W6 R {7 p6 p5 Q4 R p; N4 r3 A! _, f
frame = itemFrames.contentDocument;& b( x( R. Y0 I* s2 T2 g
this.RemoveHide(frame,objname); 7 K! v9 D$ h! d& k/ m1 N+ C- _
}5 M1 [( o7 p0 I, I& V, t
}% y+ n' |2 j: K6 X8 b+ j
if (itemiFrames.length > 0); P( K5 j$ Y1 c' L/ Q: H
{
C# J5 F; H: q7 l for (var i = 0 ; i < itemiFrames.length ; i++)
: J) p1 l, K! e8 R {) Q/ O5 g" N- m7 t: b: i: e2 F$ Z
iframe = itemiFrames.contentDocument;5 _8 e% T' F' H/ ^
this.RemoveHide(iframe,objname);
) r+ `, {) n' o; u3 T2 m }
, K& ^- }" y4 z" h9 U& y }: j% G1 x* _! ]: r' n
}; E, X: E" _4 H/ l4 e8 C
catch(e)
c: t I( D0 |' o/ t5 c) Y9 @1 u1 K' f {
, M0 p/ D' a) y5 i% p! p if(debug). S' i! Q# j' ]
{! \7 R* v' a% J8 ?. n
alert(e.message);' n: v* k9 ^: L
}% m' A1 p3 A6 |3 m e
}4 ] e8 k) S9 n1 K) i) D, O
}
; J7 o9 W, M# L. }1 _( l! U
" H/ ^9 N1 i4 h: j9 z/ w9 E7 _& v}
9 u# P: i5 m! M* |5 A) K9 z( F% F0 i7 e; Z2 h4 ~: b: Z
function getRGB(colorString)
* d) H( Q, i9 ?( B3 m$ Q! i* @; i- }{
; u* c2 d6 c; l var RGB = new Array;' {+ Y' H% i0 H+ L
var tempSting=colorString.substring(4,colorString.length-1);4 s: ~+ A, A( x5 ~2 k) Y) X& q
var tempArray=tempSting.split(",");
, M K( ?" O/ q, p5 t5 H
+ Y# W. J( {8 x" g3 A4 k RGB[0]=parseInt(tempArray[0]);
* K/ k: N2 y) z3 r RGB[1]=parseInt(tempArray[1]);9 R' T; |0 E% q" H, g" ~0 y
RGB[2]=parseInt(tempArray[2]);$ i) N- Q; ^3 n* }
; U3 d; ]" R7 G9 O% l
return RGB;
5 T: H. H( }: S1 B# y# ~}) J' U) J3 E/ Y, v. ]0 z& H8 @
function keys(evt) 5 ~$ n( q3 x! Q; ]$ \0 m$ O, z
{
( s- h& d& H8 O! y- I if(evt.ctrlKey && evt.keyCode=="81") 7 ^- p \0 A7 V. u8 ~! t
{ % u, G) l! B# f) h/ t. h' h1 r; b
CleanHideObj.on(0,1);
" K# w |$ y+ V. m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# Z# P; e% \; a% a6 i! p
! g0 I: B4 A1 R: Y, ^2 ] }
7 b0 c+ V+ c2 Z: M4 R/ ~ }
" k' k, x" B' x4 Q$ g& jdocument.addEventListener('keydown', keys, false);
5 ~' q/ x, B5 f4 {GM_registerMenuCommand ('Clean Hide',
f- f* l: @% }: L8 `# Ffunction(e){
! j' d* d4 S+ Q: r& YCleanHideObj.on(0,1)
8 d5 E) R9 Y' d7 h/ P- p* @2 Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& k# z8 c: G5 u2 e
});/ u0 D$ ?- Z G" \
|
评分
-
查看全部评分
|