|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- K C4 o8 R( I2 {) [* z8 Y/ O5 ^
[- G$ U- u2 l( r: K火狐插件,用猴子# O$ f; c5 {& D+ E5 V# ^) X
# Z+ [9 @6 m) T6 c8 @- y% d* zvar debug=false; / Y& g x0 i6 v
var CleanHideObj=new CleanHideClass();: C) @0 n) l7 v# H% r. a$ h
3 f: V7 M3 \9 y- Zfunction CleanHideClass()
+ ~& v' b5 G7 z5 e f: i{ 9 W- n! B. K3 [2 g
% Z1 {% n! @% n1 u' \/ E; k r a- P& h6 s0 H this.on=function(id,bMZ)
( w4 C' J+ {1 v( A; u" V {
, |3 q$ G6 ~+ q5 q; n* P3 u" o
9 d4 J: k& y& A" Y% @: y* a if(id == 0)
3 Y0 ?- X2 S' d! o# [9 Z$ |+ W0 { {- s* M5 W5 ~2 V1 f* Y$ i
var page=/* document.getElementById("content").contentDocument */document; 5 \+ n! V; J/ g, V, g
this.RemoveHide(page,"span");: L/ s3 ~. [+ ]! n
this.RemoveHide(page,"font");
' O3 e% k( P' f# s6 V, e1 b( ]- t9 ~4 Y this.RemoveHide(page,"div");- ?4 |: r) h2 T* y! j4 s3 K
this.RemoveHide(page,"p");5 a+ l+ y: X0 d$ ~
5 [/ @+ x. N; c* O; O' i6 ]
}7 q4 C. |& v: L
- h* v' [) W3 ]0 I, ]3 I% z }
$ Z. |5 x0 ^! O+ b5 A- p8 i" | this.getobjstyle=function(node,prop)
* y/ V0 b* X+ q0 R: C {
0 q0 B- }- K2 M4 N& e. l try+ K% ]& e7 T% N% S
{
* Z& i F* E* m2 l5 M/ W return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 R4 q- N* b+ g' W ^2 i }. s/ W: S. W6 b+ X8 P# B
catch(e)$ ~# F* O, `8 \) j0 Z- N0 E
{/ z$ u8 M! @5 s% u) V
if(debug)
( L% s% r9 t, W& Y* H5 o {
/ g$ n- W4 |" j alert(e.message);9 Q y/ z6 I7 D' V
}& |3 Q; O0 ~0 Q9 A A" r+ r# P
; e* N1 k) l. N2 [ s" P
return "200";
$ q& C: J6 p4 G! F! z/ y }
j' j Q7 s6 P! L4 _1 @( O }
& j4 w6 @( m3 C0 W/ A& Q9 k
D4 }* O5 ^1 k( E3 Y this.RemoveHide=function(page,objname)
3 z/ Y) N# E+ P4 J, S O {- h0 k* Z0 e) \1 x
try
0 Q4 t0 C* r' }0 b {# p; Z) [& k2 G4 o
var minValue=15;3 k2 E' p7 i0 A$ U
var objs=page.getElementsByTagName(objname);
8 Z; [6 r2 i( b1 D, E6 Q9 \. f* j& D" y# {. c# j
if(objs.length == 0) ( o: F' E1 B0 C' E$ i2 E. \/ U
{( W1 Z" j" g1 n* O
if(debug)/ \1 K9 F! A0 J9 k- {' U) Q {
{
& e2 l1 I7 R% i" \3 E$ w alert("no object found!:"+objname);; O! ~% n; v/ y L" g X
}
% D" t3 J y* e4 c }
2 R; O9 }/ A* Y$ o' I else
; i. A$ S; b) Z( r- H {
- D" ]: W0 A' h2 K; B
, {( o0 L. p- _4 x& U- S for(var i=objs.length-1;i>=0;i--) 2 F! w9 P) O% D1 }
{
8 k" Z+ y2 e$ |, F* z: V* | var node=objs.item(i);
$ Q9 p4 h# d F$ l
" ^7 ?- H2 U1 S, l$ A
) s7 p, ^9 v. A c% J if(this.getobjstyle(node,"display") == "none" ||+ `& t" d4 b' Z2 {+ |0 v4 `5 n
this.getobjstyle(node,"visibility") =="hidden" ||! O5 }8 p) D; s3 h/ [
parseInt(this.getobjstyle(node,"font-size")) == 0) ( Y/ v2 t9 v$ h: Z$ P5 f
{- m# n; [0 X; g
if(debug); \- L4 \" f& u4 q
{
# z: e. `( L- S n1 F alert("remove invisiable!");) v l1 D5 f4 z$ n3 b, T% l8 o9 k
}
) [! A$ [ `) l- Q- f$ x node.parentNode.removeChild(node);, x8 O% h% B7 i* b' N/ z7 _
0 A; h1 R4 R9 D6 T
}/ j% @3 e: p# K2 d6 j$ _
else 1 G6 \7 E5 _9 `5 F9 V
{+ }2 J2 p# F* N) }2 @6 I& X3 S
if(node.parentNode)
9 w+ n. s" P4 h. u {
' r- q7 |3 y$ J4 I' U var orgNode=node;
' ~' V- P+ ^1 N! v) p var orgColor=this.getobjstyle(orgNode,"color")
9 k* X, u6 k$ Q var orgRGB=getRGB(orgColor);
c5 z0 x& V- ^' P" `6 B
; [0 \0 |4 [( \- U$ s var parentNode=node.parentNode8 V0 s y' h. x. y8 `
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 h9 u2 \0 e7 b, `% G3 }9 Y
4 H1 S* k) g( a9 g$ H var isLast=false;! a: A' p' x6 _7 ~" V, g
: {9 N( r7 n5 {! i while(parentBgColor == "transparent") ; X4 C3 ?" I9 m' I" ^% i
{2 X' A a' d0 O& {- o& Z
; L" c+ b- ~6 o# J0 X
, h* ?1 k* K7 m- N4 o9 Y if(parentNode.parentNode == null)
: G( ^) s4 G" P5 E6 M {
$ `8 u* q- d r# s7 R isLast=true;' Z! x4 @! e5 z" Y0 ?
break;
7 |. [0 f4 A7 W' L1 I: J }* x: E( s7 B1 Y1 s9 j- f; b
parentNode=parentNode.parentNode;
0 a3 \7 f% }+ D% x# L% o parentBgColor=this.getobjstyle(parentNode,"background-color");, p( R% J4 s7 s2 Q. U- V3 H
! t- D2 x. m, a
if(parentBgColor != "transparent")
! b6 z8 V0 P) t+ s4 E% f) u# l& H {
: B) p. \. p4 }, R7 H8 R break;
6 C" z5 m! z9 K! C4 r }
3 S- x$ e; M% v9 ? }1 K+ P5 z9 _# v0 J
if(isLast)
# T" e$ i' i3 s$ A# J/ i {- X- y2 U$ y5 n) h! y! ^' g
if(debug)7 [/ D; i4 Z, `' H0 X
{5 [6 o# ]- ?& O8 |4 T! G
alert("last!!");
' M- J' Y$ N" w4 G$ r8 y }
7 L" z' d2 Z6 S, M* s; [. m9 P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: \, m7 r; L, z- l; {5 _ {" ~/ [$ s" o; g$ e2 N- E
orgNode.parentNode.removeChild(orgNode);
5 A) f( \% z; s/ s/ E }% ^) p3 m4 |# z
}- b: Y6 A" O% S& \) H0 n" g
else
+ @- o. F- g- d% n0 y {, b- \+ q, g S* y; U
if(debug)2 S7 V# m! N; ?! t9 S8 t# I6 G7 K: R+ o
{
0 K& T4 V" z0 N. S+ i( o alert("compare color and parent bgcolor!");
6 I" q) \7 i |4 s5 h }- m8 w; F$ E& J& f9 ^
parentBgRGB=getRGB(parentBgColor);
" O9 d ` k1 V; g/ [' V if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). s" ]% G8 o6 o0 A0 c2 A& I) o
{' D# ^; o& Y- U5 t9 U" k
orgNode.parentNode.removeChild(orgNode); , G) f1 k4 }# G9 ?, S
}& L4 }! L v+ j% `
}9 j6 Y2 ~3 ]( S: l! r& q/ X) d
}
1 \2 W# C: q) g p3 g } u) m/ D/ H0 }/ k# F
}# F' s, |5 `6 V4 n& T6 m2 d. w
}
! y; G+ j7 J' A0 M; ?4 C
; w, A3 z- t0 Y6 {4 a1 j$ z& Y : `6 W0 H: {1 {8 K/ s! B# a1 U
var itemFrames = page.getElementsByTagName("frame");; Z2 K. f9 p: e5 Z1 K7 W' e) T
var itemiFrames = page.getElementsByTagName("iframe");: G' e; `, S' @
8 Y0 j+ L4 Q+ p) B
var frame, iframe;: R( W& e; @& u- D L$ N
if (itemFrames.length > 0)
9 g8 r0 b& O* Q/ i {# m: i" F8 v5 I+ t9 j3 S# g
for (var i = 0 ; i< itemFrames.length ; i++) 5 u }6 E! [8 |
{' t" Z5 _. G3 H6 B5 T" U) Z
frame = itemFrames.contentDocument;; G7 T& F2 V( I% A- Y& M9 H
this.RemoveHide(frame,objname);
p8 V7 B& K+ n% F2 Z }: M) Y$ G: o: b- o# {# ~+ P$ r9 I
}. {8 D" o; G& q. }* H* Z; Z
if (itemiFrames.length > 0)! m/ _% K1 p4 O
{
* l- m( N5 n2 H8 W9 ` B4 q! o for (var i = 0 ; i < itemiFrames.length ; i++) 0 _) Q9 B/ T, W% G. k
{5 |% ^! ?5 B! V9 D# _
iframe = itemiFrames.contentDocument;6 p1 o: T5 ]9 a# g" ^. ~
this.RemoveHide(iframe,objname);
' Y! C0 \- H7 J* h% v& e+ \6 p) ~( u }
/ v) u' o# H& L }" H7 S" ^& j4 B& a0 E/ {* @; ?
}
! M0 l' ~ E, s; ?( V catch(e)! B5 b9 G z0 o# E. f
{7 b7 g |, a- O% x& ?8 F+ ^
if(debug)
8 j4 p) c+ F) W6 n/ a3 U {
5 Y4 A3 d+ a% j3 o z. B alert(e.message);
* \2 p8 m9 r8 y }
3 I6 O# P+ f' ^ }1 Y- |& L" Y+ ^! S* s# s
}
$ j3 t: M4 a; R! c
4 [6 Z" C( {: Q: M+ g}
6 E4 K5 u0 G1 Q9 V
, x5 X+ a3 u, Hfunction getRGB(colorString)
g8 w" d3 j9 t5 K1 t2 m{* N$ v* C! A' C) R
var RGB = new Array;& ] [3 C! X6 N
var tempSting=colorString.substring(4,colorString.length-1);
- k2 g- v; K. L* {5 R var tempArray=tempSting.split(",");$ W( k0 r+ O4 K$ Q! s/ X
+ n- a0 _ r6 X' M4 a+ r
RGB[0]=parseInt(tempArray[0]);4 P1 \' G' I8 d( Z* S% ]8 q
RGB[1]=parseInt(tempArray[1]);
9 q9 w$ H' i: @6 ^% t( w RGB[2]=parseInt(tempArray[2]);8 f6 U% M: Q7 w, K; K- J4 W: U
6 N3 C* }/ J$ D6 I, z I u return RGB; i) }& g, X% F4 |3 \3 Y# v
}# ^, N7 Y% A1 P8 F. Z; e5 J
function keys(evt)
# H+ d b, S7 W$ l# e2 B {
/ w Q# Y/ c, ?9 S9 _) a# }7 I+ f( y9 D' e if(evt.ctrlKey && evt.keyCode=="81")
2 \5 C3 u9 [( {' p% m { : `8 q( D. ]' A* t5 x: M1 c5 O$ f
CleanHideObj.on(0,1);
8 x& ]2 O) R s1 E3 W% k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( ]. K) K) ]8 d9 J0 q$ T
0 o, Q0 l: C+ c! { F }
; }3 o6 S7 Q: }0 j+ p } P" H6 B7 N! n; s, F$ ]- [
document.addEventListener('keydown', keys, false); ) O2 T: n5 x: I5 m1 r' u- j5 \" Q9 g
GM_registerMenuCommand ('Clean Hide',( d# m1 q# K3 e: Y0 L6 Y' n, y' T
function(e){
" b$ Q8 w6 W) ?; f4 GCleanHideObj.on(0,1)7 V4 V: x$ @7 k$ Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ D0 A/ o; w f/ X4 X g& }
});
! n& U0 v! S+ M- L: d |
评分
-
查看全部评分
|