|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # }7 `3 e- j) v# G; ~. G0 z
% W' `! s' K6 r/ l L
火狐插件,用猴子
: b, K+ B* x: c
8 e0 y2 m. u. m* x0 @8 G& dvar debug=false; # x3 C+ ]& b! k8 B b
var CleanHideObj=new CleanHideClass();
/ ]- }; \; Y. O( q9 Y7 v! U: b4 F; ^
function CleanHideClass()
2 P8 Q! X5 g( f: v: b( W{
0 @* v1 v$ \. c + `- U" k @/ S# c1 E5 r ~
this.on=function(id,bMZ)
# _& O$ W+ Y; u% \ {8 Y0 e. Z( e% Z3 D8 V
s- Z1 c; H/ p) z+ o, T E if(id == 0)6 i6 q: g' Q7 D" w! Y0 P
{: Z/ u/ Y8 P2 x2 b4 [
var page=/* document.getElementById("content").contentDocument */document; 6 V# ?8 j; P2 i/ i' B+ A
this.RemoveHide(page,"span");2 _2 m& T, s1 l, ^) y' }
this.RemoveHide(page,"font");
1 Z. [: m$ H: [/ i this.RemoveHide(page,"div");
/ |! D9 c/ U7 L% t2 s$ Q' k this.RemoveHide(page,"p");
9 q6 l9 W: y, f7 [4 G9 s" y ; m9 L( n/ q& F: _
}
' E0 T+ j% K$ P/ H7 N) s * c2 `3 X! a. C
}
# w8 z0 z7 x% D z4 Y$ G# z this.getobjstyle=function(node,prop)
' w4 a, B4 [, m5 ` {% b$ `2 Y" C/ O( b
try. b+ e. c+ E! v# ]9 w
{
9 A! n P2 P0 V: r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% d6 N u$ B& ~ }
6 k6 D- y+ D+ j8 k3 F3 t9 n catch(e)
/ }6 ^9 j6 q3 X9 z {
& X% A" Y3 w) x0 ?8 s* T1 r5 U if(debug)* S$ a3 K* p5 j3 M
{& y k$ t1 y d% {8 g
alert(e.message); F \$ {1 L' i {0 f$ ?9 c
}
1 t0 e; O4 V; f- K' \ 6 G7 q8 R* `/ _5 a
return "200";8 S. `* M4 p) h3 I; d' y
}: O& |$ p3 p# t$ t. O; ^
}
! ]: o' ?! r; T. i
/ x& V$ o( u1 r! B- U this.RemoveHide=function(page,objname)
3 ]# l) X+ i2 I {
/ K0 Q8 P, Z( O' P try
: `# F" x A1 @) p: E6 v {
6 r5 E1 F% R: D var minValue=15;
$ G/ t$ k# h* C4 R var objs=page.getElementsByTagName(objname); 5 f* W) z9 l8 ]6 K. m
* x# [" d. g Z2 { if(objs.length == 0) ( M+ E1 P- _5 ^9 \+ v5 y
{
+ J1 j/ e h1 q3 Q1 K6 O if(debug)1 w* A& g: s* Z/ x0 y' W, T
{2 a4 m j+ M; G) q9 }% Q
alert("no object found!:"+objname);
6 n' i. n- w2 D- @1 H& w# ?' U }
' S' |9 w# w. q* O }2 J% f* _9 p; s2 g6 s
else
9 y4 p2 U3 L) v {1 o; m8 Q1 R# l$ u" b
" U) G# ~# ]9 i& A# z& u
for(var i=objs.length-1;i>=0;i--)
( g* J: S% u! J1 U8 U% D6 D I {
- C* I4 g& y4 p% W2 z! G, A1 v var node=objs.item(i); % U$ T6 ^1 i6 W
5 o8 o8 C s- U
: F0 \6 J* p' U
if(this.getobjstyle(node,"display") == "none" ||
0 [2 M* W0 g4 G this.getobjstyle(node,"visibility") =="hidden" ||
; `; X0 `8 o2 d" J parseInt(this.getobjstyle(node,"font-size")) == 0) / e6 _. t3 q6 C3 h; d/ P8 e% P" b# G
{
, [% R$ m4 F% o/ d if(debug) N# K# o5 \4 o1 B, U
{1 o5 ^$ t) V) A
alert("remove invisiable!");& S8 p4 e9 A5 n! V' _" L% h, P
}( e7 L( L) |8 d: H: c9 U+ g
node.parentNode.removeChild(node);
) \0 W) f0 H# Q3 ]7 u! \ 7 ]2 L$ M6 w5 `$ g8 [
}) D5 R7 w# x- b$ y9 t9 u) A1 H
else
3 j0 N* y4 V, Y( K' l* [: N: f% l {
- w5 s: H0 g. d% X if(node.parentNode)
" k# v: Q/ J9 @ {' k- g2 I: x; {& Y- [# q
var orgNode=node;
( e h k0 l7 D G G var orgColor=this.getobjstyle(orgNode,"color")
% {% e; I* s+ Q; S. p8 l4 Q1 c3 B var orgRGB=getRGB(orgColor);
C- q E( V# j, K$ l( h* W( A* v * H% u% ~3 Z. ]3 y8 w; _
var parentNode=node.parentNode
$ l Y- P: U# X% Q5 T- o1 |, T var parentBgColor=this.getobjstyle(parentNode,"background-color");# y# i. [& u) t1 S2 ]7 U4 y0 }
7 U b- k1 e6 G5 H6 G var isLast=false;
1 s$ G5 t- b5 m1 X, ^
( i0 H( v: N" F( |6 ^% p while(parentBgColor == "transparent")
, `1 w# G r% d r2 C% o/ P {
/ Q& d/ h8 D1 I- o- a( F
; Y/ }$ @& ^: O2 G ' V! T) H! w# a9 t+ H! v: x; ?
if(parentNode.parentNode == null)( d$ Y7 a+ W2 z6 D8 @1 ?' a& T" I
{
* c0 ]: _2 ^) X isLast=true;
( Q$ U9 B6 l h& Y% n break;
8 \1 ~9 b5 p7 f+ d }6 @2 w& W# ^' z8 i) P
parentNode=parentNode.parentNode;
& ~/ Q, s5 |6 V% K7 B parentBgColor=this.getobjstyle(parentNode,"background-color");
) J& d" R* q3 P0 T% D' K! z' W& X- |
if(parentBgColor != "transparent")
' x) {- R4 x( @ {. I. s3 u7 ~5 E/ ]. c( O
break;: a; `% n( u6 I0 q" q2 o: w* v" W1 d% {
}
& O7 T( E0 t+ O4 A }
; T0 l3 E5 j! f if(isLast)
) N5 U5 }: g! h( S6 \ {' A% q( G% ]* h, f8 X9 s0 D
if(debug)
& F5 j6 F; k: _+ H5 l {
% ?' J: _4 w" v9 D% d M6 I0 e alert("last!!");
: g2 P1 J0 f8 M7 B }/ E& t& ]/ ~$ n9 o5 A0 x2 R: S, o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 z0 w( D3 b9 F {
' N3 ^) G) ]+ ?( A) z# d orgNode.parentNode.removeChild(orgNode); % I. [. f2 e) F5 j
}
: a) i/ w- |+ `$ x! O( Y }5 x% ^, U- p s! N2 W c# ^
else' t; I+ Z' d& X! W
{
& ]* ], Q/ X, A& B if(debug)- ?! h3 f2 b9 |1 I
{: c( Q* V4 B$ p
alert("compare color and parent bgcolor!");
1 ?6 i$ O q" g0 R }
3 s% r; V3 x4 }. x2 Q' U parentBgRGB=getRGB(parentBgColor);. V" S4 E% c! x& g$ K
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), N. g2 j, O! X% q! v/ s8 j( L
{$ w$ K6 q* k$ S( q
orgNode.parentNode.removeChild(orgNode); 0 p, G) Y8 c) u; B( G1 I2 v9 \
}
; N' [- z- X& B; ?/ u6 y, u8 m }2 [3 x% p) @$ j3 }6 z
}( E4 h3 b% j( T# L
}, H, [7 D! w. Z) m2 D" I5 C. c
}
5 {+ O6 M7 ]" w5 o }
, v) h# G4 L$ a$ N
. S/ x- r4 q- m9 l' ?6 \ % t! Y% A! r' H+ r$ Z/ J
var itemFrames = page.getElementsByTagName("frame");
5 J0 D. k( f$ p n* I5 G3 D var itemiFrames = page.getElementsByTagName("iframe");% R3 P$ k) y2 b* A# b) h
0 \& \! Q' }' M0 q! t var frame, iframe;
9 B0 L' a$ _" O! u if (itemFrames.length > 0)6 c' y( _8 i' p4 Q6 P6 H5 U* v" i) J
{' ^, d- d+ g" H# R6 ~/ d, P* g
for (var i = 0 ; i< itemFrames.length ; i++)
9 s; N3 ~" L" g {$ x, j0 V3 k( B/ n6 w! t2 D/ I. ?
frame = itemFrames.contentDocument;
1 I/ p- J/ T6 h( h5 c8 p this.RemoveHide(frame,objname); ' E- j) C, v1 t6 U5 T' F
} j+ }8 O- U8 o' ?
}5 M0 [0 ~7 i6 a% L- \: Y
if (itemiFrames.length > 0)
. E0 T6 }3 ^9 K6 W2 A' V( H7 V0 i {# W2 Y& R V( |# N. d
for (var i = 0 ; i < itemiFrames.length ; i++)
& e+ g! }# C) o4 p8 K5 P( ~1 I {
0 X" `& D+ C8 g6 F iframe = itemiFrames.contentDocument;
: }) @' l& ^/ X; _# l* m this.RemoveHide(iframe,objname);
' j! e7 s1 t1 n, Z4 A+ Z }
6 z% Q L! I9 C2 r2 \0 G) p }
- E1 y+ N3 R' |9 X }
: v, g4 l& n/ r. R catch(e)7 W4 j6 s8 b \& U
{
: [. `: \7 y: M' G g if(debug)' D* |8 F: W8 N
{
5 ]6 @; n( j' i+ L$ v alert(e.message);
) e2 F3 n8 a. G0 K4 L$ x' L$ D) I }4 ^5 s8 B+ m/ B, I- ~1 F8 w9 n
} y; }+ M$ h. K r0 Y
}5 i% T1 c" [( O: a
1 q0 g [7 i/ S3 z: b
}
+ n9 W: v/ G$ I3 a3 X: L) ]. I3 [, K. F' o f
function getRGB(colorString)1 g1 @; D1 T$ T$ Z
{
6 P# @; d' W9 O6 T+ t: W% O. A6 A var RGB = new Array;& b; m- j* K5 q8 K
var tempSting=colorString.substring(4,colorString.length-1);) ]4 k' ]$ Q) Q$ z; R
var tempArray=tempSting.split(",");9 \( G& h/ M4 R9 e- R# G& R J
) p9 b4 W6 r2 \' x& Y7 b: ~
RGB[0]=parseInt(tempArray[0]);
5 d0 }2 S- C' f% y& B RGB[1]=parseInt(tempArray[1]);
# O0 ~: O9 }& [# y! r9 _/ ^ RGB[2]=parseInt(tempArray[2]);
% I3 `5 y; [/ e6 z
" J; r# F- T; q3 r( J* D. P; H return RGB;% n# S* N/ {+ ?6 c, G
}# k. @+ j7 w0 z6 Q+ R4 e8 G/ M
function keys(evt) , ]# G" }" V+ A5 p
{ , k- d' h8 r! H/ b1 _3 F2 y
if(evt.ctrlKey && evt.keyCode=="81") & j2 F* T" D9 |
{ 0 p* _: G! z% a# F
CleanHideObj.on(0,1);. W5 p; a" n8 k4 E; F! w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ G: ]8 ^# V. G+ ~, w5 S3 j+ V 3 A3 x- Q3 `& S" X
} * x8 F# y) D# G& N1 v R% t
}
Z5 F% W! P' V- Z7 Adocument.addEventListener('keydown', keys, false); ' b7 T. Y: j5 P2 ^$ L0 l
GM_registerMenuCommand ('Clean Hide',' d0 \8 K: W+ @! n8 D7 c% x# T
function(e){+ h8 P9 c- H2 c B1 {$ c# c2 H
CleanHideObj.on(0,1)
4 o2 b8 `4 m8 e2 k3 f- Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! G& h0 X. o! p});+ k% M. c* ^8 ~- b% k
|
评分
-
查看全部评分
|