|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - z6 q9 F: X1 p* K& k- v
. k0 C, G1 i% Y! \
火狐插件,用猴子7 S8 m# K, d' b% X2 T0 n. c. z
( z% V( f4 `/ j& d v
var debug=false; + _; \ _! A( P; h: ]& N' k
var CleanHideObj=new CleanHideClass();
6 C9 e/ b+ N6 Y1 N
' l7 O* Y4 y& c. _' e# Rfunction CleanHideClass() * t9 U2 \' p& e! [
{
4 n* k: z& q+ n& c 8 m# L# h( t5 n L3 `# T" u/ z a% T
this.on=function(id,bMZ)
9 S' g# O* b5 ?3 T {7 I9 Z+ z0 g b6 e/ H; }" a* u
0 o+ I5 F+ K' Z- o; p) y if(id == 0)/ a' Y5 I$ ]. H6 v6 f2 h
{. q" {- n. }3 l0 C$ S
var page=/* document.getElementById("content").contentDocument */document; - q$ q1 p6 ^- L
this.RemoveHide(page,"span");( J" e7 K1 s5 Y7 ~% a
this.RemoveHide(page,"font");# Z3 @1 t. W# ] p
this.RemoveHide(page,"div");
. w' ^0 Y. P$ R: M this.RemoveHide(page,"p");
2 i3 o; v7 {" j
3 n9 l) n: M1 h" ~! y }) ~ C' Q) g+ K+ u$ U# w* V
, j& I' T' Z. J! s3 S
}
) ]$ n. x/ E0 C5 I: I7 P: ` this.getobjstyle=function(node,prop)! j6 Y, W" Z2 V* P1 J
{
5 o8 G( O, x/ t7 ]+ r try
+ f W6 a! C$ A2 w7 e i {: @/ t k6 ]0 V1 H$ t$ G i8 ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 x& o( n, e8 [0 f. H
}
9 X. C! W p R6 m9 `( d' {( T catch(e)
: Q/ k3 k8 Q% n3 [# N/ ? {- z5 t/ b/ R6 P/ z0 y }5 i) W
if(debug)9 y; c, q9 p2 |+ q, \" y
{, s1 h! Y. l. h
alert(e.message);. j; X" q+ Z8 b* B" c
}" W2 w' H" _( W$ o' _0 V" @2 e( S
% R2 U' r$ c- K7 o1 _ return "200";
# g3 u) }, `" P7 D8 L2 m8 q }
# |) x4 ^, ?' G3 p8 { }' Y6 u+ v7 i# O4 z
. L" f. [& u$ B this.RemoveHide=function(page,objname)& e% s2 M L+ [3 Q5 c
{
7 @0 `' B9 w8 W s7 @7 r% S try7 Y8 B1 C' H) q! r
{
$ E7 P$ W- Q1 j9 |4 ^0 u$ ^7 D K, O var minValue=15;9 t. x' b C4 T) |9 L; Y$ o
var objs=page.getElementsByTagName(objname); ( F& y2 ]$ }1 @' L( m5 G! A
, W& W0 l4 s" s3 I% F! j if(objs.length == 0) 4 }7 M6 z" n. `
{
( v: o# B6 t$ X# ?8 X if(debug)
1 E" o S& e2 j+ e* c8 S {
6 i1 u/ a2 i9 u7 l6 b! D alert("no object found!:"+objname);! `/ }9 i$ n. j6 d0 D
}
; i" G+ v9 k$ G$ ?; t1 h }# r8 X% T/ I8 v
else* U/ H! }) A0 X
{. T8 _0 G( E8 Z2 D" W
Y9 _8 B2 j2 w! M1 M: J. w
for(var i=objs.length-1;i>=0;i--) ' i3 _" @" [! v5 G& E
{3 r8 {7 Z4 L* f; ~& E& a* }3 p* C) j+ l
var node=objs.item(i); , W2 v5 r' v5 H0 d6 I# x1 }4 B
( S3 W0 L# Z+ l) {$ I/ Q
w% ~0 f- }0 n0 w$ Y2 N1 ]# P if(this.getobjstyle(node,"display") == "none" ||# T# H! ~5 L; G$ m# i- }- C) H- e
this.getobjstyle(node,"visibility") =="hidden" ||
$ [! @* e1 ~1 s parseInt(this.getobjstyle(node,"font-size")) == 0) & A# h4 b# p6 { [1 ~ U
{
8 |* i6 ]3 l3 B* M* P Y if(debug)7 D3 Y6 {4 M. r7 V7 W5 Q; G
{# @/ f4 K; _* |9 r. O0 f! W
alert("remove invisiable!");
1 u, d1 p" P7 C8 d" l# Z }% _7 _; M3 g- s7 s( x
node.parentNode.removeChild(node);
" N1 _4 E& e! f$ C3 c& F- L/ z* N
/ w: l6 V4 Q l" r& |- I; g }
$ X! E) J: `% H8 G( |9 m else
* X ~) N, e7 a* T, z, q {0 y2 Q% k7 `; q, _
if(node.parentNode)
' o4 M4 H$ |6 o0 c. ^ {
: |/ y* c# K+ A! I+ I, h! P/ a# y var orgNode=node;
W, @1 p! I, [6 ] var orgColor=this.getobjstyle(orgNode,"color")
; n, M8 `; l$ Q: h. ^( w: k4 l var orgRGB=getRGB(orgColor);
& H8 C& G9 p% J( r: i3 s
: P% t' p/ x' e$ u var parentNode=node.parentNode
& `3 V0 V! W& f3 ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 @' F* q( c; R: B& r; C
& w9 O% S; L! V var isLast=false;
: T8 t2 G9 c6 P4 b* A7 K" ` % D9 _/ a0 f' V7 A0 i9 c$ b- N) h
while(parentBgColor == "transparent")
1 g# V& g) w9 j- a; m7 _ {
/ y0 q% N. z! G6 b! V& | 5 o. f; D7 @% c
; E7 E6 W- A2 g6 F if(parentNode.parentNode == null)
) G6 C0 i2 X. M. k) B! c% y" Q {3 z8 z/ ?% K8 L1 H: y. w6 `
isLast=true;/ u! N2 W: U" T9 O) I- i
break;
( v/ e" h) n8 e }
8 `/ ~$ u: q$ i! |+ ^7 b parentNode=parentNode.parentNode;) H: L7 K0 _- I! g
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 b' s7 M# a9 j
3 m" P1 `: H" a/ H5 a! ` if(parentBgColor != "transparent")
P- n. Y& A" Y$ |, v$ P6 \" A4 z9 L) B {
B8 Z! O' ^; b) ] break;; F0 o5 r9 H; b: T- X
}& h" l4 }6 p, e _% P& U) Q
}* }' f: Q3 ~ h9 X3 O; s- [
if(isLast) 0 D& D4 a& y! j! s' e5 K8 ^- U
{
& C0 r9 `' r5 c9 O X( l; v# z. Q if(debug)
# N' ?: u$ Q# {' J9 E; r9 E {+ M8 V- v& }$ r% N; k6 H4 D T& @
alert("last!!");
9 A7 I( p, g' e& V }
' H: w" f6 }" C$ _& X8 I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# r! N+ j8 {) @
{
" U X$ W9 W* g* R6 H8 p orgNode.parentNode.removeChild(orgNode); ( B# H$ U- l4 x9 _$ b
}1 O% [6 b; y' X0 J
}
) z- V7 I! {- }6 e& ?5 ^* L else, K% ^0 j9 v4 R
{
. | N9 J! ?3 z. n+ s I) I. F if(debug)
: \" J: ^( q, X% P2 [ {
1 M8 M; y) ~; G0 g alert("compare color and parent bgcolor!");
$ V' k. \! `$ K+ f }- G7 ^3 z- _# z F9 Z
parentBgRGB=getRGB(parentBgColor);1 G8 k- `3 B# c E: v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 ? T8 w& R; Z; D. ` {% [3 P1 ~/ o( b1 B) X; P- _# Z
orgNode.parentNode.removeChild(orgNode); 8 f! g" B4 H' ^2 q; C
}! S) p n' K; `
}
/ F5 d/ \; h* V% A. X }, g' Y, w+ ]+ }- o7 h: Q# N, O& W! K
}
+ q. |% K: Y0 E0 ^* | }
) Y0 o2 F7 ]3 S4 f4 Z& y, E' G7 H }0 B' H7 |3 L2 C1 C( g( k' z; b' n
) m B% v# }8 |/ f/ z2 V _9 U8 [ . m& N' d* u7 ^, ]% ] C! o& q! Z' ]& z
var itemFrames = page.getElementsByTagName("frame");
7 @: `0 {" V8 R @' O var itemiFrames = page.getElementsByTagName("iframe");
* e1 R; Z! ~. J' m* H" r
5 L3 f" U1 B1 g8 x' x7 u1 E var frame, iframe;
t& r" D7 l1 h8 o. c4 h3 {! p( v+ f if (itemFrames.length > 0)
5 W8 C5 F) H# b( h5 s {! ?. z; b: Q5 d1 v
for (var i = 0 ; i< itemFrames.length ; i++)
@' q$ v' J- H7 R7 B0 v4 i* u {' R6 C9 M/ A6 Q
frame = itemFrames.contentDocument;8 C1 W# W; j3 }. n+ F
this.RemoveHide(frame,objname);
8 U+ T* J( U5 Y" t/ h, h }
2 s. u6 c3 E- `; v3 _8 M }
' o4 a- m# [2 o2 W# U0 [/ L if (itemiFrames.length > 0)1 i2 o; G$ T; W' t( A8 X* C) ~0 |
{' \- X' U. D: w9 C' V
for (var i = 0 ; i < itemiFrames.length ; i++) 1 Y3 c' f6 b; Z/ {( Z" l7 K
{. E) ?+ b5 R2 W$ x
iframe = itemiFrames.contentDocument;
! e( m/ Z$ o) i this.RemoveHide(iframe,objname);
2 y5 H* O3 z- M8 Y }
( j$ l6 z2 j4 L8 t) E1 \9 K }
7 p0 b# g0 |" B5 t E# Z1 ~ }
6 ^/ k2 @0 y6 y/ o- P7 `" h$ D catch(e)
6 y# ]/ a. |1 T+ ^5 ? { v5 |) c7 W0 i2 m. {# f# h
if(debug); E* Q; k8 I, P4 i
{, k& [# i2 [, Y% F6 V1 f6 V
alert(e.message);# G# j: n) g; O& Y
}5 m5 v8 y( B- u) d7 W! D) a
}0 Z& ]2 Y* p" c; U. R2 w8 B$ {# n2 N
}
8 [% L' B- C( I( w
' E5 z- t& @2 f8 K}
/ O" T; s! G5 h6 e9 U6 o4 D2 n4 \' k2 y
function getRGB(colorString)7 k' g- `; N8 `4 N8 M$ _" q; h
{- C0 \: x8 o+ A# X9 c: D2 U# G
var RGB = new Array;
1 t3 z7 e+ q. C7 M. C6 t var tempSting=colorString.substring(4,colorString.length-1);8 L$ G& v, |" g6 x. K: C
var tempArray=tempSting.split(",");
9 l/ P" B/ I1 P/ D
" f- z6 x. H: S c8 x4 D RGB[0]=parseInt(tempArray[0]);
7 Z4 j7 C3 w& x$ a RGB[1]=parseInt(tempArray[1]);
0 r# {) C/ c9 I RGB[2]=parseInt(tempArray[2]);
4 l# u! |* J* m8 t# J
4 k, |# _3 T1 t$ y1 s return RGB;
& S1 l \4 ^6 N+ Q}
( F! i% e' f r# |( Kfunction keys(evt) : d5 ^9 K* `9 ]- [( F2 R2 M
{ / T y }: r7 a2 ~
if(evt.ctrlKey && evt.keyCode=="81")
4 Y4 D5 C: T# g- D4 t& M8 f { 5 H: F" M6 b9 T g, m' t
CleanHideObj.on(0,1);4 A K- C1 X$ c% G- C0 N, ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 p+ N% R, \' v9 R; W* E
$ G! [+ ^# \+ R" n6 d }
6 J1 W# ~/ I0 a: a/ A- `8 |% w }
1 k9 @# @, ?+ i0 E, Z k' Vdocument.addEventListener('keydown', keys, false); 1 \3 ?; a( s2 _4 p3 Z- v: n8 m
GM_registerMenuCommand ('Clean Hide',: k. C0 u: C9 h; I& y
function(e){
; w7 B5 F0 _" p/ n$ @0 ~& L2 |CleanHideObj.on(0,1)1 L2 D/ R2 K$ [+ s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, d, \- m+ @+ k& L: I});$ i# {8 d+ d! Y; F) i
|
评分
-
查看全部评分
|