|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 R& K- b/ b) y ?! X5 R" N) M1 ]. E$ n, q1 Y9 A
火狐插件,用猴子
. D6 x3 D# U) [9 U5 j0 B: Q* j$ h: j* J, q/ H+ Q
var debug=false; 4 e$ C$ q4 e, f- p( Q
var CleanHideObj=new CleanHideClass();% _+ N0 O, T7 I0 e' Y! B# H
9 W& p: ^( z/ j% E, j$ @function CleanHideClass() ; _( @- G! E7 X$ M
{ $ ?1 Z& K/ g7 R7 T
& R+ `+ W* a: l
this.on=function(id,bMZ)- d* g2 \0 D; G$ ~$ T! B
{0 H0 S) e# ~$ y5 ?. x" V4 {
3 l' {& ]) Y x6 q# T u
if(id == 0)
5 T* c4 Z, I7 f" I0 c {2 f: C, X0 r/ G; z: q. s$ i$ i
var page=/* document.getElementById("content").contentDocument */document;
5 u4 K1 X8 k& ]! D2 ? this.RemoveHide(page,"span");
8 h+ d, h7 i3 M, @ this.RemoveHide(page,"font");
2 a* t6 w* ~' t8 o this.RemoveHide(page,"div");
a/ o4 H2 z; m$ R/ H, W7 Q3 m D this.RemoveHide(page,"p");
. V5 ^- i9 z0 Y 8 _/ p! G" L! l2 \ J
} V1 \( w- c3 Y. Y* I4 {
1 ]' N$ G/ O! n3 v$ v Z }
- | W9 o8 m4 }- o6 d+ i this.getobjstyle=function(node,prop)% z ^% `, z9 ?. K/ G* i7 v$ ?
{& \6 }* A2 C l% t
try
" O0 i3 ], n& W5 a; e' u4 A6 k {- c( D) L8 Q" c; n6 U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ l! j W; i5 e- _$ T }2 @# U c' e5 V4 ?3 A0 g- |8 D$ ^
catch(e)+ Y4 O g5 x6 _& g+ K
{
% F; t' I/ g, `/ F( o if(debug)4 b7 `; t2 B' M/ L4 ]1 Z1 g
{6 m1 P/ J& v% J% u
alert(e.message);
( I9 `0 M9 b7 I8 l* C2 a+ p7 S }
0 m: `$ G% q" }# ~( \ B+ E1 d
! b! T' K y: P5 r V/ R! I return "200";
) D# w) l8 b4 j* ` }
1 \* s* s0 a) a' i( @* H }
, F* Y: C6 `0 B' Z ( _! A1 P& f* ]# l) [
this.RemoveHide=function(page,objname)+ P+ J/ M! _, f- @5 s& j
{
: O" V5 u) L) M5 \$ b9 b9 B, S5 X; F try
% J' Z( i& i4 ]4 _. d {6 Y' X( ~( S$ n& \" I+ W
var minValue=15;' Y2 O; ], I2 v/ ]
var objs=page.getElementsByTagName(objname); ; t% L C9 q" U. x9 [$ W
# K9 b3 m8 Y; X8 s/ n if(objs.length == 0) + Z; \) Y: a, j/ O7 b, H
{
% I, h, O* h! \1 A7 x1 t8 U if(debug)) S, `" ]9 O# K' g
{
/ A" ?8 H, V! J+ q; v) t1 p9 P! v3 ^3 ^ alert("no object found!:"+objname);
: [2 X6 d8 [* G% Q! a }
% b j+ t1 o- h6 F3 u+ d }
3 Z% O- u' a* b4 r' y) x" m! C, g else
2 q5 R. ^" B* N9 S# T- d {
# U4 r2 m7 R$ X4 s% }# h$ @" |" c; c2 b
8 {4 |6 p8 o. S) } ] for(var i=objs.length-1;i>=0;i--) 6 U( ^% G6 q0 w1 [
{
0 W! @, q) e1 f2 v2 E _: j2 \ var node=objs.item(i);
, t# X+ Q+ [8 B4 k$ U7 C: M$ }! U h ; k4 ]' c4 a7 A' c
6 _3 g+ v! h5 U+ \) ?7 N, p if(this.getobjstyle(node,"display") == "none" ||# R2 _- G- S# J5 c' D
this.getobjstyle(node,"visibility") =="hidden" ||
9 Y9 ] }* n- B0 V7 j( M! } parseInt(this.getobjstyle(node,"font-size")) == 0) 5 G3 _7 _6 P* J; U* ?6 _8 \
{
/ {' f }- b% z1 A. o4 P' j) j if(debug)0 F' ~9 k; z; k$ w; O
{
( M6 @6 b6 w* R alert("remove invisiable!");, ~! y, O, g1 `9 V9 t' W% I
}+ ^# |! I. k2 R9 K
node.parentNode.removeChild(node);
; ~$ z4 p% ^% i- I
8 t( k; W4 }3 w A0 L$ ~. N1 p1 } }" N" i, M$ Z2 U5 r( Y! X( _
else 5 |: K4 f5 V: ?# m; ]' R- g, h
{4 Z6 p" L& K) E' b
if(node.parentNode)
T! S/ t( V1 x4 P% w7 w* i$ I {
F: Y6 O4 q% N3 r m var orgNode=node;3 ]5 B+ p6 A; M J9 o: |
var orgColor=this.getobjstyle(orgNode,"color")1 J. f- s: {3 y6 d5 u+ L
var orgRGB=getRGB(orgColor); ; y1 n0 D$ n) x7 @
6 x9 t) p& G+ Z! W( Z
var parentNode=node.parentNode
x# @# Y: u4 G1 y9 u var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 n) \8 e" M1 ?3 u! a8 _* @ 2 N& S3 J: F' p/ ~7 [
var isLast=false;- O; n! @9 v7 [7 z
- P" y+ o2 b7 _$ o0 F$ D
while(parentBgColor == "transparent")
* r/ I+ a0 {& ~1 F) I {. T0 X/ a4 U' d; `& | b
$ S6 Y9 W7 x; o4 z9 D
, F& @5 \) N# {. l- i% | if(parentNode.parentNode == null)
( b, w7 T" U, q) F! f( y- r! M9 ] {
. B+ o& p M3 g4 L* V isLast=true;
1 Y+ m8 c0 A+ N0 m5 C) R break;) e$ y& H: E- o7 v
}
+ U0 j$ e* r' s0 H parentNode=parentNode.parentNode;$ G- G# |0 Y q& O) g1 u7 H( @) b
parentBgColor=this.getobjstyle(parentNode,"background-color");8 j% L; c" v+ {8 k# Z# F$ m9 a
( x' R4 t4 T! F. A
if(parentBgColor != "transparent")
$ e# ?& ?1 {$ z3 v( E$ h) j! s6 A; | {
' o" }9 C* O6 ^- b break;
$ L/ [- ]) A! C* z } o( h9 D% k# Y3 C' K8 G! u
}
% M6 X$ a& _0 Q2 S" g if(isLast)
3 m4 e# `8 q4 {$ t; a3 ?4 K" g5 |* F {
9 L! ]9 d5 v) J# q, f if(debug)1 j3 i' ~# ]9 q- q
{( _0 m* m. U: G j7 _' _+ p
alert("last!!");2 A X" {8 h# N' ]% u8 N; _# d
}* _' x7 N1 b6 \& D9 Q# z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# L* Y, c& ~% m! V
{
" l$ @ c) |# X0 ~& p% o orgNode.parentNode.removeChild(orgNode);
# F4 |& K" b5 D5 Z& @7 k' z }* b$ y4 J9 i! W( g& R0 t: q
}
" f7 F7 ~8 N! v$ [ else- H3 _& I9 Y+ Q( s, U1 B% o) e
{
, ?& D5 B, R3 e1 M [( p if(debug)7 x$ i- h; k$ _5 f3 P! T; [
{
' m2 l9 k6 m F' I$ G: x/ L0 ^+ c alert("compare color and parent bgcolor!");/ N/ n) z( k: V
}
) W2 e% p: `" q0 `# k parentBgRGB=getRGB(parentBgColor);
3 u2 ~/ M" v& C; T1 } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 B+ r0 Z/ k4 i/ j8 p* d! M {+ S u& D/ v! W( P
orgNode.parentNode.removeChild(orgNode);
3 s1 T+ Y4 D5 _' _ }
0 }+ c% H3 |2 h' ?6 ~ Z, ` }. f, ~, S# [- `, B7 e
}
' d: d# S# t$ G, F }: l1 Q8 j" D; A* l) b: q* z
}
; h) {) Y7 R, m' {. Y" x* K }/ U' t0 S& G+ t4 j6 G
/ D! x4 s) g, q! m9 e & r1 D* }1 f& }
var itemFrames = page.getElementsByTagName("frame");" \/ `$ x. Q) J/ a( Q! L
var itemiFrames = page.getElementsByTagName("iframe");
; v& G5 Z6 E2 z" P( e6 u
9 \- U# V5 M7 f! ?+ q var frame, iframe;& R& w- f X% z, S% B# k7 G
if (itemFrames.length > 0)
4 z2 i( |6 L' ? {
; L% ~+ o( J5 f for (var i = 0 ; i< itemFrames.length ; i++) ( b1 `2 u) P9 Z ^, T( o
{. c; D# s: w. B; L% y& k" Q! ?" e
frame = itemFrames.contentDocument;8 Y- p* J- o' }' h% u7 G
this.RemoveHide(frame,objname);
/ d V) Q5 }2 f' R }* J4 R& [9 q/ y1 H
}
. |5 Q9 x3 ~$ }# _$ M8 F" H d if (itemiFrames.length > 0)
: ^4 ~# Z( a- z {
. ^- t# p4 q: f1 V- b, W |+ Z: T for (var i = 0 ; i < itemiFrames.length ; i++)
3 H( x; I+ ^1 O% Y7 g# L) ? {
5 v x; x/ z6 c9 a; `6 { iframe = itemiFrames.contentDocument;
" R( v# |2 N/ l& c' j& w this.RemoveHide(iframe,objname); . n/ G& R9 G' X# [+ Y* Q7 ^
}
^6 U) E, m1 ?1 o" B1 O3 e }
$ W4 b# c5 l6 p }" d& H' P) }1 U* [/ W
catch(e)
" f7 h; P1 N5 B, q) H {
3 u1 f4 H8 g9 s# f if(debug)
# v; P( {9 b* U {
. a# y; g( n( e% C& V' ` alert(e.message);
. Y A) u; @5 ~, l. q% ` }
0 R5 n8 ~8 w/ Y( ?' \+ C }* g0 t+ k/ l, ]6 ^, X9 W" D
}
, j; B8 M3 P: k: c S
b' p( n. `$ J( `8 C8 b}
7 L3 U& b6 o) R# [) y- p' M' m( r! ]
function getRGB(colorString)1 `/ t0 d* f6 w$ l' t0 L
{
% k! ^6 y" H( i( N var RGB = new Array;
Z& H; c3 ~/ o$ N- u- c. ?0 V var tempSting=colorString.substring(4,colorString.length-1);
4 b/ ~. M; N" o* r var tempArray=tempSting.split(",");
z; d0 `% {9 J" L& c8 O+ ?
$ E* x% j' C# Q0 T) a+ d0 Z5 @* d/ w/ B RGB[0]=parseInt(tempArray[0]);
; R% H" C4 H0 v# q) e: { RGB[1]=parseInt(tempArray[1]);' @3 y5 n# M( T" ]- i6 G3 z- ~
RGB[2]=parseInt(tempArray[2]);8 O" J! p T0 w4 J& L' X
# \7 R+ X9 ]9 K5 P7 N; O9 d
return RGB;
: d( N( `- |+ v0 b8 j4 l}
( v; o! D8 k5 f r3 x$ Z& D8 U5 ~4 {function keys(evt)
k$ ]) r7 X4 X( p* u: V+ i5 g {
) `7 p7 ?% N, I if(evt.ctrlKey && evt.keyCode=="81") 2 h3 M* P5 {6 A! i; \7 ~, V9 s
{
{! N4 w$ X1 X4 u! h CleanHideObj.on(0,1);
; h& C4 O8 J) [( v; V# } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * p; u, M0 H* ?- ^, Q
+ @2 g8 A: f: |. q/ q( b
}
) o0 }* f, [0 K1 M } 2 W3 u |5 O8 ?- D
document.addEventListener('keydown', keys, false); 3 ]; b7 D% P7 F4 z& W9 y6 V2 V
GM_registerMenuCommand ('Clean Hide',2 z& P2 n. n4 d. e$ p' \5 A
function(e){7 q$ q1 U* X) H3 |% W
CleanHideObj.on(0,1)
- U% Q/ [5 W3 p3 zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 ^2 I3 b' a$ Z
});
# s' R a7 w( n4 x6 y$ n' H |
评分
-
查看全部评分
|