|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 H: P9 x0 H) ^ K2 N+ N* o+ d# ~- F2 A N0 ?: s
火狐插件,用猴子
1 D9 i) M3 m7 Q$ @1 x5 D5 O7 ]' N0 H9 R8 V
var debug=false; 3 j: e/ W2 m( Y/ Y) r( y% G' ]
var CleanHideObj=new CleanHideClass();
: J: r. ?& F- R' G" G! w* u$ c( j
function CleanHideClass() 5 ~0 t( D6 y' N# Q# F
{ 3 ~3 u6 W3 s! y
+ {" w' D8 \3 ^# ^ \$ B" t
this.on=function(id,bMZ)
6 J8 \! d) y- w$ y {
- Z5 M t5 F% N$ B: o ! e% p6 u) Z( R
if(id == 0)" n5 ~/ k" e( _6 J8 P8 E8 Y9 S6 `* _
{, O7 y8 x ^" G0 r
var page=/* document.getElementById("content").contentDocument */document;
: @9 s ]) ]2 A. B/ t$ K1 K this.RemoveHide(page,"span");- o. g! x6 W" y; ~: }1 k
this.RemoveHide(page,"font");
6 }& j4 d( v# t- A this.RemoveHide(page,"div");
8 B/ T8 v& b9 }5 n this.RemoveHide(page,"p");
. z. h! E x9 A+ V( P+ r a/ v4 u& r% p7 ^7 e8 w1 J: P6 u1 h
}7 K7 R9 ]/ [8 l$ U5 k
* o1 O8 b, ~( E2 P O' p. S
}
; w- @3 G( b/ p, ` this.getobjstyle=function(node,prop)
; k; x0 x) @$ m. R. l0 s {
1 G6 a# b3 ~# f% S: { try
. b% u/ F a& U8 z {
& ~% ?, x8 y" {' K) K+ u" h5 h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 X$ N6 O1 p1 x$ V& w9 Y
} e! s' h V3 P* d( a& D5 E9 J+ ^% O
catch(e)
* g; |. v6 C/ T9 l4 o. e: ` {
' [& Y" R1 I& v, f5 L3 {3 s( G if(debug)+ p- R( H& c @) \# r: O5 `
{
# L! p! b: d/ N; | v alert(e.message);
% }# H* X# H1 n }
8 g& Q) C; o: J. t. a: j V
7 W1 C2 q8 I. {7 g return "200";7 n& u; \; p) M/ l7 `7 a2 G# Z' S, ?
}! [$ X, S* C* X. H
}& {, U- ]# R" i' I! [. H
2 Q; Q8 g |5 z8 c this.RemoveHide=function(page,objname)
' S4 S; z/ C& b$ u4 M {
6 I a# } O* g' l7 o. J try$ l- G' x3 h& q9 W. {: k
{
% {! o" n* [/ P" A* ~ var minValue=15;$ T0 d) V& o' ^ Y' p
var objs=page.getElementsByTagName(objname); 5 _9 K1 I% l9 o: U8 z. w4 u
& e; S3 k; s' t, I; ] if(objs.length == 0)
% p, `% v4 R& M0 w6 I {
9 G6 U* e4 a& i7 h7 O n/ A9 t4 n" Q if(debug). @+ M \" @7 s# s3 f# h! U/ p
{4 ?5 _$ i5 G* \+ W. ~ q
alert("no object found!:"+objname);( v: b, C/ V: P3 l" i/ ~
}" I7 ^0 |& ?7 s# ]: g" B
} ^& K# _6 X, `! M/ A X- R
else+ s+ I. O" w) m% P5 g7 H2 {% j- ^. f/ J
{7 J' ?) G" F" b' k
4 j% F3 R6 y) t4 k* n/ Q for(var i=objs.length-1;i>=0;i--)
8 _/ t! X( u/ A8 \ {
, s- i; _5 b6 t+ B& m var node=objs.item(i); X* N1 r' f. t9 w
; Q: d. ]! C) }: _ 6 F. {" a W! }( U# W
if(this.getobjstyle(node,"display") == "none" ||, D3 |: j. p2 i) g4 B( t. a
this.getobjstyle(node,"visibility") =="hidden" ||
% ~9 f6 Z; Z, e' m6 z3 k% J parseInt(this.getobjstyle(node,"font-size")) == 0) 7 [2 q1 _7 U' b; h t5 N0 U% n
{
5 t9 {+ f2 p3 @! ] if(debug)
$ [9 a7 `( m& I* d! p {
/ O+ f9 ~$ G7 S alert("remove invisiable!");
6 a6 \, e, X% B# l/ Q: `2 m! h4 } }
+ j! {4 l! m2 ` node.parentNode.removeChild(node);
, R1 c) d( h1 n* ]+ U, T 4 K3 K6 F/ }" s; t& M/ d
}/ \; }( C' t+ M- g& K
else , Z: Y% `) m9 [- {0 q0 x% Q
{# u2 m& _$ y& {: i3 B
if(node.parentNode)
" E' Q( ]$ l2 D6 r& f) V% g9 y {
9 K# }% C( a2 m9 q- i2 X. s g/ Y8 _ var orgNode=node;
5 K; U1 @3 ^- y( r var orgColor=this.getobjstyle(orgNode,"color")9 ~& c, z) x4 N% t' a( }& k
var orgRGB=getRGB(orgColor); 3 ]& L8 k0 T L3 F: l d, C
8 d. n3 H) {5 R- W! H
var parentNode=node.parentNode# q G: G/ I+ k: M9 o
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( R6 w& C, `' U& l6 w+ x) X - C4 y2 w4 _' C8 a$ s
var isLast=false;
+ }' M, d5 i- u6 h! y ) C1 ]+ [9 l; g, u
while(parentBgColor == "transparent")
W- w0 ?1 F. d1 I {
, m: S) }- X7 h; K 3 U/ @$ T& t5 n& v
4 Q" L' z/ T) g0 m if(parentNode.parentNode == null)
' T3 j; B, {+ a2 e {
1 H" O3 P @3 ?- T& o: A isLast=true;6 p5 p7 d! I$ B4 D6 a
break;2 Z' U3 A, ^ H4 |4 s9 Y: N0 s; N
}
8 }! b; ?. O, T parentNode=parentNode.parentNode;
3 d4 [0 d! P" x3 [+ \4 R+ B) ]( c parentBgColor=this.getobjstyle(parentNode,"background-color");$ Z4 ?4 \) {( i1 P9 n0 K
) V8 Y- G5 P7 P# A; P* d4 O9 }4 l8 H
if(parentBgColor != "transparent")
% x0 c* n; Z4 ~% { {
+ [1 G$ ] A9 H, k# }4 p) m break;
( u7 W) d$ n; f# m; ?" J& E% M }6 m( \: G( k- ]1 m; s; D. l
}
' r2 [1 K' u4 ^ if(isLast) ' Y3 Z% ~& v# n j/ p
{/ [, Q+ w0 T: _- p+ u" J
if(debug)+ v n+ L0 M5 r5 ^9 B/ m' B
{- N9 t5 V! B* d; J1 Q
alert("last!!");
- S" u9 k( [ Q- m: B4 X9 Z& W }* C) Q* N# b/ d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* `0 [; T+ f m! u/ i" ?/ Q% k
{& a; b: i9 l |# f5 t8 k3 M
orgNode.parentNode.removeChild(orgNode); + T( R- G5 q; h$ T {. k3 [
}
9 I/ ?6 Y+ Y, y( @+ j; k }+ K4 B! |- N% P' o
else
% C8 O9 g+ A( w* \ { L! v# s7 G* K" ^
if(debug)
6 O; p0 B2 z1 }9 B, ]' h7 N! h {( g/ e" l3 k8 b* Q1 V& s, o
alert("compare color and parent bgcolor!");
* y- z1 \5 f6 S) T# g( z/ a0 I }
W" `) m% c9 I G parentBgRGB=getRGB(parentBgColor);' b* j0 x% e6 f6 E9 {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ i( N1 ?- ^2 x! b
{5 p3 D! Z8 U' c# y
orgNode.parentNode.removeChild(orgNode); ! N* D- P1 N5 _6 Y9 L; E
}! D8 ~) Z! D) H( _1 ~0 q
}
) i2 P' C4 P( u! |# {& Q. u Z: _ }4 y: R t3 r" G, ?- g$ o7 p& n
}
: i2 Y# T2 ~2 G2 J }6 B' V2 T' c$ l% N
}' a, a4 g! B, c6 y: C
+ r3 O/ z6 Z" Y6 H Z! h7 m% m 9 A: O; I. g/ Y3 ~9 v
var itemFrames = page.getElementsByTagName("frame");6 J+ q- e1 D; `" F9 o8 j2 \
var itemiFrames = page.getElementsByTagName("iframe");4 `; g# t! X$ x6 c9 C9 e7 }
5 E& ], Q3 x4 ~) h0 R: h- C0 w var frame, iframe;
* J. s' J5 z7 S' B& V if (itemFrames.length > 0)# U' ]+ y' l% V+ h( q0 p
{
2 q' C$ m6 |+ ^# @1 t8 d4 N# b for (var i = 0 ; i< itemFrames.length ; i++) $ M3 k, ^2 B+ x
{. L5 x9 {. @2 k: \* |" W
frame = itemFrames.contentDocument;
' D: Y$ Q# H. ~; |9 Z: A this.RemoveHide(frame,objname); 7 m. K$ D0 }- ^8 l
}
1 \) [+ e; z0 A# n7 ?# B }& \" q; h' a' [# u5 u; l1 x, U
if (itemiFrames.length > 0)
2 d& f: L7 X$ e {
- c1 o" {$ n" H2 e* k for (var i = 0 ; i < itemiFrames.length ; i++) 2 k1 g, F/ A) [ _
{% o- W. \ k; `( I3 ~8 o( W
iframe = itemiFrames.contentDocument;8 }+ O& O5 b+ L" j, ~
this.RemoveHide(iframe,objname); 6 I! {+ r4 R! g
}' Q5 ]0 ^+ b* D6 u7 T$ _# U( K( G
}) W. \7 W4 j F, ~1 O' U
}
3 e* i) ] Q7 |8 L* c* A catch(e)6 V9 {" S4 I+ ^# V2 r- E$ D
{
d0 W* s9 Q8 ~- }+ M+ o if(debug)
4 }' I! c* ^( ]. a {
n' k# l% A: J alert(e.message);! i! B2 C: l5 M4 P9 W- ]
}; }9 q; ~8 z) |4 L3 L7 F
}; H) l; q O1 L+ _8 i) v7 X6 |' z1 q
}
; ?' X3 z2 V4 v3 S 9 d; \2 W3 w6 {' `5 X: C
}
& q x9 n, d8 A6 W5 v- V
( u% i$ R' A6 G y7 Y, f0 kfunction getRGB(colorString)
: s) m$ E" L/ i) D7 w t' Y9 ^3 q{
' d& F' B$ S. l$ r: j var RGB = new Array;3 V+ _9 ?- p& j1 w6 p" \- D n' q
var tempSting=colorString.substring(4,colorString.length-1);
/ x6 e- s2 @* V- R0 }6 s- e# P var tempArray=tempSting.split(",");
4 x5 w+ d" x* R/ ~/ o5 q. b8 ~6 `( I2 p0 z8 N$ {
RGB[0]=parseInt(tempArray[0]);
# y' C; x. t! |) H7 \/ N) L RGB[1]=parseInt(tempArray[1]);
# g; a- z0 X/ E t; s4 P0 V RGB[2]=parseInt(tempArray[2]);/ y: ]) }- z1 F1 L7 d% a
# C9 i1 i0 C K; ?4 v5 T
return RGB;
0 ~1 U9 W) Z; U% I0 p. [6 Z0 K1 B}
. m+ ^, N7 I. Y$ G* V' tfunction keys(evt) / d7 e, Y0 U/ A* B4 |5 C9 r
{ & R7 O& E X0 f7 T5 w
if(evt.ctrlKey && evt.keyCode=="81")
; W5 i6 O3 w% N { , c, T5 Q1 ^$ H1 q# z
CleanHideObj.on(0,1);7 j# c0 t( y* f7 [4 h' P$ H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; ?- Q' _2 X1 S4 t6 }
9 k7 \# L/ h& B. P1 @% U) [ } 9 N# d K! m) A1 t p* f# @
}
- ]8 {( j% f8 ~4 }document.addEventListener('keydown', keys, false); 0 l G; v7 L3 B1 q( Q
GM_registerMenuCommand ('Clean Hide',
: n' G& d8 C# B6 i. j3 ]9 p4 g; tfunction(e){
2 W. U# y* e5 n2 m) a3 ACleanHideObj.on(0,1)) ~/ _0 q. b" O3 g+ `; p( O/ U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 {! Q) j% Z( `# T7 m2 V! W});
$ n& A5 i6 }+ c) t |
评分
-
查看全部评分
|