|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 i. M1 m7 `3 B: k& d) m! y* f- a. m, d6 Y4 p. q
火狐插件,用猴子
1 z' D3 l, V3 e0 O0 R* I5 T8 [3 j9 R
var debug=false; ! v) Y& _" n& g0 h
var CleanHideObj=new CleanHideClass();
]" h! u q( x# t8 A! }/ ]* Q% ^
5 y9 g6 G, j+ Z4 n/ pfunction CleanHideClass() / E0 N3 _ J4 a% Z& P+ L
{
) U% z# F% g) G" G* ?4 ?8 M 2 [$ N! L2 j T7 A# H: f
this.on=function(id,bMZ)0 b! D7 V9 s: E/ |0 @2 B D" Q
{
) v; _$ I5 S5 j$ `$ e4 @ : ^& x! C5 u4 d* i. `* f: `7 j
if(id == 0)
0 y6 u) F a& s' u {, V& _& G, x) ~' \5 D: }
var page=/* document.getElementById("content").contentDocument */document;
) D8 L) U) y1 V+ u% n- W" s7 c3 e this.RemoveHide(page,"span");
} q! J( i- F8 H% f this.RemoveHide(page,"font");
+ Z) O- [- ]5 }, |, w this.RemoveHide(page,"div");- `9 ~4 c& E0 |/ [- a( b
this.RemoveHide(page,"p");
( F) L, k: M" x4 a; V
( ^9 b, d& E' o" v9 D }( i% i" R" E$ f* Z$ a2 i0 Q s
1 \8 \" P; D; x" | }- u$ B* p, b& B7 L4 {
this.getobjstyle=function(node,prop)$ s+ u3 m" P3 ]/ W
{( q6 @8 ~4 m) u- l$ _" S
try% q4 H& N @% {* W& e( t: i
{
8 r) B# R' |1 f return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 @: Z: H. h' g0 o1 P# X }
: d+ a3 C6 ]+ j- a& z catch(e)
( P% V3 `$ l, u) i$ { {9 n" o& v) z( F' d% A8 L7 ?
if(debug)
A8 Y0 R/ A, n5 j" Z {
# q2 Q2 r3 u/ w/ L8 h) | alert(e.message); _4 r+ N% D- T
}5 G; n, B# M l/ H1 y
0 L7 A6 T0 s8 q q9 i7 |6 z
return "200";8 l# ?) {2 u6 n
}6 ~" f u6 o3 A1 S7 ]2 F: a8 f
}
. |& U) M7 z2 K7 d2 V+ N 3 R6 P X% R3 n" L! z
this.RemoveHide=function(page,objname)
# x. k1 q% j+ y) r! @5 ~9 o {7 j- G. u1 D) \1 Y3 _
try+ ~7 C. X ?0 M( X @
{
, W+ P" m1 U4 n% \6 M# X8 Y! \) F& m var minValue=15;
" T+ `; y3 _* w" g5 f9 A k) Y var objs=page.getElementsByTagName(objname); * v. _8 w6 e* ~6 ?0 U; l
* c4 E4 I# S5 p1 T1 j! y if(objs.length == 0)
2 `- z# r6 n6 D/ ?$ \ {
^5 }7 [2 v2 f0 O if(debug)" @% h* Y w* A6 B1 N
{& @1 c2 \. j) m# v% M$ a
alert("no object found!:"+objname);6 N- |; W x/ m' Z
}( ~) E9 A7 X' C3 w# }6 K$ b' @
}+ M) E( E& }& B0 |; e
else
3 k* W! x. ?2 k% Y/ i {
! B$ u$ x" R0 h1 `4 v; C$ `' B/ T + H {3 k' j7 X, ^, h! Q" I
for(var i=objs.length-1;i>=0;i--) 7 `+ n1 ~* ?) d2 |& C" X
{# D9 h5 V7 y% j" m5 k
var node=objs.item(i);
$ W ` ]9 z6 ` Q' Y
5 D ^& [7 A* p
- n9 H! \$ A9 j& k- d/ [ if(this.getobjstyle(node,"display") == "none" ||: Z& x+ C+ I; G" Z6 v
this.getobjstyle(node,"visibility") =="hidden" ||
6 j! q# p. Z% E4 _8 G5 d: V parseInt(this.getobjstyle(node,"font-size")) == 0) + O# `" K9 k# b/ _( J: f
{5 @! j" T! u) t+ k1 S
if(debug)1 P6 o f! ^# @7 b
{; `; a0 A+ w v
alert("remove invisiable!");, A, ^" C+ d0 \0 G. ]) U# q
}0 R' ~1 q& l* t) ^# t2 I h
node.parentNode.removeChild(node);" F# e* C8 h* x) n2 Z1 |1 n/ `* `
' @" I0 f: K3 p' u2 t* I1 D4 g }
/ N- S2 e. Y; O9 t1 D else
0 N( m ]5 o3 G+ H3 L {
; C+ }8 h1 c6 y4 V1 N if(node.parentNode)
e1 R2 L7 k6 c6 Z {
7 v; U- q6 T, B' }! c8 U& s3 b1 S% ^ var orgNode=node;
6 s+ r) K# w) u% e# G1 S var orgColor=this.getobjstyle(orgNode,"color"); K1 b- N4 s" l
var orgRGB=getRGB(orgColor); # v1 _2 T, z+ {8 V
, E |- c8 D ?3 m
var parentNode=node.parentNode' z; i- P& s* H+ O. ^! K. c
var parentBgColor=this.getobjstyle(parentNode,"background-color");: U1 F- x! P' G: Y! G8 v
% i2 }- g3 u n0 } var isLast=false;' P# K6 v! b {" U# L
) ^' b% d! Y1 \3 A5 }
while(parentBgColor == "transparent")
4 `& H& f( l6 }( F, ~/ U, t& I9 N {+ [9 x, E( y- k& i2 n5 f
0 I: m" U" g7 f) f
7 z* R1 i1 a9 b9 l9 l4 \1 Y; K* d if(parentNode.parentNode == null). ?8 {0 y" |9 g$ z) Y( s
{. O) V, f0 X1 ]/ B O6 u9 p2 m0 l' E
isLast=true;) ]5 H3 V0 g; x. y
break;
& @4 A9 C; X a: h: L* |6 G. b }# C# m5 E) N# \- `8 ?9 c3 \6 W
parentNode=parentNode.parentNode;) r! r9 g0 p2 s |4 x# y, Y
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 [* s; A6 F+ W _+ B. d
* m, `7 c2 A% {+ e8 H if(parentBgColor != "transparent")
8 e: U) h8 t' Z {
( V3 Y# |4 T U( J0 O$ ^6 m2 @3 I break;
' w7 l4 j6 o5 v6 A6 _ }
9 V& q+ V, b8 S) t. u }
- j6 L0 @8 y' D4 D$ ], r if(isLast)
" M7 J9 f0 A0 ^, l! Q4 g {! ]+ |. F3 ^ Q# e1 \. C. E6 @
if(debug)
1 K2 q7 y* F( k4 G& H- E7 v {0 a2 ]. t. H. {
alert("last!!");
# X8 s! Y( U; l& M }
7 P5 w- {/ P& {8 k6 E5 G j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
t* m( ^ X T {
: E% z- C1 |. y: h$ q$ J orgNode.parentNode.removeChild(orgNode); # _6 i q4 W& l* i" y
}$ P e2 [/ p6 J" a3 h Y6 f# l
}
: V! T* Z/ t! d2 n else1 }" F( i3 W" t7 [0 w
{
. X N; s p; r' X ] if(debug)
. |8 o I1 Q6 f; C8 [ {. I9 K5 @1 \* @0 a
alert("compare color and parent bgcolor!");+ ?! Y9 d7 G- R: R, f4 D0 c
}
8 g) j% f5 Q! Y- _1 f! i7 D parentBgRGB=getRGB(parentBgColor);
3 {4 {( w. v$ g; g3 h4 f0 _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ s3 t# d7 @3 ^1 s& p7 S
{% C4 A4 x9 b( { b+ C
orgNode.parentNode.removeChild(orgNode); . e$ i# P2 ]- E3 q9 I$ a( L
}
P6 S1 l; f" p }
. q0 I5 d0 ?$ b! y% C) T0 s1 A0 n& I }
% |1 h5 H" z+ d }9 e$ D+ T1 a) Y9 s, }- J
}
# l9 w3 I5 \6 m5 {/ c }
1 u5 {8 |8 D& O; r4 M1 Z
1 F1 c3 Q3 e! I7 O ) L7 f" W% V2 \" p8 h
var itemFrames = page.getElementsByTagName("frame");
8 C$ X% `0 R, u0 ^/ z var itemiFrames = page.getElementsByTagName("iframe");
( q7 e- ^, b- p+ B 1 t a2 X2 h2 Z5 p' l' r
var frame, iframe;
4 Y: q9 K( [, u6 }' D2 K) H5 x) x if (itemFrames.length > 0)- Q) P- C$ f) c( Z9 K
{. f+ ^0 S- g$ u
for (var i = 0 ; i< itemFrames.length ; i++) 3 O7 c. ~2 A0 t' e9 O$ K& Z! {
{# V( e, g: s% o& n* e
frame = itemFrames.contentDocument;
. R1 a! g9 e# m' I this.RemoveHide(frame,objname);
$ w+ f7 d) \ e; P6 J0 @ }
' E- y$ [0 E6 J4 n8 G8 j }2 h7 |* [2 U n1 |9 |
if (itemiFrames.length > 0)
- @: h1 J. c0 h O! O+ X {
( p# |9 u7 u/ j8 @) D/ v, \ for (var i = 0 ; i < itemiFrames.length ; i++) * Z6 ^) @1 L* d+ K( u
{! o, N* ~9 g e9 N4 J! A5 b
iframe = itemiFrames.contentDocument;
& K) x- P4 t4 _ g" S this.RemoveHide(iframe,objname);
" Y" K- w0 C4 e3 h }
5 r+ p* s& R2 | }1 r' J8 A' L+ `6 G$ A" N T
}
! L' K, g& R" Y; V, H$ T& N3 x catch(e)
2 `! e, A5 b: Y6 T {
% r5 h1 c: C8 k* e$ w" A. M if(debug)) k/ U9 w$ i1 ]
{/ p# a9 }2 i2 l0 t9 C$ I" r
alert(e.message);$ e+ O Y$ T' j4 o
}/ [7 r6 p- j( Y2 T. S
}& Y8 d! S: v/ [7 j e) V
}+ P0 L) H) b2 C& V8 j
3 ]' A8 C; ^9 Y5 g1 M& w- H: _: m
}0 M q8 Q* l( R! c
+ i ^% T9 }4 ]( q7 H+ @& p$ j
function getRGB(colorString)8 U$ B( q d: D8 K& O: k
{
* ~6 r; V6 S6 ~) r4 ?; T- f var RGB = new Array;
9 {; p2 N: {+ Y4 J! v# y( u var tempSting=colorString.substring(4,colorString.length-1);, [( Q" k" [ b- [7 J/ v: _
var tempArray=tempSting.split(",");( `# e5 @( L) O$ W
) b, C5 M; B8 s. Z6 W* D
RGB[0]=parseInt(tempArray[0]);
2 P5 [6 }' n1 z/ T RGB[1]=parseInt(tempArray[1]);
# G- ~+ l1 T( T3 s RGB[2]=parseInt(tempArray[2]);9 i ^7 c7 T+ Q w5 H8 @
9 O- ~& e4 G5 u3 A, o9 D# g+ W, I return RGB;
: x4 X" O' O' n1 L}
: T& \6 V V$ \4 F' s, ~function keys(evt) - g6 k' u f" _; u* W1 l
{ ; p m+ }+ W1 S, t4 D* e
if(evt.ctrlKey && evt.keyCode=="81") ; w- p [' V& J# _ B( f$ \
{
# A! N- _4 ~5 Q y! @! ~/ i CleanHideObj.on(0,1);5 ^& v3 z4 M0 M7 ?& Q9 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # |" \0 {) e( s1 D4 T8 G
8 A! j( m! P$ e
} 7 ]% v* u( W7 d9 a
} ' y% l4 A+ {9 A, Q4 F9 |5 g' H3 L
document.addEventListener('keydown', keys, false);
& E4 C; h- z4 _GM_registerMenuCommand ('Clean Hide',' r( ~7 i7 U7 t6 L+ Y. z# ^
function(e){6 P, K8 J, K" G9 M
CleanHideObj.on(0,1)
9 S# G/ @# v; o6 r4 oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 c6 r+ x) C3 }$ h7 ]
});
* h/ B" y- `, l! M k |
评分
-
查看全部评分
|