|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 p* r8 [. y1 e
2 G% a z+ x# _' e1 G火狐插件,用猴子+ y/ L9 Y# t) T* e, h: r# u
8 ?0 T3 S2 b1 E& T' n3 r& O
var debug=false; 4 Z% ^- g) U) h) X# C
var CleanHideObj=new CleanHideClass();' c) V9 w" _6 Q) Z# c; q
, J/ u0 j" h' t6 k0 ofunction CleanHideClass() $ e& Q- j; r- W8 w6 e( r8 o
{ - {+ r+ l: a/ P$ g4 k. ^" C7 g
' q/ z; w1 e$ t$ h. w/ q; {* d
this.on=function(id,bMZ)% o. q6 R- r, D! |
{
/ V' X6 e, I7 |1 \ 3 D+ F! Y% F7 i5 O0 ~
if(id == 0)1 v( z9 `; k2 l3 Y: u: X! B
{
- l, s6 Y8 e8 t% r7 g0 p! i1 Q var page=/* document.getElementById("content").contentDocument */document;
1 U9 ?4 n, q4 L' o this.RemoveHide(page,"span");7 `- f3 E0 ^' U
this.RemoveHide(page,"font");
9 |* B# n+ s& O6 C8 G this.RemoveHide(page,"div");
u2 T2 ^) Z. x) `2 U5 \- k this.RemoveHide(page,"p");
4 I# S3 d7 z8 i- E3 R3 B x 7 [+ i6 |! k; F$ \+ [/ u0 r
}2 c$ F) D3 Y8 N8 F% o
. P7 F0 C! l4 U0 J3 d) R
}
# K9 `2 H$ x9 a7 a* M4 w this.getobjstyle=function(node,prop)' ?8 x! f4 f i+ C, a5 V8 K
{0 C E3 {, C# z$ v( z% x" n
try! {, P9 ]( g& s' h B
{
, H2 K, P7 t4 |2 p return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); X, C6 h! l, q6 \( U' x% ]4 X# m1 u# w
}
* u* r6 T5 `2 P) q! j" G catch(e)6 s) e- [" n# x
{; i; }* O4 ?3 Q, Z7 ]" w
if(debug)# C. I N$ @) y% u" D& `
{+ q; w, u7 V w, Z9 q
alert(e.message);
2 \3 b0 p! f; f; } }
7 w0 p% W3 w" T3 f
, j" m( x1 b0 k# c$ U return "200";
) \, X6 h8 Z( \) q }
7 G3 L1 M$ d; e7 ^( |: { }3 Q) f: L4 \7 ~. r8 x
8 j7 O* o7 a Z1 ]
this.RemoveHide=function(page,objname)
L9 x: N: F/ Q5 T9 b( |4 [' t {/ n4 @! U& e {6 `0 ~9 r6 q6 Q: E5 j0 G
try7 E; T" d! g3 D0 ^. {" Y+ y
{
8 |4 w, u- H7 v( e! ?# U" j var minValue=15;
) ^' v0 a5 I' Q) O var objs=page.getElementsByTagName(objname); ( G, }2 ?. U* [5 w
4 Z, ?9 o' u5 ^5 `3 d& G, z if(objs.length == 0)
7 p0 g2 i: r$ m7 ?( s" }" a {
8 L$ G% L) y* p if(debug)$ g( K6 F; C3 ^! ~8 @
{
8 Y- t* C: R( ?5 @8 T/ K alert("no object found!:"+objname);$ l. d. V2 u$ `- Q& _1 s
}( o# a% S- H# G2 Y
}
, A$ l/ d j" W& ] else
, G" X0 P! V5 O% \ {
* V/ G6 d9 P2 h; a' r/ x1 z. i
. L; U. }/ z6 G9 L$ C& U$ Q for(var i=objs.length-1;i>=0;i--) . W$ h$ w* y. j; b
{
3 K' m6 C5 a, M$ R w, t var node=objs.item(i);
/ E$ |# D! q" l' L$ w& l6 @ M
/ I2 A- K7 u' o ; i1 x% M6 w4 T. B+ o* O# @( c
if(this.getobjstyle(node,"display") == "none" ||
|& {9 O6 ]+ p! Z this.getobjstyle(node,"visibility") =="hidden" ||6 k; l, Z6 B1 }1 i
parseInt(this.getobjstyle(node,"font-size")) == 0) # A( h( _' d0 K4 h/ q
{1 k. G* N# ^% C' v( X
if(debug)
; @3 m) }$ p! f6 {! ? ~ {; ^3 F. A8 K& m1 ?7 [5 X# _
alert("remove invisiable!");
: E X' `/ N o8 Q( | }! b, t0 c9 g, o8 K7 u! m
node.parentNode.removeChild(node);
1 e$ F: d. `5 L; w( B# R5 a$ i 2 f' i6 `4 e" x6 x2 E4 X" P; P
}2 V" H: `' _5 K8 B& ^5 g& w. W. A
else
( N" ~7 Z2 m. Y+ ]* Y! m! s {3 f/ i# H- b) i
if(node.parentNode)
) Y9 t$ H/ N# l+ p2 P* r6 a2 J {
, t5 J$ ^( G" k) W var orgNode=node;1 l; r3 n" Q1 C- ~
var orgColor=this.getobjstyle(orgNode,"color")
6 E4 n/ o r$ X2 M& N$ O( M% S var orgRGB=getRGB(orgColor);
! z R3 I9 F8 j: B% @- P8 J# \ & `5 m. k7 ]8 T* b
var parentNode=node.parentNode# w+ ^. ^' R' A* a# _
var parentBgColor=this.getobjstyle(parentNode,"background-color");, h4 R( i% e7 R O- ^
- a2 p' g5 _" H
var isLast=false;( Z1 l+ c5 Q2 n' o2 E" F) _3 R
2 k$ h; Q, g3 U9 }! m& | while(parentBgColor == "transparent") ( |4 h: V, K' N8 s
{
5 C& P5 q# x5 H+ [, k5 I1 D& |
# v9 g, A7 }. v& p; J. n& b
. `& Q" V! m6 Q- ? if(parentNode.parentNode == null)
$ Q" @8 ^7 T+ d& s' z$ Q! K { ~" D8 }( t, n$ ~' u
isLast=true;6 g6 Q5 K: [" ~9 N7 V5 @
break;
7 e# G% i1 W; s: A: K% c }: u [2 o: U2 }! z D( Y4 x
parentNode=parentNode.parentNode;
! @ ]5 @1 L7 B& S, ` parentBgColor=this.getobjstyle(parentNode,"background-color");
) F; y5 t+ |6 h0 y1 N
8 t4 e- |, w" T, T if(parentBgColor != "transparent")
+ L& f6 W" u% \5 Q3 t {- u' _9 L( x. N7 x
break;
1 @- V3 j3 n' r. o } f Z5 J+ J' `/ Z
}" b# F% P+ f% O0 \* J
if(isLast)
; Y% q0 Q% E% x c$ x {
; F- J* c1 Z5 O if(debug)+ y m2 ?/ d2 z9 Q r1 D# [
{
/ D {( j6 R/ T7 M+ O6 C alert("last!!");# U+ H* I8 p, E3 T
}& }" d& q8 k& `" f }- t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 R9 Y) N- j$ Y% n) p
{
' Z& A6 S3 x& E5 n4 g: ^ orgNode.parentNode.removeChild(orgNode); G8 v& J: [* I% \/ x' t7 v& j
}
7 e( q5 S5 f6 C3 T% `0 D% e }- X: {- n" r( c, W5 c2 W) c; ~
else
) U2 f+ X9 U' w3 {! Y {
( u2 o% M, q4 B9 |; ^" ? if(debug)$ W1 r: x# R- f# u7 s
{
" K5 Z* s6 C/ x3 T6 z alert("compare color and parent bgcolor!");
; }6 s+ e! H$ V" ~, T1 S U }
# V3 z. K* z' M; b0 Y" d/ Z, r parentBgRGB=getRGB(parentBgColor);
! \: N- s8 c' }5 K0 x* k if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 k- J/ P8 p5 |7 e; Y {
+ p5 r5 t" Q6 F% Q2 B4 K orgNode.parentNode.removeChild(orgNode); ) G: E& K5 ], X
}6 p: [3 _& U6 E6 p; X! ]" D
}
2 F4 ?" q K8 x" @( @: s) q* }2 x }# `* } m/ q6 s. v8 i3 b- o
}
, A: H/ T% n0 V. ]2 L } u/ a; l, i" P" h8 B. h
}/ i4 S- p# R" L2 \* G7 b
# I' `, g8 n, P* ~
9 w5 g P0 ~) Y" F& w
var itemFrames = page.getElementsByTagName("frame");
9 B( E: G+ F3 F/ ]% g var itemiFrames = page.getElementsByTagName("iframe");' Y: q8 G+ X. O
4 \3 e& t" a7 k7 K var frame, iframe;, o: B+ l% h+ ^, @
if (itemFrames.length > 0)) N' n8 ]9 \2 ~/ i) `: m
{. g9 T) d- _5 ?/ ?
for (var i = 0 ; i< itemFrames.length ; i++) " G' V8 Z0 l* X/ s# ]+ ?, @
{3 ]7 m: A8 @2 b' r3 ]# ?+ Y
frame = itemFrames.contentDocument;' \6 q2 [( S) v+ R- H
this.RemoveHide(frame,objname); ' m( X& ?- u8 {" v
}
$ d' Q" q; R. K+ _' u% u% c }* c G/ q' \! I" O
if (itemiFrames.length > 0)
3 H; q5 a) F2 O4 v) J0 n {
, O5 W% H2 b+ s* y for (var i = 0 ; i < itemiFrames.length ; i++)
- g( G, b# w& ~) l6 F {
2 p+ p; a% w( G! x+ z+ S; U4 R iframe = itemiFrames.contentDocument;
7 Y& r0 \: @& O& a# d# _; G this.RemoveHide(iframe,objname); ( j; X) \7 f- ?, |8 P, k- E
}; V) t e9 N( ]
}
3 t# U9 R% h+ H8 T1 U1 p }* F f4 F! p& D; T0 k
catch(e)
5 d" E% @3 u" r1 f {: r, ]+ j+ p/ y5 q6 B
if(debug)" [9 `, X X- M+ M6 N, e
{3 [& R! ~, l+ {2 s( X9 u2 s1 v' W) c
alert(e.message);
: o1 v O# E2 k }
# W& h. m: m1 l' x \7 c }
; e; S! t J# G( C- V B2 ?' P* X }& `8 ^6 D) ~2 E' \- M
2 v* E1 ~8 F/ e+ Z( `
}
8 Z; h, f# q! n2 o& m' L H3 o' @+ Y% z( d5 l2 \
function getRGB(colorString)9 Y8 u# Q5 F3 Z% L, @. e
{# m2 i" M/ p+ B1 ~& |
var RGB = new Array;9 W! i+ x4 a3 Y0 |* g! a2 F0 H
var tempSting=colorString.substring(4,colorString.length-1);( K1 G" g: I4 y5 A
var tempArray=tempSting.split(",");
; e( F, ^( O* n" D7 B! x. a9 ?+ H9 [# h6 D$ Z3 X
RGB[0]=parseInt(tempArray[0]);
: l$ N/ L2 H; z! @; h. t7 f RGB[1]=parseInt(tempArray[1]);' c& x6 ^# x! k r, n
RGB[2]=parseInt(tempArray[2]);2 O7 @' ]5 a8 V# m% C
9 A* Z( F& c1 O
return RGB;
$ [& P. H ~+ c( d2 X+ L}
* D/ v6 ^! O3 @& A2 {- l+ a4 qfunction keys(evt) , r8 w1 _- N4 C: N' B" c
{
/ B3 z( X' q2 q2 c7 y) l if(evt.ctrlKey && evt.keyCode=="81") # P$ U% \/ A- W. b" W3 c
{
3 R% t( D: N( P$ N k CleanHideObj.on(0,1);4 e0 p4 t& ?8 Z! u& m% H9 f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- e) I& _$ w' Q" @" m$ Y* e
! o7 o( r! H+ L* r+ T }
, M! v% A( \1 z3 K0 g3 k% Y }
) N; k7 C8 r. j6 bdocument.addEventListener('keydown', keys, false); + w5 R1 ~" t4 g) f$ `% P3 u9 M$ J
GM_registerMenuCommand ('Clean Hide',
: B* w& V. h0 Q# dfunction(e){
, X L9 ?- D6 s( S0 N' t9 r' cCleanHideObj.on(0,1)
- V W1 i6 T& ]3 V) Q+ ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& g! v' y6 Y( m
});" ^& ~+ E& t. Q9 W
|
评分
-
查看全部评分
|