|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / o* A# _& C* Q
) W" e& F0 E; F* J- m4 ?$ G
火狐插件,用猴子* f8 Q7 ~! w' \4 d0 U% W% g
7 B' n; i" A. }: R1 J4 J% ]
var debug=false;
% N& b0 \1 v- u2 h3 w2 |var CleanHideObj=new CleanHideClass();+ `7 V& C& h6 f5 F4 S8 }) y
6 ^2 Y6 Z/ T8 S3 `# Z1 ~# K! F( Zfunction CleanHideClass()
3 `1 h Q6 L5 T$ k2 ~* f% s2 e{ $ F6 h5 h4 {; J- G* w3 d* B4 q+ O
: I* k% i. h2 I, q, ~0 q+ d this.on=function(id,bMZ)
) A& `# S: [7 c9 n0 M+ u1 T {
| J. U9 B7 }, l: w; _ ) i$ E% x% U8 k; {; t" ~
if(id == 0)+ G# A5 F0 m( N0 J5 R9 b% ?9 ~1 `
{
! y/ H% E( W! ?- J3 x' g; ]8 t var page=/* document.getElementById("content").contentDocument */document;
% {. P% Q- p/ ] Z& ?4 q6 o9 G this.RemoveHide(page,"span");
4 I+ W& a& T: k' g5 v5 L/ D0 L this.RemoveHide(page,"font");
2 A6 k& t: ]1 k" V9 t: ~ this.RemoveHide(page,"div");; K, E% w; |9 X4 X
this.RemoveHide(page,"p");
. Z8 Q" ]0 J2 G- }+ Q' t' I" _- `
1 x( O2 ]/ U+ ^- H2 N# [/ n }7 N9 W7 k4 ?$ }8 R
- ^' g. V5 P/ F3 V9 _( i7 D
}
x% k+ ~" V0 B, k: r9 P+ z: C m this.getobjstyle=function(node,prop)1 {2 ]0 L% ], s! i# s- E: K# X G) v
{5 I1 \. [3 }; ]9 C6 ]5 D5 j5 V
try
% E: S9 {3 M/ F {, V4 m% B5 {; B- J' T
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: Q! l0 Q3 e" [$ `, o3 {% g) D6 b# [
}
1 J {: x: n2 O catch(e)
2 ]& Y R* K! @6 _ {
/ Z* j# |, j7 w, U5 W b if(debug)
6 a3 N2 i4 V$ u2 G4 | {5 Z9 h) O& W5 A7 A3 v* `) V' ~( W
alert(e.message);
* d: B& @5 M8 X5 V: X }
7 B" E6 [. r6 K5 h+ n. s2 P5 t# { $ [2 Y4 k6 e- e5 c2 T! E
return "200";2 s7 m7 a, ~+ {1 z
}+ `% p' @% T; J( ^! n
}
( n* R; F( |; L! X- t5 w+ p t' K- Q 4 A4 O# \, B; ~9 J3 h
this.RemoveHide=function(page,objname)
% ~- r! X( y/ X( Z+ X2 h {
/ b! C, K ~% ~7 K$ N3 ?4 l) z$ e try- a v( r2 ]9 A# Y% ~( w& X2 e% z
{
1 ^, x7 K, e& X var minValue=15;8 G7 Z0 e/ J0 ]! v, p3 x; ^
var objs=page.getElementsByTagName(objname); # K b& n, ?& i& Q/ E
0 x: E( @; P! p. U
if(objs.length == 0)
/ z) q- `# v, \, Y7 q {9 a) Y1 G0 H7 X' j2 U( k( [
if(debug). H% Z1 r. k" k% Q7 j/ d
{: y% D4 R( h& z( c1 R; \' I
alert("no object found!:"+objname);
, @0 n. ]& O2 V7 ]' B6 f4 V }
2 e0 I( U1 R2 F! ^) W1 C6 X4 \ }5 A, c! W1 P! c* Y. {
else, L$ w# R0 K; H: S5 ~. N
{: @6 @ f3 c5 [5 D# R
& Z6 }2 e h& }1 ~, l for(var i=objs.length-1;i>=0;i--) % l, I) s2 ~+ O$ c; v( ~- h/ r
{2 V) }, B' D$ ]3 Z
var node=objs.item(i); 2 `% w' f/ A$ x8 E3 c2 [( y- w
' k! I# W3 A$ j* g * M' v# A1 O+ J- D+ J
if(this.getobjstyle(node,"display") == "none" ||3 J1 A" B& ?6 c, J D
this.getobjstyle(node,"visibility") =="hidden" ||2 U- ]( U( ^1 _
parseInt(this.getobjstyle(node,"font-size")) == 0)
2 d! L' G4 X: C& l {
/ v' g9 \) |6 g! S: A if(debug)
+ F0 i/ v' w/ o* c5 w$ k, s A {- T& y. ~8 Z- i V( p5 }0 e% k
alert("remove invisiable!");
2 o& I3 F( P* e' m }$ Q5 j/ @4 q2 e9 n% {* u6 U! G! x/ ~
node.parentNode.removeChild(node);; O' a( G j" k; [# i* h, t
6 a( W; d2 b* q8 {
}1 r! {4 B" o) X- ~3 z
else
. I* F6 K7 ~) E8 B {
/ z( @$ t* @ \" O if(node.parentNode)
5 y9 y4 C6 h& h {
) t: H" Y* O6 b5 r- ?! u var orgNode=node;
/ m" \6 _9 i2 c3 L8 u3 J var orgColor=this.getobjstyle(orgNode,"color")
# X1 R% ^6 H5 ]% C. \. P/ H var orgRGB=getRGB(orgColor); 6 ~( @% ?# V }: F3 J0 L
% q# e9 |$ L9 s. r- g
var parentNode=node.parentNode
7 s) Y# d+ p) f! G var parentBgColor=this.getobjstyle(parentNode,"background-color");( I% Z2 W" {0 f1 }) F) s$ A/ E
" r2 ]6 G, j; U% A+ a var isLast=false;
- C* x8 \ B) D7 G2 t( x
7 D8 F7 _! C4 d/ ` while(parentBgColor == "transparent")
! z% S9 K( T3 @3 X& l {+ M2 J* I( g: f8 k( Y. X* j
+ z, U0 w; a. s# C" G2 w
+ X1 i6 p% H7 ]6 P ]: B if(parentNode.parentNode == null)
* N9 b9 D3 G0 K% { {* Z: U! i6 X" q8 T ]8 n
isLast=true;; o4 F9 |0 ^; ~
break; H/ C) ^+ U, @, `2 u% {! b a
}0 Q& V. X4 c, ~7 K- _! S
parentNode=parentNode.parentNode;: F+ C" V4 d9 b4 Z/ C# _" K/ S
parentBgColor=this.getobjstyle(parentNode,"background-color");1 |7 \8 d3 {, l; @8 ?
, |. Y! Z, K( ^' i
if(parentBgColor != "transparent") e+ ~! b \- A, ], D
{5 o, I) Q9 s; L
break;
# y4 }1 t1 O$ G' P7 @ d }
) g9 u7 U# v+ ^$ q }8 G- W+ ]2 i. E* d; z% X
if(isLast) + y$ h" f* @( {9 m* `
{4 l, ~% M, _" R
if(debug)$ P$ S- g$ G: d* G1 @/ C
{+ ]* b' P# f `9 }- y _5 R* J4 I
alert("last!!");" ^. g9 S. |) A, t+ J) f1 g
}6 b& b1 U7 ]& u' I: @+ C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% F) V% h9 B+ H0 x, n. w9 E0 l) M
{3 ]$ f; n3 n' A. `5 F+ F, P+ s4 F i
orgNode.parentNode.removeChild(orgNode); 0 q. k: }4 F/ I( B+ |
}! B4 r& @+ N$ I! |6 p) l/ T
}
% P- l, T3 |5 J* y; Z" Y2 O else
" j* b( x. H1 Z. J" } {# J3 L8 ^# G1 Y
if(debug)" `" E& L0 U6 K8 `- G
{' F* y9 m" P: T- Q( x+ z
alert("compare color and parent bgcolor!");
5 h& Z( H7 F2 [& ~+ ~ }0 F; }; F2 ]/ L0 g! E# e
parentBgRGB=getRGB(parentBgColor);
& p% |( {: Z- ` I( q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% w0 O. L4 L+ j. C8 t# I0 D- y1 q {% `6 T' H0 w+ Q
orgNode.parentNode.removeChild(orgNode); " O& Q" I* q; t M5 T
}
; K9 l, f8 h, h }
* ?* A* g* N: U4 h6 q% }7 ~8 R, ` }
" L: w5 n* w! d" p8 K2 J/ v1 x) [ I }
, h/ j2 l' Z* |9 ] }
8 z9 w9 t5 L D7 |/ i9 ^ }% X: U2 |% ^9 `5 d( x& [ S+ y
& }- x$ Y$ a2 Q' D2 d
' q! B% ~6 G( V+ G' Z& V
var itemFrames = page.getElementsByTagName("frame");
9 K# h2 K7 d& y var itemiFrames = page.getElementsByTagName("iframe");
7 Q! h& P8 ]3 F, ?
1 G: [# U4 v1 K. W var frame, iframe;
9 A% h. |$ e( w# s if (itemFrames.length > 0)2 R) n7 @- R+ E# u3 \
{
! ?; [. j6 ~* x# i/ [7 y for (var i = 0 ; i< itemFrames.length ; i++) % E! H P& O+ }# r5 }! G$ s- z
{. A0 ~6 U, l$ b5 h: m! ?
frame = itemFrames.contentDocument;
9 s& Y, B. ]9 l6 f9 E this.RemoveHide(frame,objname); % X0 o+ k! k# i9 x& B7 Y
}6 P z- h% K5 ]9 h
}6 o" Y- ?. {" T' M
if (itemiFrames.length > 0): o4 q4 [) C+ r; g. b
{2 Y( z" D0 j9 Z# u, W
for (var i = 0 ; i < itemiFrames.length ; i++)
; G3 u( _( U% ~! V3 I {9 \* I% r4 Q9 [! V
iframe = itemiFrames.contentDocument;# Q$ z2 e7 @$ S* W6 S
this.RemoveHide(iframe,objname); ( l1 m4 O2 p- ~9 @1 I
}3 A `1 ~2 g' M4 ~% e$ H
}, Q* a3 N7 ]: p( t
}
% m9 D$ {7 c4 F catch(e)
- P! ]: n& U& d { {& b; s; E, I" c* q5 e: K1 `( j/ m6 I
if(debug)
9 z& O* x# I) N8 N8 W, j9 [7 f {+ a( M N# X+ o
alert(e.message);
7 F& z* o6 I% v5 q- B/ I }
- N! ?- g. m9 Z9 T }
5 ~) _# F/ S' s7 {7 ] }# t$ F* S( Z8 y) W3 u4 b
6 s; K/ G: g, O( C+ \}
! @: y' z7 z0 n' ]- G; b* R+ |# J G: i0 x8 j
function getRGB(colorString): c# U" u* N$ X8 p# ]" T
{* a" c1 X0 ]7 |' t4 i4 U
var RGB = new Array;* h; Z1 ]/ I! ~4 r( D* h+ X' K' n3 o
var tempSting=colorString.substring(4,colorString.length-1);( I4 f% t4 V9 w8 F9 {! Y3 i1 h
var tempArray=tempSting.split(",");
' D, g+ T7 Q$ R* P! ^, m ^6 }8 b( v. K
RGB[0]=parseInt(tempArray[0]);, c( k: q' {$ ~& y
RGB[1]=parseInt(tempArray[1]);3 A. {: l+ p- d6 m3 R
RGB[2]=parseInt(tempArray[2]);
; ^% i/ x3 S9 B4 B0 |6 ?9 w9 u ; f7 b/ @5 |6 \2 c! A
return RGB;
- [4 A5 D" X: e4 R" }4 ~" H}, Q" J9 G; M. I1 n/ V
function keys(evt)
. y1 o3 k( \4 c8 u { - n9 R- @1 G$ _+ \
if(evt.ctrlKey && evt.keyCode=="81") * F2 ~/ s1 t \" [/ X- G0 ^
{
5 g& _. e; N3 g; j CleanHideObj.on(0,1);
# b$ h9 _2 c& i( s& d alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" i: B' Y0 H# ]2 S4 W# D
. }( p3 v/ {3 Y } ! Q; [) ?! Z3 U
}
9 X# v/ U' O3 D' Rdocument.addEventListener('keydown', keys, false); + w+ d4 O& s6 K
GM_registerMenuCommand ('Clean Hide',
4 T. o3 }6 g! k. zfunction(e){
! V [4 j8 h2 U; g9 } }4 ?& g8 ^CleanHideObj.on(0,1)
" G. H4 O5 q5 G4 X) q y' ^. e$ F4 w" Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
t3 o& Y, q; @% N7 ?5 K});
: f" L4 d- M3 i9 d |
评分
-
查看全部评分
|