|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( r- G5 ?, K* [$ o7 U4 n
) ]' r$ W) ~( j火狐插件,用猴子; i3 I) c; l) X2 A% s
- F L; l% ?1 }8 y6 |( Yvar debug=false; 2 Y- A4 T6 }% \2 I( c! \
var CleanHideObj=new CleanHideClass();9 i8 m0 o* L1 F8 f
. o9 p& B' @; l- G, z# }function CleanHideClass()
5 U5 a; G6 z* x4 o6 O7 J5 B# n{
1 W" R$ P) y, q) B5 b $ ]1 P1 m' E5 ~& J! Z6 k4 y
this.on=function(id,bMZ)1 Z! y. J& D3 p( A$ X
{1 y( b6 ?& J, H' s' b
4 E. d; M. W( ? if(id == 0)2 w0 r9 r0 o8 [0 |, V( V, \3 g8 b
{
# h$ ?) P" C( N var page=/* document.getElementById("content").contentDocument */document; , o* L$ T' o3 q
this.RemoveHide(page,"span");+ p0 m# f% P3 z( X' A
this.RemoveHide(page,"font");0 g& `5 q: r9 C. c+ [$ R6 `
this.RemoveHide(page,"div"); y" w" r1 r1 D9 N, I+ A
this.RemoveHide(page,"p");3 V- E8 N+ P. Y+ L
, i. q3 `" H& D
}( D! j" f1 v" e G" U
1 n1 X, p: y8 N) F: C9 g: Z' L
}
n- v k n7 c3 T7 v) | this.getobjstyle=function(node,prop)" h$ M/ t5 {: z+ w- J- w6 Z; q2 b
{
- C) l- [5 P+ A" Z5 \1 W' ~$ q try
3 G, u; e& h n D9 E5 I" D {0 {; T) j) B1 [: Z0 ~; J c5 ?; H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# f* Z8 P- Q& C, v# O" X4 g }
1 q/ I, l7 v3 t/ O3 k- ~3 Z) W catch(e)
8 p0 w& _, h& Q# [$ K4 L" ? {& }( q; V; V; u) ?: O: P5 ]) Z
if(debug)2 l$ Z* R; l7 y4 c4 e+ d
{
7 [ ^' k3 L- g w. u$ e; [& S alert(e.message);
' {4 T( I$ t, b; s1 [ }0 i. D/ Q* C7 _" w
0 I7 {0 l C' ?2 M return "200";
: l, O- j; T; U% c, _ }
/ g3 w6 Q2 k7 ^' i; X }
9 X+ X. Z* K% J3 S
2 C& i+ J$ B* a/ r this.RemoveHide=function(page,objname)
8 v% w; {0 v1 p4 A; ~) U {
6 p9 J6 q! {7 b% Q( G try
: b' C; }4 y9 B! P {8 V0 w- U0 _8 H2 l! ?4 x6 V
var minValue=15;: I& d2 { ?% v4 ~" p: N* L) h
var objs=page.getElementsByTagName(objname);
0 t; @' y$ M2 V
4 H: M6 X! u1 r1 V if(objs.length == 0)
" O# a; v$ a; P K& u {- Y5 i g' f& @+ k7 ~# z& F8 R
if(debug)
* w/ f$ X4 V: _5 T- f! ^ { x; x) C* U+ f3 [. I# y1 G; |
alert("no object found!:"+objname);
- l7 p! ~ D0 d) n# O* ~" W }" Q# _ f$ D$ ^+ ?& W
}
! x" \6 U( }! | else
1 i, V; g8 E+ H' X& \. H- u: i {
3 c& d$ X5 o3 Y- i
& T! Y' x( @6 R3 m& n$ ]% p7 S for(var i=objs.length-1;i>=0;i--)
( r. \9 F. M. T+ z6 W {0 {9 f4 w. k1 h$ _
var node=objs.item(i);
9 r, T' i8 c; v: a' S4 e# }
' Z6 ?6 }' V8 v2 y+ ]: A & D. G i% z7 O! m' O: A, A4 f! @
if(this.getobjstyle(node,"display") == "none" ||( K4 ^0 o# i/ h( s- m7 q5 u4 j+ e+ [& Y
this.getobjstyle(node,"visibility") =="hidden" ||
|' R) F, L. ^# `, s' Q4 R parseInt(this.getobjstyle(node,"font-size")) == 0)
% u# {4 {( _: ~- v: S {
) ^: U7 a! w, F) k if(debug)5 k, J3 o8 a' `, m
{% x1 _/ s. H( `6 j& u# e: b# M
alert("remove invisiable!");
% y$ R# }5 [, V7 t( w1 U. p) I: I }3 c% C+ @- q+ U" G
node.parentNode.removeChild(node);
" y6 I; p) u. i: N$ L* ]" ? F
$ U- T( c/ h" @ q* N } ~+ `; ]* a5 u2 v' [9 p z* l. m
else 4 {) {* p( O6 j) C" |
{; x6 ?! d" k2 A" {; W- o: X, i
if(node.parentNode)
5 x8 t3 X$ j0 Q0 T a7 k {
, w$ Q0 |4 R* W var orgNode=node;
5 B! r( s, }3 |9 W! y var orgColor=this.getobjstyle(orgNode,"color")
' R' \9 L I& t/ E1 {- h+ j1 m var orgRGB=getRGB(orgColor);
R$ q. S6 t' z, Z/ [* |# K 2 _1 t" G' \8 Q$ g; X. V6 v8 V
var parentNode=node.parentNode
8 k' G% e$ u( O$ e$ M/ N var parentBgColor=this.getobjstyle(parentNode,"background-color");
. C3 p# s: W6 R2 x& \4 D d * ^1 \. U: u) }
var isLast=false;: F$ U8 M( `2 ^ y ]! J- U( I
+ K' B5 K6 V2 h while(parentBgColor == "transparent")
9 T; B Q) d) B' i" h9 F9 Y {
/ z$ H+ f7 T1 l3 _- r0 `) I5 P , w3 |+ c( G B9 B; _$ I- ]
* O+ j6 b: k' }) o$ F( Z if(parentNode.parentNode == null)
2 `1 b2 T& ~2 ~6 _+ m {+ j4 p# `! q3 ?5 |1 { ~
isLast=true;* d+ v: v0 y- z" a& e! M6 `8 [
break;7 e8 n2 E3 L( P: ]) T) S# r
}6 Z9 L$ P9 K& D. ] `6 n0 v
parentNode=parentNode.parentNode; Y: a9 n `+ a' X# ?" j
parentBgColor=this.getobjstyle(parentNode,"background-color");% o, I1 k0 Z$ }# J
J& l2 b3 N- J5 \6 N c2 i
if(parentBgColor != "transparent") . u4 k& n6 _/ b: _, a* _
{: \7 t; P% y2 d' g% @# T
break;
/ O) k, L( V4 ]' c8 J% Z }
5 r1 i N W3 p9 x& m5 I$ w( b0 ]9 w) l }
" O* J- h2 B$ E; h if(isLast) ( F: i9 U ~. Q: {5 z0 @
{
* m! J e4 ~, u% B) e9 } if(debug)
( T0 m' X: z: R' E2 u ^5 y( A! l3 o {
5 s7 D4 q5 M% c2 W2 r+ V- n, h3 T alert("last!!");! `- x" [5 d( x# A* X# n4 D4 p
}# _ b1 l6 X, |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: r3 G& j' r v- y {
' j, ~% P. }5 e/ b9 W R orgNode.parentNode.removeChild(orgNode);
6 B1 z2 P. H" g$ t, h }" f; Y2 k$ c f1 c1 `4 z; T
}6 L- W0 u8 c8 |$ O: o" p" J
else
/ v2 b% u/ H" `) r& ~0 ~/ q {3 p8 [( A! J! F+ V) k* L; k
if(debug)
6 D2 f5 C3 `. }% @5 V {: P1 ^: F, U. U
alert("compare color and parent bgcolor!");
% F( }% W4 A7 z( h }
! v. S) _8 T: Y5 \8 o% F% m parentBgRGB=getRGB(parentBgColor);& K+ B% I: T. I1 ^7 z( F6 d( h! U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% O' m: x3 y+ K0 z8 ~ {) k0 L4 v; h6 G, G9 u
orgNode.parentNode.removeChild(orgNode); " {0 c/ L s f% d/ S
}
/ ~, u$ ]* `) e, u# t# m n9 `8 W }
L) k) `& O i }2 T6 Z! b$ C: g$ z# K
}- W# q/ ^/ J$ Q( m& I
}4 p1 f9 Y' x1 P) E+ T) ]
}; [7 n0 K3 q9 o5 G2 f. h' E" V( ?
" S) d8 ~- c) T: ?3 G
5 m9 x Z0 e, \3 U$ [$ r
var itemFrames = page.getElementsByTagName("frame");) t3 U$ f2 u$ P9 }2 [& N
var itemiFrames = page.getElementsByTagName("iframe");
1 n0 ]# E% j1 \7 _* c7 n6 d 8 r; Q2 e: `5 l0 m7 }" h: ]
var frame, iframe;
- T/ N9 E) x2 g) g5 W if (itemFrames.length > 0)( V: l$ B/ v1 T) ]) U9 } g- z! k: Y2 k
{7 U, Z- J2 C6 C, N8 j7 J
for (var i = 0 ; i< itemFrames.length ; i++)
- H5 U) s: ^# m3 J/ @ {
. R* u1 u6 Y7 U' I0 N, S frame = itemFrames.contentDocument;- x' Y9 y- G! B! P$ q
this.RemoveHide(frame,objname);
5 z3 d' v2 X; ?0 q }
- z6 B9 M/ o1 H$ o5 Q9 u }
% f0 O; f# o' @: O if (itemiFrames.length > 0)' b3 d" v$ z' G k0 I
{9 p) K9 N+ b$ v5 J$ G0 d
for (var i = 0 ; i < itemiFrames.length ; i++) 8 E/ I! w/ g* W
{
4 {: h1 k/ O8 `- s% z% v iframe = itemiFrames.contentDocument;
2 {4 q) V: {8 R5 E) d this.RemoveHide(iframe,objname);
9 i* x/ W. k( o" [4 w3 v }
/ u1 h# `5 G+ v7 ] }
7 ]2 b/ N; S: i: d' n( R9 A }
, e/ m- g5 C* C8 v+ W2 D catch(e)
& @6 M5 p# [) [ {
/ n0 S& {$ A+ N$ p# p5 }: d if(debug)
2 k V v; B& \5 g+ r {* O, O$ i; o+ ^2 W# z" N; P: L6 _# [
alert(e.message);) X. `& A6 v" G& F" K9 A% t
}- q8 o" |8 ^1 F( O% L
}
9 w5 H. W O3 E4 B( J }! ~7 }, D* Y. a: `" k
& k! t. v, v, a! d1 U+ s
}
# ~8 i4 [; t& s1 l/ R
" Q3 S* y$ z, l9 y7 ?& }/ o1 N" afunction getRGB(colorString)# h- F" b" u$ V y- {
{
) ?- \ ~4 Z7 N) a& X) b3 q var RGB = new Array;
( {4 U8 e! f. b2 y# D* M% u; X var tempSting=colorString.substring(4,colorString.length-1);
; m5 n0 A6 w" S* w2 i! _ var tempArray=tempSting.split(",");
/ _ u) R5 E- C, E; S7 g" {1 G. D3 q# X" v! B" n* U
RGB[0]=parseInt(tempArray[0]);7 f/ G! W7 K% g8 ?
RGB[1]=parseInt(tempArray[1]);7 i# W0 D6 }4 I" j" Q
RGB[2]=parseInt(tempArray[2]); k9 w# S) }0 E9 D; w
7 q# O! H8 A2 o# e+ s* s* f& G
return RGB;
. Y$ k4 n( T- U}
* u/ z' X+ }( k9 U4 Wfunction keys(evt) ; _4 E8 G& m/ P5 m' U4 k" G
{ * r }' |1 S( c$ {4 f+ g: K0 l
if(evt.ctrlKey && evt.keyCode=="81")
6 X! g& j3 D% b/ F& f {
0 {* t4 M" J6 C( h! ] CleanHideObj.on(0,1);
9 b, l# _! ]% o. |; m" H6 i alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 o1 t1 k6 s$ |! C6 w
. s6 {5 m+ a4 k* ?& o E } ' b3 d7 q% y: z- x
} ) V( {" e6 R- M- t: N
document.addEventListener('keydown', keys, false); ) _9 S6 a4 ]& w! ^( v4 q+ I
GM_registerMenuCommand ('Clean Hide',
$ t# k+ h& }( X9 b1 ~3 cfunction(e){
- |) z9 {5 E' V$ p( pCleanHideObj.on(0,1)
# Q5 D& \1 ^$ L6 {' Kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 C3 c/ d. ?7 s3 C});
( f9 n1 {' ~1 y! M; t3 }4 A% p+ q3 D |
评分
-
查看全部评分
|