|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / N/ l9 P- e/ ?3 l
& i( ~1 W7 w( Y: ~
火狐插件,用猴子0 Q: } a- L6 X+ T2 J2 \3 {
) [" e/ |: \# J. Wvar debug=false;
" u- b/ Q* L4 r" z/ `' w+ Y/ ovar CleanHideObj=new CleanHideClass();
5 o# t5 C0 X3 l3 ^2 H. v. O/ q% x( l4 p. y1 u# H9 Q1 @( A; [" }
function CleanHideClass()
) n7 B: X$ o; k& L# W{
: A1 r/ |- o4 G& ~- Z! V; a+ n
: @9 K* U" _' K) w" Z, B this.on=function(id,bMZ). |! A4 G4 `# k# y) j
{' S5 D7 O5 Y" ?/ r# L" V
& b# v" y% ?" b' X& S8 c/ {' A if(id == 0)
2 r& D' N2 g( N5 f {) [, N# a- j f" z6 E/ W
var page=/* document.getElementById("content").contentDocument */document;
* X8 B! }+ B% o- U2 e4 Z" |9 Q this.RemoveHide(page,"span");% f M- R. K9 K/ \% p
this.RemoveHide(page,"font");2 P0 j0 U# a0 T0 f1 P; {
this.RemoveHide(page,"div");% K5 @& q! `4 i# {3 x
this.RemoveHide(page,"p"); a4 ~* k. ? o4 @, }; F8 O
! K* g: U, ]% V- ~$ J' ^3 e
}
9 c9 a, c" e4 B% z. m0 C* z 5 _. N( O- Q' W' m) j
}/ _8 J, ]$ D& D4 J% v; i$ N
this.getobjstyle=function(node,prop); w- O, p% r$ q i+ i
{
% d3 u; \- G, h/ n try
; ^) W8 @7 G/ y. U" I {
% H# Q) {9 ]6 _4 F/ }; \2 T; h5 V+ n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" w; c: m! k$ Q3 O; \, O
}
{$ V5 O d3 ~# H+ ?# y1 S) W catch(e)) d. @7 Q5 j+ D* e6 S) E( l
{
: U0 N8 q Z5 J/ E3 X if(debug)
9 a/ f! L( @$ T7 d2 L {# d( Q, w3 s) k
alert(e.message);1 m( o" G3 z2 {# ~6 Z
}/ V" G/ S! Q/ M: ?! \7 ?( f
8 G+ ?, r% J/ V+ a4 S- h0 d return "200";
: O6 r/ y; z; \2 D8 \ }
& M# o: [; x+ O; M }
" t1 m& R: o. E
_% t" D0 a8 L2 [2 T this.RemoveHide=function(page,objname): o- O' D; _- I! U' L6 O
{
: }) P, C1 O4 p, s3 F try2 Q, R" ~# ~! ~ ~, s& l/ @2 H
{
C6 @# q+ w+ q2 n- \ var minValue=15;) c, \: z9 C) E6 @, e
var objs=page.getElementsByTagName(objname);
# k: C9 h! R% k! E4 x& s" ]0 m: K- x; Q* s+ C
if(objs.length == 0)
# F, |$ i5 A: o" \1 O; X {
9 F- |: ^, k, J, e0 [ if(debug)* c+ P/ w- c( D6 o+ d) {
{
! T: j* m- b0 f alert("no object found!:"+objname);8 s0 I6 n* I' q% ~0 k/ @
}
9 W; W. I# R. w: _8 P% c0 G3 L4 y }
' J, W0 j9 I- _! E3 \( s8 u else
2 u& x: _4 g& |0 h4 J' U+ @ {
4 @) {4 c' V8 ^$ O+ y! P# U
$ [3 Y6 \: B1 B+ ], L4 V3 t0 ` for(var i=objs.length-1;i>=0;i--)
* {. |* l2 ?$ w/ i9 r: n9 z {
+ K# ^% K2 |9 y6 s2 f2 I! B* f9 r3 D# X var node=objs.item(i); 4 q3 n. W4 s) a
7 s. @. h0 ~% O0 a $ U( j! |- @% X6 R/ p
if(this.getobjstyle(node,"display") == "none" ||
$ }& n3 `( m7 M% I this.getobjstyle(node,"visibility") =="hidden" ||& x4 L" `8 S& t
parseInt(this.getobjstyle(node,"font-size")) == 0) , P6 O! K3 ?' f @# R
{( `2 d% F( Y4 H- Z9 r" c
if(debug)
) o* ^4 T; j% Z {
- [/ ~* p" S) a! T$ w1 } alert("remove invisiable!");
$ u. ?7 _: j# S" h0 G h }
$ c6 R7 o# K/ b- @ node.parentNode.removeChild(node);
/ i0 c8 g! ^8 `* [7 r; h/ h . g: E% E! D% Y" ` j3 @
} l2 S" ]1 ^. z/ m0 s& x) e* h
else 1 \% v2 @, ~. U: {' q
{
) S/ S# D# n. {& c" P- D5 t if(node.parentNode) 8 M" C+ M6 i1 G7 O& G" I
{, G% e6 O, P' o4 k) S: ^
var orgNode=node;. p: K9 D- E: Z9 A) Z3 N+ l/ v1 t& @
var orgColor=this.getobjstyle(orgNode,"color")
7 I4 h F. p Q, U- [ var orgRGB=getRGB(orgColor);
/ ]/ Y8 h; `/ h q- S# D % Q+ h! f4 X% q, ~4 _: [' b
var parentNode=node.parentNode5 S1 `/ y+ T7 \" V$ r
var parentBgColor=this.getobjstyle(parentNode,"background-color");( M4 q/ K+ k i2 J: m
- ]7 t# j6 _* R! Z# g: e+ Q" x
var isLast=false;
) X! [0 P2 e6 E ( X X8 x" @- K0 a3 p
while(parentBgColor == "transparent")
1 g9 J8 {8 O" Q0 q {! n7 C& W3 J2 i) O7 a5 j: _
0 X5 l2 } x4 ?9 Y5 ~. W- s $ L- P6 C4 o; O
if(parentNode.parentNode == null)
) w' f, Q3 _0 T9 v {( Q: V4 O$ r% C# j1 p8 j
isLast=true;* v0 Z4 J- X7 O/ j4 c- F1 ]
break;% @9 U; ]! Y* V; `" U
}" j9 {% V# t1 ]2 F% F; b3 x) [( c
parentNode=parentNode.parentNode;: i% R" |4 N0 K5 `
parentBgColor=this.getobjstyle(parentNode,"background-color");7 |* ~" T) C* t+ N
7 Q) X# o+ @ T U1 Y if(parentBgColor != "transparent")
- n- _3 q- v& S9 P% o5 Y {
+ |: K& a8 P M, b) p break;
# ]6 P5 V0 h( _4 g }4 C2 _' V0 h. K6 A8 u2 f+ E& Z
}
2 P4 s/ S5 h5 t0 z1 r( { B3 D5 Z. @ if(isLast)
& K6 S) w9 E! D/ E {% G+ ^4 y3 a- o: Y7 k+ O
if(debug)
# D7 {# } N, t' W {
* b! O% _' j9 G6 e3 U alert("last!!");
0 u: M) g# ?5 `1 l a }
% P( [4 y4 g8 T) V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ e4 R# U' f. C8 o5 P. V {/ m. g- f" M% L; m
orgNode.parentNode.removeChild(orgNode);
; j) ~. s/ Q( u ] }
' ^# C4 n5 v [( J& v8 a. E7 l; p }
0 H6 v5 L" w1 i, i4 ~- G else
& e. k/ P$ l0 j# N- C {. ?: Z: B/ c; X; G& H& L: @7 O
if(debug)
7 G, k# z' G9 y1 v {
5 s0 d# X6 G5 g7 z3 ? d; X" x alert("compare color and parent bgcolor!");2 j) ~" }5 A+ U( _
}8 G) T& V* J" S1 ?# @0 H
parentBgRGB=getRGB(parentBgColor);- N5 I7 F6 H) S1 O c6 P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 r) y5 O* I, D( R) q {0 X4 ?. H5 T* f
orgNode.parentNode.removeChild(orgNode);
9 l+ u0 q) o' |" b. C% |+ w- d }( C% F* K, ]" ~
} }$ L2 u( t+ m5 x5 i% ^2 \
}
' E) q. Q3 v3 Z. K/ Q }( r. m) R) ?' S
}
. @+ S9 O6 a6 b1 N7 m/ T- N+ v }
% F" i" L9 e+ u0 S7 Y
" J! n- n7 X2 f+ ` , E" t3 J( K9 c& n: a
var itemFrames = page.getElementsByTagName("frame");. s' L2 q! d e( `* U! g* ]7 _
var itemiFrames = page.getElementsByTagName("iframe");
* Q) L* ]/ T) c) [9 [5 b9 y) e- [ + e& c/ M4 W7 D! f- Q# I& n* u9 Z
var frame, iframe;
1 c0 ?% N4 b! e4 y( ?. Y8 T if (itemFrames.length > 0)
+ T( A& d9 e! v8 T1 ^: y {
- [& h; h F+ K0 t for (var i = 0 ; i< itemFrames.length ; i++)
* F& y- [* M P0 `$ F {
5 I2 _* x, j# |3 B1 i2 x frame = itemFrames.contentDocument;
3 q8 ~7 r/ ]) q this.RemoveHide(frame,objname);
3 c1 [) b: O$ D1 O4 H4 z' \! d }5 i4 i+ Q3 h2 z3 m
}/ I4 H" O8 T1 k1 d& X
if (itemiFrames.length > 0)
, _: H) o) J' G$ [" P {" I3 I* e t3 Y3 E7 b3 Y7 I# o
for (var i = 0 ; i < itemiFrames.length ; i++) . l: l! [) w% z/ S H7 l
{3 e7 A* O, e) j* C, k' i$ ?. @
iframe = itemiFrames.contentDocument;$ W3 M7 u# z) U c
this.RemoveHide(iframe,objname);
) c: `! {0 d& L0 `& J }
" g9 R, s+ ~$ {) P: e" ? }
3 M6 O3 G* k8 H/ i7 E }
3 C& t! ]/ `3 f9 p catch(e). L4 e- W8 u% l5 I) x" ?+ x4 j
{1 O/ G% N; i& Z5 K! `3 b* |( v
if(debug)' }, ?$ ]# q! j( Q8 B a4 B- m
{& {! ]/ o( S5 v0 h2 `6 M2 L) h/ ]( l
alert(e.message);
% J: G5 h1 c0 Z$ I! H1 l }: R; H* p. p: `; ?
}
' T3 D, r& |4 K }
) B3 ]6 ?9 F/ l9 F# D) z1 O- ^
7 M. i; A# f8 B1 [) p {. t}( o( B4 _+ A+ _, L7 A# W$ [
# V' @1 Q- {8 U& x( p: l
function getRGB(colorString)
- [" ^ s0 y* ~% f- }/ q# n0 ?{
* Q+ k! ~1 v) Z: e7 D var RGB = new Array;
. K* R0 G0 |; l) } var tempSting=colorString.substring(4,colorString.length-1);
: S" O/ Q7 K4 d var tempArray=tempSting.split(",");% I7 R* A4 E z
" \1 n; [' c8 g' y2 |4 h RGB[0]=parseInt(tempArray[0]);
3 _# }/ Q& K, u3 I( N$ h% ~ RGB[1]=parseInt(tempArray[1]);
1 ^/ u4 }' C- V$ H* Z# b3 u' m RGB[2]=parseInt(tempArray[2]);
. \+ v4 V! \# c- [ ' q! i; l2 ^8 d; h# O8 F3 F
return RGB;& r) m+ o, {! N1 ]) w% t3 L; S
}
, B( A, I! p8 a" i' N/ i! `function keys(evt) - x- W) B3 S6 p5 u3 w. [7 O
{ / b- s. S+ `. A6 D
if(evt.ctrlKey && evt.keyCode=="81") 3 U# i* E" z; G' Y" I5 H; b
{ ' s: {, }1 r0 g/ E. |# U: b
CleanHideObj.on(0,1);
/ e1 h+ v: D r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 e, ?! k9 ^5 {+ r8 K! x# S+ y" X
! G& P/ J" ]' y8 c" t) | } 2 ~0 R" `4 U1 f& o9 k
} ' U: R8 V8 E% B x' u2 P
document.addEventListener('keydown', keys, false); + m1 x7 `$ I9 X+ ^; q1 M
GM_registerMenuCommand ('Clean Hide',
3 M/ r/ d/ S* v: M# t2 w, mfunction(e){% [4 U- V& m% l8 p. T P
CleanHideObj.on(0,1)1 J5 ?/ S: @- X& t) T( W5 i! Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 Y7 p7 [' h7 \
});6 V) ]9 F% r7 r' d! g ~
|
评分
-
查看全部评分
|