|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ y3 z" w# ?8 y6 K! j
) b$ l/ ~ l5 n* y9 m) P6 p火狐插件,用猴子2 s, y0 k( H& w
: U+ n, n9 F6 @1 r
var debug=false;
7 w; }4 Q8 }- Z3 z; lvar CleanHideObj=new CleanHideClass();
, r4 }& S+ Z6 b/ h: Q6 L& H `/ e5 s; G
function CleanHideClass() 1 `: @9 g$ y( p- W
{ * u* x" o) A8 `+ ^1 F
7 Z9 K* S: b+ X- v this.on=function(id,bMZ)
& y0 w$ Q7 p9 B" z6 C4 g J5 } {) K. F0 V( x& E6 [: O/ s( S+ Y
9 q/ M# E) H* U n) t1 c# M5 T8 Y if(id == 0)
9 v c5 F. ?: J' [% R {
, n0 k# s0 j. r: S/ {3 o var page=/* document.getElementById("content").contentDocument */document; 5 q# W6 e2 `; X$ t
this.RemoveHide(page,"span");
- g" j' o8 {' k: Q4 r4 a& _ this.RemoveHide(page,"font");3 ~) S# J& `- x) D5 x/ o# b; ?
this.RemoveHide(page,"div");
5 D1 g& w+ q" p4 ^ h) H this.RemoveHide(page,"p");3 o2 z' r9 @) F9 S$ f; {8 a1 p7 z8 [
9 H& d6 r+ F; F# D2 ~8 e }
5 S _6 p. O6 @& i6 ^' X
: X! }' M. g/ G/ X7 Q }+ S/ ]1 w' F. Q4 R
this.getobjstyle=function(node,prop)( F! R3 b* x* t3 H
{4 G* W; l/ T0 g- a
try
e7 y& V# v" A$ G* h {# L6 e+ n- `- R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# U) U3 O" D3 _8 R3 J, T
}
0 N$ L( L O3 P; s1 D, ?9 O catch(e)
' j6 l2 V, @# y# K2 r/ ~ {* B, ]& e: U( L/ d/ E7 ~+ m
if(debug)
. e6 {& V }/ W* T9 ]$ H& m; G# ] {
/ Y+ A! O, ?4 J" l1 B2 o alert(e.message);
. f+ [6 U) A0 q) @1 P, w* C, A Z }: G& E$ Y8 X& f3 P) v1 I
) ^* o) p$ b% }
return "200";
9 E6 G6 D: p9 M+ h6 { }
1 {- p! f2 ~+ D! m/ N$ u" g9 c }9 q: T/ X. K0 b0 V( t
: _7 b% v$ B3 ~' j" ^ this.RemoveHide=function(page,objname)$ Y) M; k, \5 k( p5 r# _) D
{
6 r* P) m% C" u( ^ try: X2 o5 [4 o) [; Q% W$ }
{
6 Q- \& b# s+ Q9 e+ F var minValue=15;
4 {: U, M5 F, ~ t* t var objs=page.getElementsByTagName(objname);
1 I9 g* @- Y3 K, L2 ~( e- E& l+ h" p; [2 y7 }6 z C4 ?9 R l
if(objs.length == 0)
2 [& v6 D# B/ r# G/ k" R; u {
$ \ P( ]) n. k* p4 S1 G if(debug)8 Z& @+ e2 I$ ~$ T: u
{
" u( G. }" B) E; e$ U alert("no object found!:"+objname);0 f$ b% N- i6 @+ |) i
}
# O5 t2 n% m4 M1 ?* ~ }
. }% F$ e! U( I4 ~3 x- h else
+ F/ w Q3 f( I. ]5 u- ` {$ B l' ^- s/ P" C3 M8 n
9 {# ~- p1 v9 Y4 ~5 M; _3 D for(var i=objs.length-1;i>=0;i--)
& V9 s2 i8 y. i, N. V: J) W {- e5 ^8 Y9 r# D+ C$ \ _
var node=objs.item(i);
" m: ?- q/ I& t$ \# _
7 J- H4 a# r/ p- M L' t0 s/ N3 a& z+ s0 Z3 {
if(this.getobjstyle(node,"display") == "none" ||7 ~9 j& r4 o, X6 S) e
this.getobjstyle(node,"visibility") =="hidden" ||
( W' ?# [7 j0 F( a parseInt(this.getobjstyle(node,"font-size")) == 0)
3 n, v9 N2 K' P* R/ \. Y8 t {8 c7 s, n7 X9 f# R) N
if(debug)0 S$ W# A* l+ J3 ?' ~( I& `
{4 b# @/ U, } u" C: W5 M& b
alert("remove invisiable!");
' b: W w; |! E( y& i, d* v8 P& y: U }! o% m9 ^! C' \9 A
node.parentNode.removeChild(node);
9 {/ m: X' A4 d* z V + G( m7 j3 k R4 @8 g* X6 S
}
( M% G* V# b% o9 M" J# o else * `7 T, @/ e8 z: C: K `
{
4 p8 u; t+ O2 J5 B! E& \! w! ~ if(node.parentNode)
. \: q( d5 K( L( h {- g; F, G) s2 p3 J, I
var orgNode=node;7 L) b' _: _% @3 \
var orgColor=this.getobjstyle(orgNode,"color")
+ H0 p1 _4 q' R3 P: f1 W8 F7 h$ z var orgRGB=getRGB(orgColor);
7 L1 J* c5 c# ]9 {" ?8 m( l) ?
: \1 T* z+ N' g- r var parentNode=node.parentNode5 v2 [8 F1 t+ b7 @
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( v k& {5 L8 R3 s# Q+ v
& N1 D( e, L- @' F, j9 z6 y var isLast=false;
* }% ]# C6 Q- s- f! E7 f
- n E! }7 b! z/ C7 ~6 c while(parentBgColor == "transparent")
- @, ?6 T& X2 Z3 ]8 G; w5 T {% j% d( s- h' X0 W3 o7 i" Q4 w
8 m$ G/ V2 M: \8 L3 s$ e+ `8 _+ S R }% l; w) Q8 Y
if(parentNode.parentNode == null)
6 u p/ k( K% W' ]! b: g: q% k {" n( d' b% n9 ~8 G/ L' U/ r
isLast=true;3 f$ P$ I5 e0 O( u1 e) Y3 a
break;
+ H' Q9 z- r( M" ~3 V0 w }5 p8 p+ N& [# l8 G/ @9 _3 L2 ?
parentNode=parentNode.parentNode;
/ A. a% a" F' | parentBgColor=this.getobjstyle(parentNode,"background-color");
6 ], W4 j) _% J' `8 B6 p: ?$ W
q! M; r; V; u/ m if(parentBgColor != "transparent") * C3 {) E2 ?$ i
{3 n/ r) Y4 ^: M w& |
break;
; ]* L4 W7 j5 r- C5 o }
; A# J0 ]* R3 F8 }$ H$ a; L% v }
* `$ m: X6 o$ i) s4 z2 u* s1 [ if(isLast)
' H& r9 w$ `' }0 m5 G {
( t$ i: O ]. `7 A: a( E. W if(debug)
' X- k. z1 w, ^8 n! h; ? {
/ o8 F( p j; g/ s6 E/ x. n; U. w alert("last!!");
5 `* o$ l& m) r6 X }
1 ^: o# b9 T6 @5 Z0 {+ p if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) h9 U0 @& N7 O! c" Z
{
. C6 g3 f, a3 y+ M* Z8 A2 P orgNode.parentNode.removeChild(orgNode); 8 i. Z" `" G: c7 O/ f
}
6 N: r* L# a- s) e) p) x6 A, P }
: ^ W6 A, \4 l else$ P0 _6 `# ?; ^5 \
{
* d- a/ j% |0 E% Q" [ if(debug)! U: h' I9 R2 f) m) F
{
% e+ I& y L1 s, @5 S! {2 C0 ~0 I alert("compare color and parent bgcolor!");
3 M7 c; `8 V5 E5 \ }
3 b+ S. u/ x0 \4 ?5 ~1 ~! t parentBgRGB=getRGB(parentBgColor);
1 ?. f0 `$ h' ^$ I: |9 R4 `2 a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) v' y8 G0 `. Y) e! n7 {/ O {# w M& k4 |: E1 z$ j) x% I
orgNode.parentNode.removeChild(orgNode);
6 h6 q1 Q j2 X( }& O$ E) O: I }* ?0 Q4 j6 ]2 Y
}
7 o5 [4 M: e/ G. `5 i) C$ w, l( W }* Q& t5 u% S' C5 A% [
}
$ v, y% L/ x! X# ~' {5 s3 M% r }
1 a, I! l$ A4 J) S1 x! C: M }9 [* n: d( V1 L& q' H
8 d$ E. y' L4 G6 g9 ~
, V5 @$ g. ?0 ]1 N( U( M8 r" I# b var itemFrames = page.getElementsByTagName("frame");
: @$ N; @, l2 l% o- u9 s% J2 V var itemiFrames = page.getElementsByTagName("iframe");
! A! {% B1 U- c6 S, T: K$ Q; J
: y, a4 w+ A" c# B var frame, iframe;
- Y n. b7 e4 o6 I if (itemFrames.length > 0)
5 W* T, m; \, G( `* o& }5 ?* }+ ` {
# l& p( E' u& `) m- e! L G for (var i = 0 ; i< itemFrames.length ; i++)
[5 f: J( k2 \4 k( D$ ^ m" Q8 k {$ u4 l6 _; C0 S/ a1 R
frame = itemFrames.contentDocument;
3 V6 S9 L3 N6 M5 z; }' H this.RemoveHide(frame,objname);
7 O) i" F+ U' d! @ d }$ n, f# `% b8 [ q( s
}( n, b0 D5 @2 s
if (itemiFrames.length > 0)* X; |. h, C) e8 F# O. \
{
: A2 O, [: i% [& v5 u for (var i = 0 ; i < itemiFrames.length ; i++) . m3 A. o( i5 b6 K0 [! L# t
{
1 s" d4 A( G5 q6 M* f4 {# v2 f+ P iframe = itemiFrames.contentDocument;- @, }0 _+ S) y6 ?0 j! {
this.RemoveHide(iframe,objname); 3 f5 A5 \0 }1 @! P! [/ e8 r$ P
}
0 f4 R$ [. j! E$ m% b4 n }
' a) z' d. c+ L7 n: L$ d6 y5 Q5 d }
7 o) h; b5 q a0 [1 j catch(e)0 {2 v- j8 O( [' g+ v
{
" ]( `! C- E# m if(debug)- }- I6 p9 V+ }1 q4 J' C
{
4 W) c; V, X9 f4 f alert(e.message); G' k; z5 f3 c* v, K
}
% r9 X d# [' k3 M }& F; v8 B/ l2 q* R
}
, a, y+ O3 _( A4 \* ?
5 v1 X6 ]/ Q3 z) w- n0 q# i}+ R' d5 o* j6 }3 z' v% k
/ n Y+ G! o9 A" dfunction getRGB(colorString)
2 I1 n( \* f; B{
) x9 X2 g* H8 B: U3 z% l: z var RGB = new Array;
$ G! Q, ]( \9 k4 Z var tempSting=colorString.substring(4,colorString.length-1);
. R: k! G$ I0 z& _) T var tempArray=tempSting.split(",");/ i) d- m2 C# r r+ `
# t4 P1 s+ _) V+ X9 D9 B1 i0 M RGB[0]=parseInt(tempArray[0]);
! c$ M; {- ?$ s. l7 L1 E7 m RGB[1]=parseInt(tempArray[1]);
0 I: N7 Z9 K& \1 t$ i& M2 W RGB[2]=parseInt(tempArray[2]);0 B6 g& Y! i4 y5 j' `7 s
+ J! K( f, c* l" X7 v# q) N return RGB;
9 g; ]4 |: S- V3 |}
+ l% z& x4 B' S5 |3 D5 b2 B* `8 Sfunction keys(evt)
& Z9 k+ i/ s. O% P7 G9 t* z { 9 k1 q; S7 T# ^# v, P( l7 C
if(evt.ctrlKey && evt.keyCode=="81") - O/ n! I+ b4 P' k2 V
{ ! m0 S: C8 ^0 X' y) z+ X; x* H
CleanHideObj.on(0,1);
" a" G+ v. N1 i z# B2 u& \2 k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, L. T# E% U& e; z+ {1 t% k1 X+ M: b ! v- H: }* m- n, p0 B
}
9 x$ S0 o- u9 Q8 Q1 S }
% _' X% {4 i2 t1 k" Z* H8 _/ ydocument.addEventListener('keydown', keys, false); / N) f, E& |& z1 s d
GM_registerMenuCommand ('Clean Hide',
/ N* I5 C' d) L6 z- |8 Rfunction(e){
5 j4 _4 ?* T5 u+ fCleanHideObj.on(0,1)
' x* G) l9 [$ B# c$ g% q# Galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 X; A8 g2 C6 O. B
});
$ m' b% G% M+ o4 g8 I% J% d |
评分
-
查看全部评分
|