|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( T6 g0 t. W) F- Y% W
. p3 E1 A) E7 N. _5 A# Y) S# I4 i& J火狐插件,用猴子: F4 }" Q6 a% D: X7 c. T" ^) q
8 `# C7 H# K+ d) Q- n* T0 l
var debug=false;
, P3 Y& ?& d1 @$ C: Vvar CleanHideObj=new CleanHideClass();
2 @2 G( ?: D- w. y6 y
8 d+ ]! J5 l! |function CleanHideClass() 0 o5 r( r' w0 R$ i% R) ^
{
; t+ \- |6 y. V% r+ a" v/ G 4 s% u4 N5 U9 c$ c* ]) l9 V2 ~
this.on=function(id,bMZ)' g0 w& I4 Y- p
{
4 C" V$ r3 q4 |" ^# Y! A, i
! f5 q- G( t3 h if(id == 0)
2 W- l7 P5 a n {% o5 I, l9 e l( a% U% }. ^) {% u
var page=/* document.getElementById("content").contentDocument */document;
! r3 T+ N$ Z6 F/ s9 U t this.RemoveHide(page,"span");
S1 m" \' n% T% E9 s% ?2 S+ t1 O this.RemoveHide(page,"font");3 i4 j" }' r, j: O3 ^- M- y& q
this.RemoveHide(page,"div");, s+ T5 d* g8 _2 M/ V' h
this.RemoveHide(page,"p");
# B) K) s6 _. f3 k. w- G/ P4 ` 2 k/ J, {: x4 ~* w
}
. U; o Z Z: G& l& O5 a+ b8 ]
3 Q) r1 R& W! X }9 ?1 }) g7 m% ]7 Z( u7 o P4 y
this.getobjstyle=function(node,prop)
$ M/ L: ?/ ]5 j8 k0 Q$ H {5 [% ?4 {% u" x, f1 Y/ u
try1 w; l/ d, T8 t7 X5 w
{
7 z" H! g+ c; \1 q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) H! X8 [7 \8 T4 K/ e1 \1 l
}
( w) K1 i' f! I: W2 E5 M catch(e)
, I! u4 R% C1 t2 K8 Q {+ O7 D- Y! V, Y) \7 ^. p5 `
if(debug)
" u9 O6 {) P# X, j {
& x3 R. h6 T3 Q( u% `" S9 ] alert(e.message);: u) d# P% {) F5 k$ k, _2 {& F
}
" |' i$ j( X) B" F
5 j/ d$ i5 w. o {6 U( D) [1 g return "200";
+ t7 S0 r, `/ ~; i }: S; S$ A5 X, E
}! ]4 p! }) @; |( h @
7 y( ?" R7 A! O& J( f" @
this.RemoveHide=function(page,objname)
6 p. Z' m$ U& z4 C3 t% v) R {* J7 C$ N. ~# d3 s
try
8 M! V2 l/ k) n* e) H {0 \( q. p% ~5 V' I
var minValue=15;
# |( j. C& |$ z8 d( k" z var objs=page.getElementsByTagName(objname);
( X- E. H* Q0 f$ C- p( s
) f; w6 a! ^3 r8 y! g if(objs.length == 0) ( }5 p X! R7 ^+ A- H
{: N) h' M5 [; k1 }( G. s' d
if(debug)
5 ?5 }( @. |5 `" e( \9 @ {
7 p: T3 L# H% Q2 b. M1 u alert("no object found!:"+objname);. \. f- ]3 D3 @- I! L, a* j
}
' Q) S5 C0 P+ O; f, a: C7 E }
5 n9 i$ Z9 N( |4 C& V" x5 v else6 d9 O' Q: @- Y! Y
{
! z+ o/ _4 m( q. h9 p 7 U, ~) l% o& ^4 w6 n. z G8 \
for(var i=objs.length-1;i>=0;i--) 2 Z( J) ^/ \( \/ c% o. o. T0 ~8 M Y
{
) K/ b$ q( g$ I$ A. E Q var node=objs.item(i); 8 z* \6 I( a- W! K& j% H# y- r! D
! @+ X3 j7 B; b; U1 ^' P1 o
2 P+ ^7 _# v6 ?
if(this.getobjstyle(node,"display") == "none" ||
% U8 d& }9 e. z3 s; @( A4 M; h6 | this.getobjstyle(node,"visibility") =="hidden" ||* M6 H; G7 g+ }; M; V7 q5 X; u
parseInt(this.getobjstyle(node,"font-size")) == 0)
/ ^* h, F2 {& F {% I/ o! R' b) ]9 M( u& @9 U) y7 O1 B
if(debug)( X) c8 j* a. Y) b5 Z9 @5 h9 _3 H
{
; w w( K& C8 e/ A0 D; p. y alert("remove invisiable!");
& B5 O+ B% r" K8 F" w# O& m }) Y7 u% U5 Y# k( Q
node.parentNode.removeChild(node);8 B1 z! o2 F) y+ l. f2 F; {- \6 ?
: R8 ~& z7 {, @( g- e/ w. d2 _$ b }
, S. J8 ~$ H# V9 y: }1 V l else * V; Z5 {% ^" n* K+ e" A$ E/ j
{
( M$ U! f5 H* x1 C9 a$ I8 B if(node.parentNode) , F" D4 G" C: Q2 a; t% h! J) f
{- b# k! Z- k6 n& f0 t4 b
var orgNode=node;( O# j- |4 }& g: J3 b& D" F
var orgColor=this.getobjstyle(orgNode,"color")
9 `# u5 W; q7 m3 F- m9 C var orgRGB=getRGB(orgColor);
! B o" G! l O; S * _# Q, P. y# ^; k5 O; w
var parentNode=node.parentNode
/ a( f: Z3 o4 w7 c var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ l8 M" U" S& S4 V& i - x8 G; `1 \5 B. o4 M4 ^$ Z2 i, F
var isLast=false;; X" K+ F/ v4 s7 v6 N# k- d u% G
& b0 a, l( T% x- g
while(parentBgColor == "transparent") 0 X% K; J. ^# s7 ?. R) f4 g/ t5 m
{. ]3 Y1 M( O, A* d% @% I3 j% M
2 {7 c1 q T2 k7 p. \
* T" }0 C. _: r
if(parentNode.parentNode == null)
3 A; O/ V2 o2 K0 x9 w9 S; Y {0 Z$ Y% I* }" z% R |+ O4 B& K
isLast=true;) S" b' K8 s7 B
break;
+ ?. I ^4 s7 V+ C* Y# o# }! j }
* H8 z" a$ i! z; O: _3 ]/ _ parentNode=parentNode.parentNode;
( `! p# l& m* I, {( s. M! e! ^6 E- W parentBgColor=this.getobjstyle(parentNode,"background-color");& Q4 j* d/ \" n7 r/ H5 ^. l
( K% {6 A# t% @2 V4 d
if(parentBgColor != "transparent")
* C5 t3 E3 V+ N4 D- Y1 z6 I! n1 x {/ ?; e0 C( e5 _4 I1 _! u
break;
: y$ D1 m: _& i* [9 Z }
# |0 h! P3 ~$ |9 d5 V: y( r! z) a }# [5 J3 B2 q o6 F
if(isLast) o2 ~$ r3 {: I( ~3 x
{# v% |( i. X& z0 v$ }/ H! P% u. r
if(debug). Z& N. |) v/ O/ W }
{# Y0 f! a( f2 U! [0 m
alert("last!!");
& b5 e2 ~2 \4 Q }
# g: k' g0 R" z( B0 I, |9 u. A if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; H1 r/ I/ L, w' R. G1 q {
, J3 A" w+ V/ y1 R- h- o/ q orgNode.parentNode.removeChild(orgNode); - M1 A( l! u! ~, K, {# Q
}
3 a% N1 |! X0 o3 K5 n6 Q) O' l }
# o2 d8 Z2 ^& J( w4 x2 t else
% }4 l# |) E* L" ? {
w- R- ^/ N0 |5 J5 S! I. u if(debug)4 M/ e! v& c2 J* l2 a9 |
{2 \* L8 m0 A- `, z1 ^
alert("compare color and parent bgcolor!");" m. |! d# L3 T" [
}
; o( i: |8 |8 R( G1 Q) c parentBgRGB=getRGB(parentBgColor);
1 B" { b/ i6 R m" a: z) c$ k/ h! | if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), Z2 Q5 C: O9 ]! n- D% |5 u0 u
{3 `! R9 n( _6 t. L* N+ J
orgNode.parentNode.removeChild(orgNode); 9 y. Y; g, Y. F; o0 |. d+ m
}
, g, u7 w% d" ?9 O. k3 l }
/ D/ _ o' y. ~0 H9 `! z0 _/ R# F }
. K: q) O7 z; r }
4 w( i7 p4 q- r3 Y( O9 m* W$ u8 @: p }0 O) Y. ^, F; [
}
$ q( n2 e( R* S& V " P- N- c2 ]* k, n' U+ |
/ {8 g2 d. ?# s/ ?' y var itemFrames = page.getElementsByTagName("frame");4 J+ \. z% f; z/ ]
var itemiFrames = page.getElementsByTagName("iframe");
9 p; c" J; N" B. @ . F, u. Q; p; t% v
var frame, iframe;- E, R7 S$ n. ?% x" P
if (itemFrames.length > 0)! z: q* u% y# h2 h: |% K
{6 M I D5 ? [9 w$ ]
for (var i = 0 ; i< itemFrames.length ; i++) ( N! D$ R% b+ T, Y. l6 k7 ?& V
{/ @1 Y( I0 V/ o
frame = itemFrames.contentDocument;5 K: J- g4 r. O( f: X- m- L0 W; K
this.RemoveHide(frame,objname);
$ P O* K% C ]6 e0 p6 S) h } l" V$ y. C: o
}: M- t1 w& I+ n
if (itemiFrames.length > 0)) Y, a a6 ^' t6 o
{
/ [# t( X0 Q. y9 P- ~4 D for (var i = 0 ; i < itemiFrames.length ; i++) ! }5 z+ K/ U1 {' k5 U$ o
{* W1 L9 V9 u$ [( C X ~8 R
iframe = itemiFrames.contentDocument;
) a! V4 a$ e8 @9 r! i this.RemoveHide(iframe,objname);
) f, F& b- ?- v; _ }2 V( j8 l4 i8 m4 C; I& |
}
! ?/ N, L5 ~! S! T& ~7 T }
7 r0 y6 r0 J& |: ] catch(e), a l' x9 j1 A, ?7 G. r0 S+ m
{
5 ]3 X8 R3 s, I. V W" E if(debug)
' R" h' k! a7 n, e3 S: H {
3 b' q: Q* Q3 u; J alert(e.message);
& V5 J8 p9 q" p- d/ S }+ T( q& i7 Q$ U& s' E. O5 s
}
+ A1 f! Y# b) h. |% q* r7 \ }
& w% R4 ^; v5 r' _7 X4 H2 E
: q$ H, w9 u* @+ p( S}4 Z/ {) _3 O9 Y1 H; X g( r
p5 w& O2 ?/ I8 @- X$ p9 B
function getRGB(colorString)7 p* c3 D' L: h v0 P' h, N+ D+ d; \# k
{
0 s0 \3 ~) |( ~! T var RGB = new Array;
; v3 L; O& e" h9 K `) t& D7 ]( a var tempSting=colorString.substring(4,colorString.length-1);
7 M8 ]2 H ^: q) ~& o, C2 ~* | var tempArray=tempSting.split(",");
3 C- J0 Q/ m0 ?/ E1 a' G
' I8 G+ O; Z" Q9 N& A8 l RGB[0]=parseInt(tempArray[0]);: o4 c& P. K5 M/ l
RGB[1]=parseInt(tempArray[1]);
& D0 f/ V+ S# n, l8 ]+ z P ] RGB[2]=parseInt(tempArray[2]);5 N d4 l7 O( K: D& P+ j6 t' c
1 d0 z0 _* g3 _% ^
return RGB;! ?8 V+ q/ N6 h+ U4 A
}
& {: x+ G3 U& o2 x8 X; ?% Q) Tfunction keys(evt)
6 b/ d) Y4 ^; Y/ a0 n8 N9 X {
: E: _, G0 s* g. I6 q! x if(evt.ctrlKey && evt.keyCode=="81")
, r' ?3 h9 Y. |2 M! @% L4 y. y { ; @7 h2 A k/ b2 L& T
CleanHideObj.on(0,1);6 ? y1 R, M7 T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 E/ o4 d! G+ a6 j
$ L/ Z. u2 ~3 H- N4 E0 f' \
} / J4 [5 d* R, X; `( s1 G2 G8 i: Y
}
3 a' i% r$ _" P& C- s* ?! j3 ldocument.addEventListener('keydown', keys, false); % n8 [+ P0 X" q
GM_registerMenuCommand ('Clean Hide',
/ d% T, W t" n5 j N8 t1 _, Zfunction(e){
+ Q: a! s# h. M# v7 o9 gCleanHideObj.on(0,1)+ a) O6 u: }2 q0 V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" ^+ T9 D }: x4 g4 j- X7 B
});
! T; y, c# q! H3 F' m |
评分
-
查看全部评分
|