|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- s- a4 z/ u9 _3 e# p+ ?; j: m v h3 | f
火狐插件,用猴子' U9 r6 Y, Y$ g' J% N3 _
' j' X2 [# S$ Nvar debug=false; 8 L+ u4 ]( ^: u, [) ]/ @( [8 T
var CleanHideObj=new CleanHideClass();
% I) h4 k, K; m2 P+ R
. i+ U# I. k9 n, L" ~function CleanHideClass()
# N: b d# r. v7 Z. F" l0 O/ @9 X{
3 |5 X3 ?/ j% d" E" e1 H$ f6 p! N
! ?$ R& R) L0 b: W1 R, C; Q9 u this.on=function(id,bMZ) N: W3 ]1 b5 P) x. e. D
{
& D9 h/ Y! ]1 p w3 M. u
! z5 L5 f- \* M9 o( M1 \# L if(id == 0)* `' ]; j. N# p; G4 m
{* {* r3 d1 e2 U, |2 `7 Q/ _
var page=/* document.getElementById("content").contentDocument */document; - T0 g1 [# [8 \$ c5 [9 D7 B- a
this.RemoveHide(page,"span");
0 e* y6 @' q+ q/ h4 ]( F. i this.RemoveHide(page,"font");
6 B) ~, s+ Z+ }$ O this.RemoveHide(page,"div");
' F5 V4 \3 s0 V this.RemoveHide(page,"p");
9 R- J; I3 \! |; A+ a \5 v6 d; I( y7 J
}+ r3 _# D2 G, n
& N% `/ r* O3 f# ]
}
! N- ]! l. c1 B4 R' f* t# B) m this.getobjstyle=function(node,prop)
/ _" @" d5 M; j' n6 L5 y {
% R; n4 U3 ]/ A& g( }7 d try
0 @# p U6 c9 W; @ {: w% E# M& a6 i3 q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# ~3 q {; Z, o$ @
}6 | ?: d' y/ u
catch(e)
- ?8 z4 D$ I4 c- a8 z7 Y2 H {
5 P& l; M: g9 ^ if(debug)) b8 @- a6 b6 \. d; Q' D
{- [+ M" b" N. v7 [; \
alert(e.message);
) t" F! I( B3 T5 `7 F! d/ d }: B* Y/ ]2 R& T; P
/ j) |# }# @ D2 ]0 q return "200";
! f, m; c F& A( u7 z }8 e, L' n( I0 t* T: D: `" t+ L7 L
}
; g% g" e" |5 `, O
) D3 Z$ x: J' b8 M this.RemoveHide=function(page,objname)
7 n7 T# m0 P7 v0 I/ Z6 K* l {- h* Y* B0 b4 Y! q
try
4 H1 x5 H, [. P3 @( S* ` {: L! `; ]5 j+ h( U
var minValue=15;
( m% v. a; V: I$ A+ F var objs=page.getElementsByTagName(objname); % q9 b! v! B2 g9 k
% t/ B" C3 P9 E2 e
if(objs.length == 0)
|) X: p0 a/ b4 c7 j* @5 o {
7 [: q, c6 o0 }2 f if(debug)+ A! j0 v1 ^: Y7 A, i
{% O: t2 X: W& F: j* _# B) ^
alert("no object found!:"+objname);
/ z) {0 A- e6 F2 e; O0 Y }# _# [9 ^. T& z$ P9 i
}/ d/ l8 o! v! Y
else' \$ o/ H ^# H6 E& x, L
{! w5 k2 i( ]) A: M/ Y; T
# \2 F% b* h& Y9 {; J for(var i=objs.length-1;i>=0;i--) 8 I6 U: G$ ]4 h
{
/ X0 l6 s9 Y! [* l- N var node=objs.item(i); 2 L8 j4 e/ N& V' o) o
$ X+ E3 X/ ~, g1 J, L8 d' ?
: [6 G R) o4 G3 c' S. w! H
if(this.getobjstyle(node,"display") == "none" ||
9 e2 ^( Z6 j$ F* F; [# l) h this.getobjstyle(node,"visibility") =="hidden" ||6 _; v8 ?4 i0 D* O/ C
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 E7 {" f/ a1 O6 m' ^! Q; q/ S! P% q2 @ {& `: |$ D p! c M. F; R
if(debug)* c- G! j$ E6 k7 @
{
4 v& f! q6 V) m6 B P! I alert("remove invisiable!");/ T" W' `: x' Y2 s; i
}
% I+ P7 X9 |+ [0 U node.parentNode.removeChild(node);$ s- Y6 @2 Q. M- ?3 H i p# [& I
" T! R9 f X* ` y% S }
" G, T# N+ \% S) l& m( H else
/ e6 j1 ?/ Z) T3 B m {: D# v% U0 `: I& k9 V4 Q0 B
if(node.parentNode) - V1 s; s, d& r1 M/ K% Q! X" P
{! }: N' E& J' o6 X ~1 U
var orgNode=node;/ f0 w) e, G, l0 Q# E6 T+ n
var orgColor=this.getobjstyle(orgNode,"color")2 S0 [% @2 L( h
var orgRGB=getRGB(orgColor); / L0 m; G2 O" e0 d; I$ E8 V: `
' w; E* t, {/ v( v* v, y! b
var parentNode=node.parentNode
# Q" K- a8 P' T- W; G var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 |# F% f: e" j. K* H : J6 p% d, A" \; h
var isLast=false;
( x8 c6 T N, ~6 f/ J1 v! b& l8 z7 k $ p& I3 d! y! K, E
while(parentBgColor == "transparent")
$ L. u4 _6 t+ a* ~ {# X% N3 ~" r* f- S V5 o! o
- K+ p# D6 |: k0 A; s3 @! l' g$ D ) z& Y7 p+ V7 l4 f
if(parentNode.parentNode == null)' h/ m2 e+ A7 I
{
7 H9 L7 Y- I0 O1 N isLast=true;! u9 f0 S8 ]' R
break;6 \; U9 l1 V" u% q: Y
}1 \6 Y* Q9 c, ]2 I4 Q1 p2 M4 d
parentNode=parentNode.parentNode;8 B6 @4 t# A2 @$ ^
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 P1 s4 {+ b7 B
' }: i/ L9 S: {& r) | if(parentBgColor != "transparent") % O6 ]( h, U" S- v0 c. b! R$ Y/ }
{' A) j/ _8 G" ^( O% e P
break;, @9 R9 r3 |' [) n2 p
}1 r- Q) N& s2 a2 z' ?9 N6 n- N5 p8 A
}
) Y0 m4 F2 d3 G( j- |: I if(isLast) 0 n7 I" ]) |3 N( ?! l
{% A$ r( K, c4 n! i* a' s# x9 S% ^
if(debug)4 O4 V) L% O, E' h+ M5 e% w/ p
{7 W/ I5 Y7 K9 Y$ N; W# w
alert("last!!");
- h, U4 F: J5 ~1 r2 A7 h }7 _; r+ X8 s' q1 I' t; ]" [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 q. ` I# Z& e4 n4 B# u2 I5 q2 v& M {
) F' Z4 n m% C( i4 L( l orgNode.parentNode.removeChild(orgNode); 3 q' T, ^6 J7 K& c- o4 n
}
: }$ R; \% T0 o1 G& t' Q1 f, h }$ x1 Y, z: X1 T( S4 c9 U7 M& [& b
else8 s( F! p; K- c0 s ^ _$ ^
{* D8 A- V1 C3 m: L) Z4 l) @
if(debug)
+ A! I+ f, x1 w% O3 n {) R. q: A, _& E$ D
alert("compare color and parent bgcolor!");0 [( f0 F. |) i+ @
}1 k& `; }% i- H) X& f0 [. P
parentBgRGB=getRGB(parentBgColor);
% o; i+ g5 B3 l. q) x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& X. U4 w; k7 E/ g9 }. M {0 Z! y) E4 R4 ?% [0 W5 O
orgNode.parentNode.removeChild(orgNode);
! g' _; m/ |& o) m, T0 K1 s }7 j+ Z% \9 T1 k3 w4 z: h$ v4 V
}! m, c: f/ }% a$ o& ^
}! z; A, J% f1 c- g& L
}
) @) C3 B5 D J0 t/ `0 Z! N }
; h) ?5 k: Z- V0 g2 f" d+ Q' l }+ @$ k5 t2 q" U& r
) q8 }' `2 v2 r! h; C9 ]* ` % Z& W0 Z+ i# K: _, a! w* K
var itemFrames = page.getElementsByTagName("frame");/ L9 j/ L4 v- ~
var itemiFrames = page.getElementsByTagName("iframe");" r S/ k# {. D3 c+ P, j- L' u
- @ x* c) P9 ]
var frame, iframe;
" X( w9 y% C3 `3 J# o4 y, V$ d if (itemFrames.length > 0)
: l* v/ L+ E7 d0 w {5 l6 E, }% L. O( d2 `) n
for (var i = 0 ; i< itemFrames.length ; i++)
5 J* X% Q6 E9 @, n) A1 _9 z {/ r6 j' q& e1 q$ E$ F& a' D
frame = itemFrames.contentDocument;
w7 K/ l; q0 C# _ this.RemoveHide(frame,objname); . S" f H4 {0 |* D3 w' d
}' Z4 }. K3 }4 n1 y3 S5 P
}
( u8 h; P P* U3 V, V if (itemiFrames.length > 0)
1 G$ A, A7 _4 {6 R0 { ` {& w( q& }7 A& h
for (var i = 0 ; i < itemiFrames.length ; i++)
7 I, B# i- _# T* Z {4 {) y- E6 f9 _6 s7 I: F
iframe = itemiFrames.contentDocument;! j& C7 n2 A$ T! T
this.RemoveHide(iframe,objname); # ~$ k9 v4 s- L( D4 m
}
5 b/ ]0 D% f2 q, H# D# z }# H; q% F6 l' p: k+ D0 t* n# s4 Q
}- e1 q: ]- j0 T1 w& D) c
catch(e)
! M0 `; t# ]% N- \ b5 V {! X2 ^1 ?" E; S4 Z
if(debug)
" Q+ x! A# f/ `" l {1 \8 l) B# P& {) R3 l
alert(e.message);
# _- B* f% O% B3 C) F' ` }
( n. w7 r7 [! S% ^ }; q5 F; S$ ^! Z' C" c, w
}$ w' s& y+ Q& y& y' f$ `
9 o% ?; _2 `% X9 c* n1 [}
$ e. M" V; C+ `; N6 `9 r# o: C4 }
5 m( u' U6 T) F6 Wfunction getRGB(colorString)
; v5 J5 t; g. Y{7 f& E# E5 i9 X& K9 e9 B5 d4 f
var RGB = new Array;7 u6 q8 `% P2 g! G" X$ A2 J
var tempSting=colorString.substring(4,colorString.length-1);
$ E3 K5 \$ }' _2 Z var tempArray=tempSting.split(",");
$ v9 _1 M7 `% X' ^8 v
" V1 C9 m: @ d# n RGB[0]=parseInt(tempArray[0]);
0 n' r# X/ l& D! i2 ^1 b RGB[1]=parseInt(tempArray[1]);
* d/ a6 H R* _1 Z RGB[2]=parseInt(tempArray[2]);: f$ _" O. f6 m
. ~! C4 T6 x- r! V4 c$ Q
return RGB;
/ ? K9 K [6 `* @}
( H" M6 L+ x5 \' Y! lfunction keys(evt) 3 n5 q% S3 q9 G* w6 L
{
7 A" f- s9 G0 S4 n) e% K, T if(evt.ctrlKey && evt.keyCode=="81") 8 W5 F# a& j; C' j
{ 2 y2 F/ D$ C# d' a4 ?: q S( u
CleanHideObj.on(0,1);
- n* o2 B! Q' a4 J m. D( x alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 c( t4 B" T, j% e$ ~# C; u
% h, _, i* k2 I) p! v) }+ V, Y } $ K! W$ n7 l' C5 ?/ n; d
}
# [' X; G) C, O4 _document.addEventListener('keydown', keys, false); ! x$ E1 z8 a8 K9 f+ h8 w* m
GM_registerMenuCommand ('Clean Hide',; w% a& r2 V( k/ n( e& d1 J; J% ~$ |
function(e){
6 n5 O1 m4 A& h6 V' OCleanHideObj.on(0,1)
. M% N, M0 F; zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' Y H- G/ l4 Z* n: H});6 M6 h1 W# a' m" E4 ^
|
评分
-
查看全部评分
|