|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 w: R8 G4 X: @3 ]% s1 d1 @3 a7 O; v0 M; Z8 A
火狐插件,用猴子
' I! f5 ]1 @( L" }, i, K+ J7 l% {# M0 H0 _+ W' E7 V4 P
var debug=false;
* N$ [6 d0 \( n, u! d( Yvar CleanHideObj=new CleanHideClass();
4 ^& `4 v p) Q2 ^! ?' q1 b; o" x3 ` \6 O1 x% i9 a" h
function CleanHideClass()
9 E, K1 A0 b+ r# C{
0 |" v: k2 S* p# F* R
. b% I; o3 @$ ~/ I' ]: h. S this.on=function(id,bMZ)
/ V2 |" [2 c: \% K# K9 i7 [ {8 d9 s. L3 k( V' D6 ` R
1 D8 V7 [' T. o- D2 B if(id == 0)' R' T- y+ k' B6 R
{2 f) ~/ X; [8 @5 O
var page=/* document.getElementById("content").contentDocument */document;
+ @) w! l. B& i6 f this.RemoveHide(page,"span");: a3 U0 ~$ d" W, U( V# e
this.RemoveHide(page,"font");
, P3 ]' C7 O( g' ?( w2 m ~( C this.RemoveHide(page,"div");$ N2 {7 a/ V8 {& D6 V* ~6 U+ Q7 O/ I+ q
this.RemoveHide(page,"p");
4 r* W+ w+ Y$ q" f
( Q5 ^6 Y2 s9 d/ O$ c. b0 d }
& p1 P) ~8 v0 [/ n) e# Z _ W # _, k# c& I# ?
}- \; C }% V. i; Z U
this.getobjstyle=function(node,prop)
! M. q- ^+ U0 v: T9 r: m" i {% c" {3 t) W% b
try p; Y F" D$ F4 F
{% s( t# c7 [2 M, p. }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. i9 o( J' M- P B A( h( u0 V }0 o( i1 B' A6 G1 o
catch(e)) \& a: e9 x* J: c3 b2 c3 d
{
" H. C* W' a8 h S" p if(debug)0 v8 w, \) v! z5 d7 M+ r
{1 G4 v* `6 O/ h
alert(e.message);
2 _$ ^: X- f1 n! a! Y$ f# z }
7 g/ f& B: i7 z" F 3 O- l! g; r; p) j3 ~$ g. F
return "200";
: V+ T/ e9 W+ {0 z- u# o }
9 @* B0 y) Y2 ?$ ]& j7 K }
! y/ F( j0 C0 [ / l0 G( [1 f4 O" Q, g
this.RemoveHide=function(page,objname)
* E9 a6 d K+ H: t, F {
" j- m" I/ a% c) W try$ g" c# H- w5 c8 N7 i r; S$ R
{- c5 k2 z2 Y# a/ q/ w9 {
var minValue=15;
: r- _; `. J9 O var objs=page.getElementsByTagName(objname); ; V3 u" H9 d( f# O
% |$ m% e% Z8 w& ^5 s
if(objs.length == 0)
$ y. W7 I) }0 I* y5 Q+ ^9 [ {' [, K- n% K8 V1 ^, R1 _9 l( e
if(debug)
+ J: v9 [8 E" e: V+ a$ s5 d {
! O% U2 J* J# ?9 d8 i alert("no object found!:"+objname);
3 R" P4 C- t* @4 C, m% G }9 A0 _4 l( j6 B5 {5 r4 [ K
}
9 P) K* w5 z( E" m1 w* Q else9 @0 g# i5 E5 {! h2 |0 E
{
3 M# I' W( d! ^2 m6 x- ~' G+ f- a
9 a: _) P4 r" l for(var i=objs.length-1;i>=0;i--) 5 H2 s2 D2 @7 ^7 t& e+ f8 i' @
{* u' x* K- F. J1 f! C% f: x6 C
var node=objs.item(i); * o7 \5 C1 t+ {$ ], o1 Y
6 V' F8 Z( E/ J K/ ?8 t
0 b' c3 p. c& y5 G if(this.getobjstyle(node,"display") == "none" ||
, Z/ N( G' }: q2 ] this.getobjstyle(node,"visibility") =="hidden" ||* [: Q0 ]* o+ b( h
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 b1 C7 g3 }8 M# @! N
{ T: \3 O( n: K" R
if(debug)
4 `7 o4 H' V9 m {
1 X, \7 E2 w! N' v, b alert("remove invisiable!");
. k0 e0 E7 @3 D4 N; Q G" X# L0 v } Z' g5 T! b6 B$ ~+ O) F9 t
node.parentNode.removeChild(node);0 i6 ~$ I: O: W: Y. E
+ G" v# y. S. i J' u6 e: s }# `/ ]1 w+ W! T- F
else % O4 e g. M6 P9 {6 p8 H( t
{
i8 J) \4 \8 U8 R) G% N if(node.parentNode) 0 R, u- x$ V$ \7 v6 J y% \
{
$ p1 G& O4 ^, E+ n8 w. E$ S9 t; f var orgNode=node;: V5 b4 Z! @, B. j
var orgColor=this.getobjstyle(orgNode,"color")
- [' r' a- [( ^7 Q var orgRGB=getRGB(orgColor);
2 ?! m5 n) |7 T6 q
3 Y4 e- r! X8 [1 h var parentNode=node.parentNode
- i& y! O( T4 n" a& m" H4 H var parentBgColor=this.getobjstyle(parentNode,"background-color");
. W' \4 G3 l! Q* z
* [# ~1 n- r& p$ m7 I! Q: H var isLast=false;
3 l5 Q. k; |' i/ _, B
) k5 U; c. V& g while(parentBgColor == "transparent") / ?/ S% p2 i% I
{
1 y2 f5 f6 f: z6 Q# N2 y
8 T9 G' H' [% ?; j% i9 }$ E
4 v1 o1 f/ p6 l$ b* A if(parentNode.parentNode == null)
) z9 t3 e3 E) Y7 x& x {. J3 B+ R/ _) Z; y" i# N% I; X6 @
isLast=true;
6 P# L4 _- z) I- K K break;* N8 W# }7 f0 ]+ H" x9 t
}
. g0 D! K/ |5 n2 t0 b parentNode=parentNode.parentNode;* G, F2 B5 d$ h$ b' f* k# o( V
parentBgColor=this.getobjstyle(parentNode,"background-color");% z7 ~: d) @4 y8 w. C1 d# I
" ]( c! N0 }2 m T6 t7 H& b
if(parentBgColor != "transparent")
! g/ U& j( e) o, K8 s D7 s {
* b. e) B8 w. ]" l$ C break;
; p9 u: X3 V) \7 v6 [5 j+ w4 ^ }9 ?" M. _ G8 k' e
}- |6 x2 W3 F% R W) j, V
if(isLast) * Q ?" ~8 _7 |, `5 E
{) X* Q% |- z& J) y* V
if(debug)
6 }% C% Y5 I$ x+ @ {! M* B# u/ Z$ q2 I9 T/ J& Q
alert("last!!");
' B8 h9 e0 C+ {/ [( ^6 \) d }
$ ^4 Q7 S4 W# M6 N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; g) A1 S+ t0 b9 q- M( y, R$ d1 Q, O) @ {
1 l# ?* H! l: o1 v) z6 R" Y6 @( ? O orgNode.parentNode.removeChild(orgNode);
. g, G+ W" o% G) {! C5 W1 g }
4 e. d/ x! M4 u" d }/ Z. ]4 h @( F4 Z( M* M
else
: h' `7 t. `# W3 M {
8 |8 j0 {4 c% U) S if(debug)
+ P- V9 b1 F+ o) x4 u; B! h {; j# t6 R1 N* r- i* P m5 V
alert("compare color and parent bgcolor!");& ]( Y% n9 X7 T! u2 I
}* {; f9 r- I2 X$ E
parentBgRGB=getRGB(parentBgColor);) [' _) j6 k7 Z) `2 Z9 l/ K
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 z( u9 o3 W) i) n
{% Q. N/ Q8 d$ v, E- x- \/ i0 K
orgNode.parentNode.removeChild(orgNode);
' I9 C' a/ d* J; }$ Z0 c) D& [ }" [$ g) W' J, u
}
# d/ ^: D& V2 @1 e8 ~ }
- z4 |4 x) A7 C }
- E* K1 S) G6 ~& V }' ~$ Q9 J* v5 E* E: a |; Q( u+ q* f2 v
}
8 s! F! x, [. b( ?8 X % m& b2 z( S- v7 m; {5 e& h0 ?' T, n
8 B4 q! |1 o; \0 M( N) K/ x
var itemFrames = page.getElementsByTagName("frame");/ u6 o( e; j2 @1 k# I3 K
var itemiFrames = page.getElementsByTagName("iframe");, ^9 l# }7 l1 u
: }5 v3 G. K4 n4 P
var frame, iframe;, C; @0 V1 T- E8 o, j: s2 t, w. N
if (itemFrames.length > 0)
: p! S6 V |8 _9 k. J( b {5 t% U' B, s0 Q5 \
for (var i = 0 ; i< itemFrames.length ; i++) ( O/ d: z+ m" w: m+ l/ x
{/ p1 U7 |. o* \7 m6 Q8 A
frame = itemFrames.contentDocument;
3 R0 ^" H! ]* f. P: o4 r6 ] this.RemoveHide(frame,objname);
/ B& a" v5 E* {' ~2 w/ @' { }
1 G( ^3 ^$ L9 I3 b q" L# A$ w: L }3 d4 v/ |% C7 k( A7 L
if (itemiFrames.length > 0)* ]: \- f/ T+ Q. l
{
9 Z( N9 K( v4 F for (var i = 0 ; i < itemiFrames.length ; i++) + W9 ?0 g7 ^% {7 J. K/ f5 Y$ s
{* U* H) G E- e
iframe = itemiFrames.contentDocument;
7 j) E; q7 C: b/ d4 U* b this.RemoveHide(iframe,objname);
]9 N) R3 X% K }& x- A, h- y; ]1 ] h
}
$ L) Q4 V7 g! C' _# Y. B }- ~. Y" |4 [1 i1 [2 k
catch(e)
3 N- s, H% ^ @4 \' M { }- R8 E/ V$ ]% k! W# h/ |2 k! t
if(debug)% O4 F' A# S8 U( v* G0 N! D0 G
{) O i& X5 H( ?4 P
alert(e.message);
' B" j* b# t8 V }( V' b5 B! H% j
}2 S4 z" ^ [) ~0 m; F
}
9 V" f; F: Y3 H) ? 0 g; g8 x) ?; c/ F7 S2 X0 V- S* {
}
2 D9 J0 O3 @; e
2 J( b' R! w3 p9 i2 e* B5 A: ^+ efunction getRGB(colorString)+ s: v0 ^( v; c2 A) h1 e. @: K5 Z0 R
{
2 w, @! V: g% B+ G W- v var RGB = new Array;
7 u! f' _; }! `8 N2 z var tempSting=colorString.substring(4,colorString.length-1);
0 N: B3 I% I3 U* C+ H var tempArray=tempSting.split(",");
4 `) z4 O* W) P8 G
$ ]# ^1 D1 S: B RGB[0]=parseInt(tempArray[0]);( M7 E6 ^! U% V/ [1 F! h
RGB[1]=parseInt(tempArray[1]);
2 J+ r* \* X3 I; { RGB[2]=parseInt(tempArray[2]);
' a8 Z. z/ O" b
* I6 Y8 L8 F% k5 N7 U/ v. }9 B9 F( l return RGB;6 U& p2 E2 b X8 d0 \8 b: {4 Q
}8 m8 I0 I" S1 g [
function keys(evt)
# `* @) t: Z. }* r- ~ { & ~ C6 f% W* x$ |! v: c
if(evt.ctrlKey && evt.keyCode=="81")
3 t- [! V/ _/ ] { + A. X9 {/ ?& `
CleanHideObj.on(0,1);
@2 j; h: l! F7 { alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' j; C: N, w2 t& z
6 M3 n$ W9 Q1 \* r7 q' }8 n9 s
}
. F9 b& G# a# D; F2 N# ~1 [5 W } ! [1 m+ G& J1 D/ Z) t
document.addEventListener('keydown', keys, false); ! s. P0 `$ O! c7 ?% @
GM_registerMenuCommand ('Clean Hide',
% l9 }4 _* s- j- afunction(e){4 C+ k+ v- p V* x; D2 H$ N
CleanHideObj.on(0,1): u9 ^) p6 ^* g0 j* }/ ?2 y; ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ e7 x9 |( `! `! q/ u7 v& p, |});9 g( Q$ V% R+ y- j
|
评分
-
查看全部评分
|