|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) M! N8 }- X: D T3 \# Z+ Y7 D
- F \" T- ]; X1 X火狐插件,用猴子
6 k1 d8 W- d. p5 z; g& P2 x5 w% V% b1 [- w$ [! X9 a: |" B# K4 @
var debug=false;
7 G9 V, m- f0 n1 jvar CleanHideObj=new CleanHideClass();
4 |' n! |6 J: f% r4 c6 p; B3 d% d {- i1 C, M9 M
function CleanHideClass() 3 d0 r; @$ s% J7 \! }2 u
{
- N/ d: w3 \' m3 y2 T# k - n; ?' k2 k1 d) Q& K
this.on=function(id,bMZ)
4 Q4 W3 r- E; v/ u+ p6 D0 X/ | {
9 ]$ i2 C* B- v$ S ! `% A- g0 u8 t4 H
if(id == 0)* o+ I, X9 m4 R7 ]
{+ m& z# }: e: }3 P" z% I
var page=/* document.getElementById("content").contentDocument */document; , Z) I8 z$ y( M* o) y
this.RemoveHide(page,"span");
( E/ g! M |2 y5 ^7 s' V% E this.RemoveHide(page,"font");" @. F' Q1 a+ d" n8 S+ w
this.RemoveHide(page,"div");% m$ L9 w' g) R2 K3 S
this.RemoveHide(page,"p");" }' p2 v0 d4 }. D* G7 c8 @
+ ` t# L% {$ c3 ~5 U4 m+ h1 D& C }* q# k& A. v1 E- |
! W2 O* U7 J0 u
}4 F8 N* h6 a* l1 C2 U& m
this.getobjstyle=function(node,prop)
' @3 G1 T- B( Z2 o4 y* e9 E4 C4 K3 } {
% | v! {# w) K! e2 ]- C try9 R8 L$ Y/ d5 B/ h: D
{
$ u, }( l1 |% r8 X( |4 H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) F8 ^4 i& n& w) j
}
0 b4 N. g" J( N catch(e)
' V: U# V( @/ H# t) q {
3 N1 Q4 k7 H0 p if(debug)
& J, k) l+ y( ^& X6 R1 r {
* v9 _7 h' Z$ [& y( e$ t% W/ i alert(e.message);; k v3 D, A' ?* |/ O( C, {( V
}
1 l2 k' x) T* M 4 z/ M6 h% ?8 l) R
return "200";
$ [& b0 S" e! m7 V# u }4 n( B9 G5 h3 o9 n9 Y
}% l6 {: I1 q, l& \
0 v6 ]4 @* w" v" k: R
this.RemoveHide=function(page,objname)) s8 L; u: v4 s, s
{; l4 T8 e1 G1 w" p6 m6 i8 E' x
try
: T5 v6 H8 d. O# f; _! F5 C {3 Y9 A/ T- F6 L9 ~# w5 ~; a V
var minValue=15;% A1 ` a+ \5 o+ D
var objs=page.getElementsByTagName(objname); 1 ]# Y& ^9 F E: U, ]$ A2 L% G3 ?
, K3 D& w# S5 ] L if(objs.length == 0)
+ @* N' @! Y- d# R {6 L k6 w- ]$ c7 T# f6 n
if(debug)
5 i" J2 ?+ p" z3 A) G, |, p {7 A6 U2 i7 X6 s8 g( b" x+ M
alert("no object found!:"+objname);
6 k; H3 v, H" l: q- R+ L4 q! v }4 j2 S( Z3 F$ J, R \
}3 _+ ^$ U: W1 I' \* b& W) l$ M
else4 U, _, H6 Q% D
{
) Q) K4 x' J W, C , r; s. ^. {2 l! C' y; Z
for(var i=objs.length-1;i>=0;i--)
9 U/ H d/ p" `) H B; g5 \9 Y {6 O) [5 r' X# \9 _; s7 R3 o
var node=objs.item(i); 3 K. Q. h; M& U! R' E
. ]+ c# R( @- A$ T! y
* U- j5 ?5 S g0 K! ~ if(this.getobjstyle(node,"display") == "none" ||
, N8 q- w& q0 P) O this.getobjstyle(node,"visibility") =="hidden" ||4 {" r/ ?* q w7 _ H
parseInt(this.getobjstyle(node,"font-size")) == 0)
( z1 S$ o% L7 e E2 U7 V0 s3 o, B {9 y5 c5 w7 F! ?. L, M
if(debug)! J- ]/ z7 H8 O) o
{; Q5 L; Z) p7 m4 Q; ~. y
alert("remove invisiable!");$ P; T1 Q% z, C+ ~
}; h/ v) [9 c3 _+ i# u
node.parentNode.removeChild(node);! U7 A& J! u, Y8 R
+ R& y! s. a, z" A* ?
}
, ~+ ?+ x2 _0 y' x1 H% y' \4 ^ else % s1 [& J4 C. B! ~
{
# Q- ]1 g8 T* D7 l# s if(node.parentNode)
( U5 v5 j9 ~6 G# g) x: D {! L4 f+ w. }1 ^, F" B$ U
var orgNode=node;5 u7 E/ ?9 l: g. A
var orgColor=this.getobjstyle(orgNode,"color")
# j5 y! O3 @% E) k6 I2 @ var orgRGB=getRGB(orgColor); $ K% P' G& b! Y! D! A
& X3 H* k% |! Q: ]4 F4 B
var parentNode=node.parentNode
/ I! Y5 `& @# H y. } var parentBgColor=this.getobjstyle(parentNode,"background-color");1 z+ \" Z' x# G+ t. B* U$ @! |2 _
6 b& y9 k: W3 i& Q3 J. N# Y
var isLast=false;( S) V1 X, _6 ]' g/ R' T
f4 w/ ]- D; C- B% U
while(parentBgColor == "transparent") # ^+ C+ r: S6 `7 l$ a. F) Q
{
" J9 n+ c7 p! v. [' ?: e5 e - f6 B6 n$ l5 J8 q: f3 V
$ R/ [6 y, `/ s, {! [6 @/ Z
if(parentNode.parentNode == null)
) \; d$ e! m6 _* e [9 Y' s {
+ Y9 @, i9 u: S2 i% C isLast=true;8 a8 Q& \8 K2 n- _: i) B( \
break;: k: C; h/ G9 |. F" l
}9 J6 C' ^3 } W- n
parentNode=parentNode.parentNode;" J) U: S- a9 L4 {# E8 \, q
parentBgColor=this.getobjstyle(parentNode,"background-color");
c5 P8 g& z1 f2 b7 M: x8 a' {
+ u4 c8 F5 j3 p' P: ^ if(parentBgColor != "transparent")
/ D' S7 c6 y7 q( ~ {! w" z; F: x9 }' f" U% o0 s5 a6 T
break;3 _# Z9 @/ k2 F4 f, J
}
F+ i3 }- h$ N" g }
0 @% d3 l% m/ z/ d if(isLast) - F4 x; P! a2 @8 s% \( M& U$ l+ M7 n: v) D
{
+ ^+ }9 d2 I. e- e( u. o) r" V7 c if(debug)
( ]& `. R" L2 r G3 V; s% L {
7 ^/ w, x& t0 d2 \ alert("last!!");1 A# u" t5 r* ?- x
}
6 j( H; y; o G$ E# J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 M. P1 D' T+ ^% D( m4 u3 C: a {; [% p: S" N1 @# E& J% [5 Y
orgNode.parentNode.removeChild(orgNode);
$ f0 S/ t; T% ?" L$ v: E0 L }
- B' F: ]( e& l3 j1 L, p: m8 j, v N a }
7 C+ L6 P. _+ [: ~2 L5 i8 P1 @ else- C2 i) t2 L8 K6 y7 o
{7 W, m& @" l9 g, O: b- U2 W4 n! O/ W% n
if(debug)0 M) ^8 K- ]6 c' \$ T5 J+ j
{+ A, Y2 m# F& D( I/ k( R
alert("compare color and parent bgcolor!");$ d% `3 X, [$ {+ c% D9 _) Y3 a
}
7 g3 i! O# u2 f% G6 Z parentBgRGB=getRGB(parentBgColor);$ b$ J+ B- g8 L3 q) n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 b! [4 `) {$ R' c {) S! e' _5 {! ]5 I8 p
orgNode.parentNode.removeChild(orgNode);
/ c* }3 L6 l. `* i }) f6 L& l: l3 e7 @5 T
}
% U' E0 w# }8 D0 M# c1 a$ ` }( s2 r. }# J3 Q0 F1 s0 z
}7 U- P2 O9 _" p- W. P5 Z
}
0 |* C0 E$ r) ~& u% v2 V+ {) k O$ K }3 [6 y/ O3 u1 N7 c9 Z z
9 ?4 D8 S/ Q( ^* l* j4 R( Y
5 i& j% @: W( T2 v, { var itemFrames = page.getElementsByTagName("frame");
' Z4 O' ~) ] Z V: V/ ~ var itemiFrames = page.getElementsByTagName("iframe");# K3 v' K' P; S# l% Z3 s
7 j) A: `. K& `" u, y. ?
var frame, iframe;
9 p$ b$ v7 }7 o5 L L+ v: G if (itemFrames.length > 0)
0 ]$ M1 b& E9 U( s0 z9 t. [3 k {# k: _) A! i3 q1 j( |3 }$ m- e
for (var i = 0 ; i< itemFrames.length ; i++)
& g- E0 N7 t5 r5 i& k7 ]4 l {
. H" f4 K, @4 Q5 P4 Z1 v frame = itemFrames.contentDocument;# {% i4 H. E, e" @# B
this.RemoveHide(frame,objname); 0 d S: ?$ k( N
}7 ~. _! O& i: O8 C& x$ g" T3 f/ q" {
}. O4 g0 R' p$ n, M( k2 M- }# U
if (itemiFrames.length > 0)
4 P' |# N0 _0 i/ ]" H& s! O) d& w7 B {
) w0 ^$ D% \. \" ]1 |. @5 M for (var i = 0 ; i < itemiFrames.length ; i++)
' f7 j0 g! |3 U. @' r; N: m& k {8 k0 i- e' Z& b" k2 ~% B4 ~( R2 K" G
iframe = itemiFrames.contentDocument;
# f( H) ^2 S' b. t2 w this.RemoveHide(iframe,objname); ' O/ O$ s7 o. y+ ]5 ~0 K4 r F
}1 O; |$ R4 i9 Y: e
}7 q% ~9 p; A# S" i4 @
}
( a3 R6 [1 f# n! x2 }* f catch(e)
0 Y8 v4 `' C4 Z {/ r9 o( T3 W K3 |1 K& V( J9 d
if(debug)) x$ V) A/ E# O' g, h+ m) u+ b
{
" |2 n+ d; [2 n& M+ N* R/ f2 | alert(e.message); R9 Z) J7 V+ h6 \5 ^
}: p9 T* j6 L* i* H) e/ R& H) A
}
?; r1 {1 n' `6 ~" I2 f8 ? }6 l, Y2 ?$ o0 @9 f6 i. O! M
6 c: H6 i8 |' }$ {1 N7 h
}
; K' |: ^: _" _7 S' n/ d$ o
* ]+ f8 p k$ ~ m3 ^7 A! m; Yfunction getRGB(colorString)/ Y1 h `$ l5 A% x; W
{ _- j4 w4 W" i- Q* e& g Q
var RGB = new Array;; {& n, l7 N# S; E) o, I4 ~8 e
var tempSting=colorString.substring(4,colorString.length-1);+ ^5 ~, P1 w" f) D% Q g& M
var tempArray=tempSting.split(",");' m; F& B6 J5 @+ T" E8 C
' b7 a7 G5 U/ ^3 M RGB[0]=parseInt(tempArray[0]);+ k1 i: q4 E7 R# {6 `$ E4 Y
RGB[1]=parseInt(tempArray[1]);( c) R. n6 W& x
RGB[2]=parseInt(tempArray[2]);1 B( e( H, V# s- A# J+ Y, I3 c
8 W+ a% B9 E I8 J/ ^) n& I
return RGB;
- z5 ?9 E: X: d5 l$ J}/ ~% H$ o' v4 _
function keys(evt) $ @$ \* Y) j/ I
{
2 E$ T& n! r* z9 k( \( h if(evt.ctrlKey && evt.keyCode=="81") ! @0 Z0 ?' l' j, s
{ 6 G/ v r9 `8 Y* E
CleanHideObj.on(0,1);
- u, \8 W# J. ], Z+ j% @ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 q) s$ s! Q! S, g
0 h) l2 ?0 V2 ~1 c& v& a } ! y/ d. N& U" \0 n
}
2 E' E$ Q7 W1 y3 b& r) Rdocument.addEventListener('keydown', keys, false); $ r! }# m% S* M; v) y
GM_registerMenuCommand ('Clean Hide',
, w4 L8 p. M! T) ~ vfunction(e){
7 j0 e1 W2 Z, ]: v/ Z4 w0 oCleanHideObj.on(0,1)9 |! h- v% n9 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 c- B/ V3 a, J' j1 t& K! p
});
. r7 Z) |% L' T8 d% e |
评分
-
查看全部评分
|