|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 Q$ M$ _2 G% w- d: |# p! J
$ H% m$ p6 l7 t9 G
火狐插件,用猴子( `, n; |0 A+ |0 ]" L% {
+ l) E: e% R$ [$ Vvar debug=false;
9 r/ V8 T% e# _) ~% \5 M5 L; avar CleanHideObj=new CleanHideClass();2 N* } m, F. h
. W7 I9 H+ s! Q( R+ Y3 B% @function CleanHideClass() % P5 h, p2 y- V9 H7 R+ ?
{ 6 i% C& {$ E8 t4 a% u& R
1 f; J" S; U% {" W$ | I this.on=function(id,bMZ); C, S4 B2 H1 ~( Y
{
/ @ d' K: o4 i, E( ~ 2 B& N8 l& N F$ P8 e: C3 E
if(id == 0)
/ z9 s$ |9 Z' ]# }, j {
9 ^4 d# }+ B& t5 {2 {! c var page=/* document.getElementById("content").contentDocument */document; $ P6 r1 t2 O0 P
this.RemoveHide(page,"span");
/ _( X0 d4 J- i# l5 v this.RemoveHide(page,"font");
, u/ s- }* M9 {( @5 ~ this.RemoveHide(page,"div");
9 u2 f# s. r/ N7 n: M: s! q this.RemoveHide(page,"p");% m) p' e0 k' F% m0 v [0 S# v
p4 }; w& u) K9 M9 l0 C9 Y
}
( B- l, I2 k$ g 3 [% b7 E5 a( e+ T7 z: }: b y7 w
}. U( p: K- K3 B: O, ~; \% i9 V8 t
this.getobjstyle=function(node,prop)2 w; t0 I1 z6 n. }5 P) B
{3 x9 W5 ]% R& @8 A' d Y: h. U
try
+ Z: |2 T5 Y3 N- R {
- D, k) V/ @" e K/ Z# y- t! h: M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 L* l, \6 n, i0 U
}
5 n, U' X4 s9 Q3 s. p catch(e)! l* D/ |0 t% U3 H1 s, T
{
/ m# q0 d9 M+ h' [/ G& Q- ] if(debug)- \1 ^# m: v+ ^/ v Q6 r
{+ L: l! ?( N8 ~" Z9 _* A
alert(e.message);: ]0 D5 S9 u1 f2 b" C. q" ^/ r
}" q! F4 G; e2 W2 s! n& Y- W6 N8 k
' P' O( J5 g0 j4 q) x; A return "200";: A% U6 v8 j& y: \4 g$ S1 |
}& G7 p J1 ^+ z8 [4 I" D G( F, k
}
# g7 T4 P( I) Y4 F* o ) M. k" R& u$ t- C& q, ` m
this.RemoveHide=function(page,objname)
! U6 ~+ d# F$ u0 [7 i {
7 }/ ?0 W* c9 Y: U' r* O0 } try
( C, E& }0 H5 q4 a! C {
- W( o% l; O; b- G0 e% B0 J- t var minValue=15;
) o4 g6 V# b! }) b. e, h! g! Z. j- T var objs=page.getElementsByTagName(objname); ! O! p' D4 g# ]$ A! Q) s$ p
" D, b: i- ^4 ~7 o6 _/ d if(objs.length == 0)
5 d+ \5 ?: z. Y* v {
2 E( C* L( B1 O if(debug)1 Z8 C- X7 A1 B5 C# K, i
{1 ?/ V( o* V! v) m8 g
alert("no object found!:"+objname);
$ m d2 I. ^/ b/ H8 ^7 W7 ?( Z }) k2 L7 ?; K/ |. z0 ^6 b
}
5 I1 G4 _$ V: \) m7 @ else
) m" k$ L+ Q" H% q% _) Z, @ {
, J" ]6 Y8 w. i# D7 `0 q. f
- c: g. [8 Q4 U8 H& V' z; s for(var i=objs.length-1;i>=0;i--)
3 B, z8 ^7 p5 Z2 z- O {2 s' l. c3 x$ e4 n, [+ k
var node=objs.item(i); # `3 G' @! @: D2 W
0 V6 o7 T( r, o; X! x
* `* S* M; ^) d8 ^7 M: U) R0 O- C if(this.getobjstyle(node,"display") == "none" ||
& Y9 U8 `1 O' x2 @3 i) J8 Y0 V this.getobjstyle(node,"visibility") =="hidden" ||
6 O$ L5 }. o$ `% b- e( J/ P& S parseInt(this.getobjstyle(node,"font-size")) == 0)
S3 e" C1 s* ?/ y7 H/ B {$ D5 }6 X8 B, p- a" Q
if(debug)
7 r0 g* W- C2 J9 A( e {
# g# O' B! {! ?3 I1 [& _9 K alert("remove invisiable!");: d% m6 Y. w. P# K4 l" M
}; B x: m( V4 u" f9 q# u5 c9 S
node.parentNode.removeChild(node);
! r& C* c1 q& e. L! O2 p8 W$ t; ^$ L
1 k: G: x$ X- y }9 Z2 [: i& ?& Z5 `9 n
else
- u( z) z! K& t2 b$ v2 Z1 ]) d {! ~1 w* `& P* K+ a- ^4 ^7 @( C
if(node.parentNode) ; B$ l8 t* r% ~. U* W
{2 G* X/ g, a5 K" _$ y8 Q+ c
var orgNode=node;. b7 C- {- [9 `2 r* P' z4 z
var orgColor=this.getobjstyle(orgNode,"color"): Z; k) U) I8 Z: q1 Z/ W
var orgRGB=getRGB(orgColor); 3 R2 j/ r7 ?% J6 e
4 b8 W, `( I7 m, h7 m) M
var parentNode=node.parentNode
) t" d$ s, ~: V/ o var parentBgColor=this.getobjstyle(parentNode,"background-color");5 j' C' t9 V' }4 u& b0 q
5 a( C! {- `( e1 A$ {
var isLast=false;
1 x! _% v5 b* }% s 8 W$ f# j) T) q7 j! _
while(parentBgColor == "transparent") , V. x8 ~6 O7 m6 G0 d/ q! a7 v
{
: R4 J7 L3 U5 \
! j2 P! `1 ]$ Z4 R# C ! a' E: R2 M! w
if(parentNode.parentNode == null)
$ w* ^' a5 s/ \/ J9 M0 a# P {" a0 _& N# c: J0 g: R
isLast=true;# {' Q) w" h0 r4 k5 A, L
break;) ~+ w. r" G1 Y; |8 G7 r
}3 u1 c* w) K) e' q/ T ]( u" v
parentNode=parentNode.parentNode;
* }' s1 Y9 h4 N) t- m parentBgColor=this.getobjstyle(parentNode,"background-color");4 X! t" ?+ `& [
' f: A ]0 U1 V, o' q$ p if(parentBgColor != "transparent")
9 F+ b% o2 S4 S {$ E" b1 o) @( n3 d6 }
break;4 \* \8 w1 y+ m
}( l. \2 i, Z1 X' s5 u9 T" ?
}/ `0 H: [9 E; z; |. h
if(isLast)
6 s9 b" D. u! B; \; T& ?9 y {9 F4 S: A3 ~% j! D1 @
if(debug); m' E# E7 a- q! L f
{0 @ M2 k) K# w% \5 |. D
alert("last!!");
4 O1 ?* s" Y$ Z, {/ a }
5 |& P- x8 s* O/ { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). {9 J# f" R1 y. v( w U8 J2 j
{
) W& K! n3 h! j& u. p( K; k) ^. E orgNode.parentNode.removeChild(orgNode); 4 m5 V# Q- D7 d$ q# z
}4 ?1 `+ M6 ?( y& b- E
}
" }* e% M' Y) g7 t" L2 Y else
: r. I! G. ?& W# c( X4 |9 n, J {
6 h' Q& p1 T9 \+ R4 {! T if(debug)5 s3 @! D: ~0 W& {/ i: G1 M$ T7 x
{! w! W. `7 |, }% z$ l, ~# g; a m& S9 |
alert("compare color and parent bgcolor!");
6 R6 J5 R0 }4 J m/ ~& a" r }& z: L+ u$ J. W" i; g! }! X
parentBgRGB=getRGB(parentBgColor);4 ~- e# ?5 _$ w' l! y: V- H8 {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 \9 D+ m% E( A% P# ~ \$ r {% D, N; o/ m! M. P8 r8 ]
orgNode.parentNode.removeChild(orgNode);
7 X/ d6 m m) C$ {: ~6 x5 v }
+ v, i% j. c: q4 I5 t& U* n }/ ~( a8 ^! f* Z
}. R6 K/ @6 s+ X; M% W
}
2 C1 k8 }" G1 J }# j- c* @- p) z& p* a' \
}! J; e7 y- V, T: A- R6 @0 ^
# s1 Q% _+ K. F4 V4 K5 k
3 n1 ?7 J$ x+ }' z* Q6 ^9 I. j
var itemFrames = page.getElementsByTagName("frame");
* r+ c$ i0 h; _4 Q/ j7 S9 L var itemiFrames = page.getElementsByTagName("iframe");2 V) @7 R8 u7 p
& a9 `7 Z+ Q/ Y' H var frame, iframe;! e/ d/ N: j0 e4 R W$ d
if (itemFrames.length > 0)
( F F- a7 o% F' a {
3 x3 E/ m, g$ \' S for (var i = 0 ; i< itemFrames.length ; i++)
6 n) I! p, c! j) q3 o/ G {) P- T+ W, c3 X1 D U$ m/ R
frame = itemFrames.contentDocument;
! C! S% K4 W7 d }# ]: p( k this.RemoveHide(frame,objname); 7 C( A9 ~: I" i
}4 X5 |9 S. a: N* R; ~2 ^! {
}
* p* [* Q/ D- @9 i& [# I, w# i+ e if (itemiFrames.length > 0)) o; Z% `5 H$ k9 H6 j
{# B4 V$ i2 ?7 V( f7 x J
for (var i = 0 ; i < itemiFrames.length ; i++)
3 Y5 }. o' u& ] {/ t9 x5 T6 M& E4 l$ `
iframe = itemiFrames.contentDocument;
$ Z2 ?8 J- ~3 e0 S this.RemoveHide(iframe,objname); 1 U+ w3 T8 s8 _& L( R
}, L* }0 K2 W2 Q, b6 \+ q
}8 c. a b. M. d( @
}( T: z- X. g/ @! n4 |: l
catch(e)5 J- y8 ?+ @/ @( E
{
+ M) ?, G b" O- G ` if(debug)
: U7 M: g$ Y% i6 D) x4 [8 t {5 J" W! @' B* b8 v; N
alert(e.message);) ^& s/ }, `# @$ Z6 l S" Y/ C
}8 K/ t: U5 \, O$ o
}
# g( D6 l. A& n }
% X/ k+ F- X$ A; X8 W2 B
2 c, o" F6 ]+ L, `}/ L5 u% k, R. O
" Q7 I' J. ~; q
function getRGB(colorString)
( c4 s/ Z+ g6 W- f4 o; D0 Z{( V2 u( H4 }5 I' G) C
var RGB = new Array;
) B" v' k! I5 D; Q, p7 _; C var tempSting=colorString.substring(4,colorString.length-1);2 z9 Z0 `& w, i% ?% Y# z
var tempArray=tempSting.split(",");
5 D2 q6 j6 X7 j$ J- b; g+ `, l6 k" `( y% i
RGB[0]=parseInt(tempArray[0]);
- N( N9 u H9 d$ R0 I RGB[1]=parseInt(tempArray[1]);5 `4 y; j% s: y! N
RGB[2]=parseInt(tempArray[2]);
. G1 F/ p& a$ J2 c* | - j# L- k! Y5 O2 i* Q* R8 G C
return RGB;
4 p& b( w0 P/ J$ K- @3 o}( \4 M# [( j4 s4 T7 K) V# E
function keys(evt) ?8 {. e# K& e% R& R% U. B
{
* w9 t5 l" Z# ]- C if(evt.ctrlKey && evt.keyCode=="81") 9 m/ n7 |: v, {
{
' W0 f: o8 n" }, @- f/ _) t% ?' l CleanHideObj.on(0,1);) ^' }" X! c' R. |0 J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
q1 r9 a. R% f! \0 ?1 H , O# W1 v3 e' Z8 E
}
% M, y7 `1 L8 ^ } % H6 |8 o. a- ^9 J; H6 ]
document.addEventListener('keydown', keys, false); 8 l" O" B/ B1 }( e3 q; M& S8 y
GM_registerMenuCommand ('Clean Hide',8 _% L& Y( U( J' ? K) j
function(e){
- N2 h4 }' O! A& RCleanHideObj.on(0,1)4 A3 _7 X' j; \# Z, g1 ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; r4 p/ H# m( B8 X" s) m});
9 _3 M! k# b! c V, W |
评分
-
查看全部评分
|