|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' o5 ], Z% N, i3 C" ?9 {# D' w/ z. L% y& M/ @- k$ c$ ~
火狐插件,用猴子
0 b6 C- }# X7 `* q* @% ?" q5 N) A+ U$ V2 \1 C0 J
var debug=false; 8 w5 C' B" P9 ~, P+ t! `
var CleanHideObj=new CleanHideClass();- |0 P% I8 C7 J! \; u- k
, k: A1 H% Z: B- o$ d5 P$ z& b
function CleanHideClass() ( `$ O) ^5 M9 V1 _) U0 D
{ ; Z2 e7 k" Y4 A* u0 X) s! |
1 v. m! K% x5 B6 u" E8 g
this.on=function(id,bMZ)
, s7 W+ y, u- i% v& j" |0 c+ B {
4 [& e, ]9 e" |4 w6 m3 g
/ L) U0 H# J7 x2 i; S; k if(id == 0)
" j- [3 p+ r3 o {
3 G$ Z9 i5 U0 Z- c var page=/* document.getElementById("content").contentDocument */document; 2 A f& `1 {4 u" T' k& Y x
this.RemoveHide(page,"span");5 T7 L2 L7 I9 `! E+ K! F2 e" A/ l) D
this.RemoveHide(page,"font");
. w+ r* B! u3 e1 s3 U2 D this.RemoveHide(page,"div");
m. x2 E1 f9 t: z) P: D this.RemoveHide(page,"p"); ?% F! q5 E4 M( t, L( R0 |- ]$ m
( k, f- [. {4 d: z }' F) w" l7 v# ^0 A! M/ Z
1 h) Y9 |" d9 q9 P( A- Z }
1 [+ G# ^4 x& `# ?" `9 P this.getobjstyle=function(node,prop)
9 J! z3 h* o+ a1 j {- F' U$ O* x' c4 D
try6 o8 `; H( H, B, L
{$ H: l2 y; H f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! z& ?: T& y0 o8 g) o0 ^5 s8 b0 C
}, o8 o( |: j" n( {. `) u
catch(e)2 ]0 ?' A" A8 p, z/ o& m
{% F* L+ W3 |/ b Q- B
if(debug)
, [! _( y6 C6 S( @ {
Q2 z9 z7 i7 i- \ alert(e.message);/ {4 B: Q Z! u2 P4 |. s$ B2 {4 N
}
' ?" X1 r, e( F1 D8 M. x! k * q4 v6 {! C+ n
return "200";* v& {4 m1 }, g7 s' c
}
( }5 ], _6 x8 G" B, G; s }# p5 \, \' z0 u9 J
k; P' n+ o$ ]
this.RemoveHide=function(page,objname)
6 a7 G+ r# p3 O2 Y) B {* ?6 x& D ~3 }' L( W3 _
try( X3 [ h) ^8 O. A/ p5 ?5 R
{
# v( t, A" ?2 U var minValue=15;; C* f3 T1 v) x4 P7 h
var objs=page.getElementsByTagName(objname);
- ]& }) t( @3 u6 V& S7 R7 t* c) `9 s
if(objs.length == 0)
1 ?8 m9 m: ^" D3 J {' Z/ q5 Y1 A! k7 I; a( s! a5 m: O7 {! \
if(debug)5 D5 V1 ?; f: C: b/ Q
{9 K; Q( a. ~: o& X0 v* c; v' b8 U& i
alert("no object found!:"+objname); Z1 m* R+ Q% p6 _3 m$ h
}
4 ^9 `( I$ Y6 v% E1 W4 i }
& Z$ |! a4 \9 P6 n4 C; t9 ^' G0 N else; k7 K+ z4 M: V/ t
{
/ }/ z. {* ^2 o+ {. n
$ L1 x! |7 }5 o# j5 R for(var i=objs.length-1;i>=0;i--) ' ~ v2 M; N; C1 f% b1 J- E3 t0 S* Z
{+ J: t( j% g6 I
var node=objs.item(i); / Y3 m( V3 |6 f4 F. d/ w
1 k& \6 X/ ~# s' f9 O
( b& j( u/ Q l if(this.getobjstyle(node,"display") == "none" ||1 |' v' L# [! o9 Q( T% J
this.getobjstyle(node,"visibility") =="hidden" ||$ ^0 n/ b3 t* g3 M) V. S( s; L* n4 K8 U
parseInt(this.getobjstyle(node,"font-size")) == 0)
) T4 r" i, w+ w/ H8 h {1 Y7 d- W" W7 W" N9 j5 w" H
if(debug)1 w+ {$ M0 `/ Q! i' u/ a
{
2 f, ] u/ V" D, O; y+ h: G! ? alert("remove invisiable!");
9 g v4 ^- o' b& I7 x9 T }
8 j' ?# P& m; `. R# E, A node.parentNode.removeChild(node);
4 d3 Y j/ K6 b' ~ $ X# u4 x* ~! f7 j4 l1 P- a* U
}
, L3 a0 z9 A( w) I$ \ else ; K0 \; O( |) n) c, w, c. D
{7 B4 ]0 k! Y, q
if(node.parentNode)
; J8 ?+ N4 V6 q- @8 [: _( I {' M. }. g9 T/ f8 A2 Z
var orgNode=node;( H" i/ p& T! j! W1 J( G3 k6 L
var orgColor=this.getobjstyle(orgNode,"color")* G3 k9 M' M8 l. z# b
var orgRGB=getRGB(orgColor);
+ y) ^) E' L' X9 X, c& B 8 Y& _1 X0 W, {0 o, y" I
var parentNode=node.parentNode9 Q, _: W, T" I( T
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ G/ `% A( y& ]( |
" \2 d8 O" |) u" Q$ a
var isLast=false;
+ x! ~% \/ i* H% Y& [
8 B3 T8 r" _7 N. x- i+ o4 k8 N while(parentBgColor == "transparent") q! }5 V3 M- Y
{
. `7 `5 Z; M$ q& w X
$ h h, C8 W$ h" ^( K
( f6 c" O0 z# y0 d if(parentNode.parentNode == null)6 m4 m% I, W6 G
{
% u* h9 a3 b4 C3 K' H! V isLast=true;2 K+ D% S7 G" \, w8 M
break;
# v+ J0 Y7 e/ c: f! f U, D! [ }
! E4 O' C+ [8 s" T1 @' a" `, Q parentNode=parentNode.parentNode;
! E' h+ q3 T8 ^$ e) ] parentBgColor=this.getobjstyle(parentNode,"background-color");( D3 e; d k5 L! A o! j/ ]% u+ g
@- }7 I/ i9 {6 O6 R; M. o
if(parentBgColor != "transparent") ( G! r' n6 y1 S
{2 \) d! ^+ M, ?
break;9 P9 ^* a& n" S! G6 t8 I0 o& l& N
}) ~' _$ w9 f. O4 W; Z
}
- _" G/ @% U, E if(isLast)
1 {, i! q2 a" o {
3 s8 h4 S4 |! J! L if(debug)2 R3 O' [- ]' t* I
{
4 u2 @4 q. k) U- L7 I8 d* d0 d2 u9 l' O alert("last!!");3 i; Y) ]2 C5 r/ j; @& h
}
' Y4 z# q0 `" u4 q" W if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# Q) p# h) ]5 [( F& h {& O: p1 F. K) O
orgNode.parentNode.removeChild(orgNode);
8 _6 V$ a# h/ k0 @% [6 v }. s# q+ u8 V8 B, Y" ]
}7 h4 Z; _8 q* k" W4 [
else+ X% E p1 M7 H' Z) h! w6 s# U8 s
{: f% O6 N1 f1 H6 x! X2 L
if(debug)
' a2 f- D0 r$ c {( A1 p( ^* {' [& E. y/ u4 n t
alert("compare color and parent bgcolor!");' |& Y* s8 R0 {
}
1 h. E7 }0 J* M2 a parentBgRGB=getRGB(parentBgColor);
+ B$ J: N. C6 O if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 A8 p8 ?( M! y$ J5 \
{$ j9 l) X( V1 `! ^- t' M7 ]! n- X1 V
orgNode.parentNode.removeChild(orgNode); # ]8 M6 S& @ s( w2 w9 C2 U
}& `( z5 H( N& \
}* j: ]6 E. q. H" x
}( d8 l; m3 Q" p% L5 ]7 x
}
, q3 s7 A1 i- ~6 ?1 _' ]6 Z }
9 a# p+ I4 ?4 e3 }9 h( ? }
8 S0 [6 M3 V; Y- A& M
5 ?. ~+ n2 m1 d& n; t# v# f
$ d8 [4 Y& `' a+ o) z- U0 C/ ? var itemFrames = page.getElementsByTagName("frame");
( L' i* C! n- M. d& ^ var itemiFrames = page.getElementsByTagName("iframe");" p9 H( _; n' a% K) L( X. A/ W
1 n: }1 j5 i) o var frame, iframe;
: f/ m5 K6 ^; Q3 O, D. o5 l9 s; L if (itemFrames.length > 0)" O: p( b8 h- o6 |& P
{0 e3 d" p7 a9 R1 N8 n
for (var i = 0 ; i< itemFrames.length ; i++)
& \- v& t" ]1 u1 I {4 j8 c- G7 V c# b
frame = itemFrames.contentDocument;
! q! {. ]% A+ D; O this.RemoveHide(frame,objname);
. p: p! Z* H; B9 r }& C' w; V" [1 g2 d7 `9 a
}
0 H. `$ k7 e5 e6 `- F if (itemiFrames.length > 0) G7 h+ @$ ?: e. _; C9 Q1 }
{( w3 i n" j& X! m9 r; W1 H
for (var i = 0 ; i < itemiFrames.length ; i++) * |6 ?/ m+ r6 A7 @0 u
{; S; B$ x) r( N# z
iframe = itemiFrames.contentDocument;- d2 Y, B0 z5 k
this.RemoveHide(iframe,objname);
1 s. h/ [8 W8 K* W6 V }# q; C+ M: E4 G7 ]4 S5 O
}
' X2 G! D$ b) k; Q J% p0 k }
6 Z7 {% h. ~. G( s6 x: Q& }" g5 P) l catch(e)
7 a5 X0 m$ D' i {
- l( L$ V( r+ V9 ~/ V% Z/ d if(debug)
' |/ S; n$ A! R {$ r: ^5 R, L; R+ ~2 O' n$ K
alert(e.message);
' ~5 I$ S9 U, t5 A7 t( c }8 i6 {5 O3 ]2 w' \' t* U
}
& R. g7 i9 }8 ?8 h6 R4 H }3 b. Q7 D' H7 m0 D, p1 q+ w2 ~
0 ^- R0 z$ N0 j0 N5 Q; G# ~9 `0 ^$ Z ]}& u, c. c' v! c' E! o$ {
2 v1 t$ R0 ~+ _. g* k! |
function getRGB(colorString)8 v0 W" c! g& j: n
{
8 M F) b9 ^1 v- V; a var RGB = new Array;
2 J1 x3 c% n2 k; {; N var tempSting=colorString.substring(4,colorString.length-1);
' u' G: b9 w3 D b; ~1 Z var tempArray=tempSting.split(",");
! v! S+ x! p7 _5 v
5 {7 f7 ?% C( N. S. b RGB[0]=parseInt(tempArray[0]);
$ u% B ?; k2 C3 {8 y8 c- R5 n RGB[1]=parseInt(tempArray[1]);; E; ?: \4 @' ^) M
RGB[2]=parseInt(tempArray[2]);
2 W1 j) D/ S7 U8 T S
+ u$ o8 b9 g* B! ?( Z' r" {1 Y7 ? return RGB;
- L) U. E/ `! m}4 }: U% b8 F$ Q7 j' Y3 Z3 ` I5 i
function keys(evt) 8 [1 P+ n7 O% @5 [5 }
{ 4 p9 \% ^* D- P% t! r4 M e# K& M
if(evt.ctrlKey && evt.keyCode=="81")
+ l9 Q3 }; I5 A, {2 O8 P7 E { d' y- [2 R2 s6 G4 x
CleanHideObj.on(0,1);
1 ^* w7 r) F& ~. Q) r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; v9 H& |- j, x
- V& M6 z4 @. q) x }
# S( v9 o8 e6 F5 h0 _ } 8 c7 o* I0 H6 ~' T
document.addEventListener('keydown', keys, false); $ P; s6 Z3 f. {3 F% F8 N
GM_registerMenuCommand ('Clean Hide',
, j) Z4 L' E2 a. Vfunction(e){
% ^. J$ {4 m/ e6 N3 j2 UCleanHideObj.on(0,1)
0 I3 A% B P& D% [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; A0 n) A `/ e7 p});
% ]- [6 ^7 t' O' ^. f( L |
评分
-
查看全部评分
|