|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 N. Y# J9 X; p- ^: ^" n. e! C: a7 J2 ]5 X5 @( |5 L& R' V( i
火狐插件,用猴子/ ?3 |$ A |! d* A
' I8 P3 g4 Q3 b O+ Y& a
var debug=false; # h6 y6 n, Z" T9 s3 t
var CleanHideObj=new CleanHideClass();% n9 w: n! r* I' W4 Z( [% U
; h; k8 U& M1 m/ Z( X; l9 d) g3 p7 q
function CleanHideClass()
6 W2 M" K% m4 C. x0 k{ - c1 F: T( V- ?* p+ F/ u: _ t' f
: G0 q! A: B0 U1 L% T this.on=function(id,bMZ)
4 Z6 o: Y, z, K# e. g: x* U {$ e9 s% ]$ h) C8 r
' S9 z7 F( c3 \% d7 f4 y! F% B
if(id == 0)
2 O+ ^6 @# J. g. a {
: C1 \3 F' w/ B8 y `7 l var page=/* document.getElementById("content").contentDocument */document;
7 Y8 |3 V# D, ~8 k8 M& V this.RemoveHide(page,"span");
$ k1 A' q1 R8 V. R0 x this.RemoveHide(page,"font");' b; f2 W4 m! v: s- B
this.RemoveHide(page,"div");) V5 P1 o: D0 j" x" H* w$ ?" @. d: J
this.RemoveHide(page,"p");
+ Z. ]+ Q C8 _ , M9 O' k- o2 E* d9 a* H
}
" x, I& n E# y 0 q# E0 [; O* I$ z% n! l3 |1 l
}
& F6 G- O2 n" G% M6 c3 z* Y# I0 } this.getobjstyle=function(node,prop)
3 d2 [) R) x" x {7 j% Q3 A# u% D- N) y
try
/ b, y% |" G/ i# G4 w7 { {
8 n6 `% i0 t2 o return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 {' i3 i/ e5 ]5 F3 W; I }
/ v: }' W) Q5 r7 M. r; d catch(e)3 q. F0 {) I9 {1 L$ w
{
& b! j0 ? ~& X- O8 Q9 _ if(debug)
7 c5 m/ }2 T9 X8 f9 K( G$ U$ ] {- [* d6 y! ~- {
alert(e.message);! S* A7 n* }: ?$ D
}
5 Q1 \6 f8 R3 |( k% f
( {7 P: t( B. @. [, D! I return "200";
1 y' t1 }! h) o6 A: I }' D! M' A1 [( R2 f
}
! t5 t+ T" ?/ v2 L) t
* @1 @7 ~9 d# z b this.RemoveHide=function(page,objname)+ D) E) h* U& \) L' N( }
{4 q/ \# y; E" e2 V: j
try
0 @4 D! v0 c. C J {( l7 K* t0 b' f1 F- n# @5 R& l
var minValue=15;
1 w& P% v( O5 C2 ^* q6 X5 u2 B var objs=page.getElementsByTagName(objname);
% A6 R, T( N1 {) g, R( o' Y% b* p4 E% g
if(objs.length == 0)
9 {# s- o2 j; P {
, V3 x: p+ ^9 @2 Q0 R. r* U' |* J$ T( z if(debug)
. W F' p: J6 Y0 d) N; I- f {
, C* ^2 z [9 h, J alert("no object found!:"+objname);& ~# R4 [- F2 E' [/ U5 h
}
" s! F. a5 Y4 _; z' w }
( H8 A0 P, ^/ w9 X7 ? else9 A9 N3 i0 t. @) T8 @; G% O
{* G! D: h! V: \' g6 z; Q0 c
- x( y/ e$ m8 W8 w for(var i=objs.length-1;i>=0;i--)
8 v- d- Q+ a0 j% H$ n0 t {
0 s: r. f8 P1 |. p var node=objs.item(i); ; X6 W- L5 E& s, X
2 i# a! l) [( u% `" `" p
3 N9 p! \- p' ~6 I* ]- p& V ~5 {
if(this.getobjstyle(node,"display") == "none" ||, l, Q: F, I' a- t
this.getobjstyle(node,"visibility") =="hidden" ||# W- v5 E: V/ e% k$ x3 V p
parseInt(this.getobjstyle(node,"font-size")) == 0)
* a, ~2 {: m! z {# L7 w2 [" ? C; h1 Z' d7 V8 Q4 ]
if(debug)& ?$ G8 B; P+ S$ s* I
{+ ^' Z# x, V1 F' H5 n, }
alert("remove invisiable!");3 [5 _1 \) s" d) k
}& t6 O. X3 v- Z
node.parentNode.removeChild(node);7 n- j* e/ z2 ~/ ~
* W# ?, S! _8 K3 M$ b, i } z7 B5 L7 @8 K' y
else
2 P% p4 r1 @; S% i" ] {
4 O2 T0 X+ n& I( q/ _3 b/ P if(node.parentNode) * f t( n2 r/ @
{
* L F$ C. V( x6 ` var orgNode=node;- F; N, y7 j! [) q( @& z g9 O
var orgColor=this.getobjstyle(orgNode,"color")) h5 ^; w3 t6 `6 [2 H V! L9 Z* L: u
var orgRGB=getRGB(orgColor);
( n. P: m7 _9 p7 J! Y- a1 g
# L5 A- \% C/ z. O3 m3 X$ { var parentNode=node.parentNode
! R) {+ r7 s! U; G) U4 {) X var parentBgColor=this.getobjstyle(parentNode,"background-color");! a2 C- Q* |. ?
@; i+ Q* S! a2 e var isLast=false;
1 O2 s; a2 O0 V1 I+ x& o" M, t - p7 {( M$ K- {5 p+ L/ d- L' N
while(parentBgColor == "transparent") ! H% W9 L1 p( i/ x0 l) h
{+ N! w- d! i) V# A1 S/ @
0 L% m& S5 c: d2 N
# u1 H7 P! E* {0 q( E" y
if(parentNode.parentNode == null)% y+ C6 R& _: q) f; B8 D
{4 c/ J$ k1 G9 X
isLast=true;
: w3 \- J1 B' ], T6 _/ ` break;7 a2 r7 B/ k( z: w
}
7 R; c, y7 X0 H parentNode=parentNode.parentNode;' I8 i& g0 {: ?1 Y
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 Q: |8 ~% N ]
; l; q( o/ ?) N if(parentBgColor != "transparent") 6 D* b% n9 Q! ?+ U
{5 z' ]: @3 ^' U7 y! ]
break;
- v9 n- r6 ?6 ?2 G }
# A) k. i' t2 f5 } }; g7 y+ G4 |7 p }. f; @* t% Q
if(isLast)
1 {& e& v: {% ^0 b {
0 f% V& ~3 |! h! W% B& {) C if(debug)
7 M d9 n# U$ p( b! f6 t/ u {
& Z, |* Q0 h3 J6 { i5 [' V alert("last!!");
3 }4 [- P4 C3 m% w, v( q }
( B0 F% \; P! v: }: D0 B4 s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# r s0 f. s3 U {& f* W+ L3 @3 q1 z3 A
orgNode.parentNode.removeChild(orgNode); " p; t* m/ t! L1 k- H1 F: g
}4 b" o: q5 D3 l) f7 k4 {2 c# T
}
0 G; p |$ z" E7 z1 M else
8 O% X* ~9 N3 ~7 z+ F {
) F5 X' C, H8 @3 `, I$ b; \ g if(debug)" C/ ^/ @9 h4 o9 ~ m& Z, f
{! d6 F/ y2 F# f/ b5 U
alert("compare color and parent bgcolor!");
( f, A+ \2 b, ?6 `& O }
) U. y; O3 C, G8 D: A parentBgRGB=getRGB(parentBgColor);
/ t- N7 i' G/ w# } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; t* L" G; N+ d- `9 D {. e- |8 e: Z/ t* l, G9 g8 E9 g7 l9 g
orgNode.parentNode.removeChild(orgNode);
# }5 X/ B' Q4 X" [; d2 F" f7 o b }
$ a' @7 ^8 W2 x8 u$ A9 R) l }
- T1 \1 D: N! G( a# q# N% m) `; \) v }6 p1 T. W5 q& |8 R9 Y5 O
} X7 V& _8 p: w5 L0 f4 w
}
6 j x! j$ b0 f }* W2 s7 t% J- Q* b4 S3 e3 w
# o/ T0 E- l( D/ C3 d. m
% S# c8 @" l7 N' o; w$ a var itemFrames = page.getElementsByTagName("frame");
. |) z2 i k9 m1 I: \ var itemiFrames = page.getElementsByTagName("iframe");
: N5 N d0 O! Y5 b
3 _$ S p$ H& w, ]8 H var frame, iframe;1 T6 M( ^. `$ n9 i* j
if (itemFrames.length > 0)
2 b2 R. [$ d& {, A3 S0 J( y( x {/ {) Y& K/ o- F* n3 C
for (var i = 0 ; i< itemFrames.length ; i++)
) ]) a1 `* ^; T6 R7 A2 Y3 d {1 I, l: Y1 f- K7 ~. A
frame = itemFrames.contentDocument; \, L8 `+ O/ h4 d" ~( L
this.RemoveHide(frame,objname);
8 X4 O' J/ G4 y% g, `5 d8 M9 y8 Q }! O/ s9 {) j* v& T* i0 g
}
, c8 M, y/ Y- g8 | if (itemiFrames.length > 0)
* V4 Y) d9 B+ _7 B {3 v0 `" @4 g7 T5 ~. @ \. m P
for (var i = 0 ; i < itemiFrames.length ; i++)
7 ~- I9 c7 M! C0 v {
, W0 d: n& q( {. Q% \; I iframe = itemiFrames.contentDocument;
0 A8 N* d9 J# z7 Z this.RemoveHide(iframe,objname);
! p7 l+ V6 h h4 d7 a1 p }
: S! x* Y( b/ r' k8 f }) x# V: R @; ^1 d# _
}
) C' n8 t- Y0 Y! Z3 o! J catch(e)( R. U; j/ G" ^) n/ h7 ~8 ?2 G! n4 y
{
) ~ r, j/ J$ e' l$ s if(debug)
R" N8 |! { F. b7 C {( u; a: f9 ?/ ?
alert(e.message);/ q; G5 @" \, ^
}
& K( a, x: A$ ~$ J }
) P5 {2 O9 E1 ~ Q( _ }) q v" a7 _2 @ b! E' u5 N
: @3 I2 C$ d3 {. |5 h% t! y' V3 D
}, \- w* t) ^ b* k" n8 Z' e
; P$ [6 A1 V, b H: Q
function getRGB(colorString)
2 g1 U2 R, A) h$ S1 E{
! |: z( R4 f2 W1 D4 y& h var RGB = new Array;
6 a" D: ^/ d+ G( ~+ f2 \9 ^: s1 p var tempSting=colorString.substring(4,colorString.length-1);
7 O A; {5 I& c var tempArray=tempSting.split(",");
' _" ?, |* l2 W
; Z* e3 p; P; k- s+ c' d. } RGB[0]=parseInt(tempArray[0]);1 O$ x% F' d8 l
RGB[1]=parseInt(tempArray[1]);
; O/ |: O, J3 k& S% S Q& M RGB[2]=parseInt(tempArray[2]);
- `6 a. B: m* ^# A4 j
; D* d" `5 P* h& O7 j* y9 c return RGB;3 W$ N2 L6 x- x! t' [7 e
}
9 c2 U, M9 | Y0 ^, U/ B8 l0 ofunction keys(evt) 0 K( s4 }( e) u3 ?
{ + |8 _, h! W5 o$ r. C
if(evt.ctrlKey && evt.keyCode=="81") 5 V0 |/ I; p Q! |# T
{ k# e! N- M6 u9 T! i5 b. i+ x6 S
CleanHideObj.on(0,1);* f* p8 Z& W; u P: ~* U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) U1 t& l& T) N3 z
7 {3 C% u! q9 f% n7 G; s0 ^
}
. e4 s; Z; N* [- l, f% g, x }
. ^: l1 x5 w0 D7 [( r# M; k* [document.addEventListener('keydown', keys, false); 5 t+ X1 A. t* I
GM_registerMenuCommand ('Clean Hide',9 u f* Z# x/ ]5 L
function(e){ R1 B) s, t6 q$ c% z) C
CleanHideObj.on(0,1)1 p$ w' h/ q0 Q3 F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 X! Z0 ^* U: [0 c) G4 w
});
0 p7 y/ p% ~7 Y$ b) p1 T) r+ e q |
评分
-
查看全部评分
|