|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 l* ^% x3 |7 \; i' {. j1 w6 \1 i( ?1 f, j! i" c
火狐插件,用猴子# U# v3 W# q" V( E, a
4 G! n2 D- M& }" t
var debug=false; ' z; ^% W% n$ `0 s
var CleanHideObj=new CleanHideClass();) [; c7 K5 W$ ~" `
8 {/ O4 A5 q0 W) N, u
function CleanHideClass()
( Y4 N6 t% X& g{ 4 l" z/ C; K6 T' H$ V$ |
; ]! i3 {3 O1 i+ t8 \" M
this.on=function(id,bMZ)
& g# @+ b/ R# ]5 J {
0 G" ]: v Y% H- I7 D! h
5 I2 P. _# i) | if(id == 0). b9 Z- h- a( W, s# E2 Y
{
. [9 T0 N* Y( i0 m U var page=/* document.getElementById("content").contentDocument */document; 5 m/ J% Z1 j7 p6 X
this.RemoveHide(page,"span");
5 I" ?6 K+ x: m9 o' R+ L this.RemoveHide(page,"font");: v; D! Z$ M! r& r3 l* R
this.RemoveHide(page,"div");
* ]' g& d: X1 U& H+ b this.RemoveHide(page,"p");, D: e* F4 Y5 l0 O& T: n* G
c( J }5 z9 D% P. j }, v$ o7 S+ e3 V. V1 H1 }3 J7 v
# B4 A# l/ I T- Y+ }& N }
0 Q, O& y. k! m$ W N/ V this.getobjstyle=function(node,prop)
S1 A! D% x3 e1 D" N9 X6 K {. m) \: S3 f$ u8 M0 \
try) t$ R# }+ S; F0 b" w
{6 f- I5 }2 [5 e$ R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 _! `# v7 {4 n9 O+ `! v: f7 g
}+ d* ^& `2 c& A% B# l: u# Z5 l
catch(e)% C& b: H2 v- b( S& Z
{3 M- `+ p4 ^' F1 n' a
if(debug)4 w- r! c: z; x5 g5 D3 V/ y
{' W% ?/ l9 |9 `2 C1 z
alert(e.message);' U: R, M5 Z6 @9 W3 q
}
$ u# e( j2 c0 ?4 b" c
9 ~7 Q9 n8 ^7 `1 a+ @9 q return "200";7 B' w ^$ M3 V0 j- M( s5 Q# Y
}# F% H( O( Q/ c" {% j* _+ _
}, c& |, k9 F5 `, `; k
$ V: [1 U* m) D this.RemoveHide=function(page,objname)
# n, v8 T3 h) Z3 L; E: Q* L {
) r- ~- u5 k& }5 `+ A try
+ L: }( _7 y2 f! Z1 H, K {
. @4 b9 R0 @" [9 C- W% f var minValue=15;+ n% I/ h+ g% U8 Y- c6 t" F/ q
var objs=page.getElementsByTagName(objname);
( |7 \$ h4 [2 J2 ]) v( |$ R1 c7 N' V# @3 j* ?4 F. y7 v: S
if(objs.length == 0)
6 m- p% F- w7 j {
7 ~6 D' c0 |3 T& W# t if(debug)
9 w! ^# {/ B* E0 P3 C {4 o2 x; n9 [/ o+ |4 u# o. u
alert("no object found!:"+objname);9 H* C& u0 e. r8 X5 L+ b
}+ p+ L" A+ Q1 Y! ?# r4 [# x2 z
}
, t8 C: I* s- [# q' u. H else
2 R$ I! T) Y7 u+ j O {
2 ^3 A* ^: K' R
# [+ T6 P2 c6 E, Q2 [4 z+ A for(var i=objs.length-1;i>=0;i--) ) ^6 j' w5 v+ z% p. d
{
/ L. o- R7 L% f/ |7 u' z var node=objs.item(i);
7 v6 i% C$ u) b/ | 2 L2 P) o0 `- w1 Q8 F4 E% t
2 @* S8 J! r1 B; B" e
if(this.getobjstyle(node,"display") == "none" ||% O# K& h3 \" B: b! E$ j
this.getobjstyle(node,"visibility") =="hidden" ||0 [& D. _3 w7 t7 p8 |/ E6 V
parseInt(this.getobjstyle(node,"font-size")) == 0)
9 l+ E+ C0 b ~4 M5 w {7 f7 d0 _- W6 }' i
if(debug)
- M% b0 f/ j/ o {
B: a) `( h+ o) T" z! } alert("remove invisiable!");
; H% V% l$ L5 I5 m }
) Z8 d# p) ^' ^' ^ node.parentNode.removeChild(node);+ P, I0 v8 C! `: W3 R
' f8 Y- q3 k; c4 R# j* c# g
}
0 |# f6 b8 F& O: j4 u7 B else - D( J: C/ Z8 d5 G' L
{# o5 r9 {5 X+ B* ?+ S% n8 d
if(node.parentNode) % l: b6 n% o% r) ?
{
3 S/ e% U' {8 R& J' U var orgNode=node;0 `* V. z- d. S0 a
var orgColor=this.getobjstyle(orgNode,"color")
4 o8 d& F* U \. [ var orgRGB=getRGB(orgColor);
& y( {0 i, q* M. x
Y% ~9 X( B/ ^$ L var parentNode=node.parentNode
! P1 ~' }6 w1 l var parentBgColor=this.getobjstyle(parentNode,"background-color");
, U' b+ f1 x% ]; J/ ]+ K
5 d0 w5 x) x7 t- C4 Y' E8 N2 X var isLast=false;
4 g5 u% c! d. b0 {; `$ e: P% b* [% p) n ; V- j6 i$ n( P* ^) q- u) w. S9 i
while(parentBgColor == "transparent") ( \8 U9 ~- ^, s% L% G3 t$ G
{8 I: `+ P% g$ q t6 x
% r. `0 L: ?- H' ] Q. ^- ~2 T
: ]2 Z: c) T+ y: C% i
if(parentNode.parentNode == null)- s4 n. Z$ i7 i/ S
{
6 l/ Y* S7 M# ]5 J isLast=true;4 N5 F4 l& u+ M U/ ?3 o
break;1 Y9 y1 o' Z, r+ w; Z8 S+ U$ L2 p
}
% Y+ c6 N5 `& B2 V9 Q! z, }, e+ y: F" P* D parentNode=parentNode.parentNode;
: g# v) Z% |; J parentBgColor=this.getobjstyle(parentNode,"background-color");( s7 K; @' e% B! Z+ e) f
6 [; q) ~: b0 q% S; q8 G" `
if(parentBgColor != "transparent") 3 m, `% a+ _! Q2 j- X3 m6 x
{' y- I0 I5 D- h7 }4 L# R
break;5 i4 |7 A5 {6 L' {
}
& ? z7 t& [! R1 E }
" H1 z& T1 F6 }3 q- P$ Y: A5 o& v if(isLast)
- @1 m) m/ y5 o6 l0 h {& ~& z* a# p3 b! J
if(debug). S( a B% G" a: g& I
{! O: a9 R; T1 E4 U6 H
alert("last!!");
^1 I6 l8 C [1 \ }
% F* l; y- m2 {% k" M' D+ M if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' j3 {0 x; |1 R9 d
{
( d' V7 z- D8 c0 E orgNode.parentNode.removeChild(orgNode);
7 c. O; M/ ~5 j5 B* S% @1 } }
- _) T( W! m$ n3 J3 }, j( Q }! e( I( D2 W, ?
else) H) Q. e! Y1 m0 X" h2 r
{0 a& b j& R; f( O# e* y$ n2 k
if(debug)6 O8 n$ p9 e* G. K
{% F! B/ K/ ~- R
alert("compare color and parent bgcolor!");
3 h) a. n; s9 F( D; n }
. B; A( l0 @) k1 ]6 k6 ` parentBgRGB=getRGB(parentBgColor);
6 g2 Q; E. E5 \% ]: ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# k; Y( @, I3 B. ]8 _) { {- K* M3 A$ A' j
orgNode.parentNode.removeChild(orgNode);
/ `$ q+ Q$ O) A& y" k1 q }
/ j3 d; V1 d( I }0 ]$ a! c6 {* D% C, P0 w; {
}; F3 \% E5 d' b; R6 \& F) z! e
}
" Q/ y9 u5 K" I }
7 r3 k9 {. ^; n8 Z. j }
7 q& u6 u' S& d4 Y/ h
1 i {+ p2 H3 i/ z - t7 V1 V$ Q: K! d. l: ^2 z- h: W! k
var itemFrames = page.getElementsByTagName("frame");" s2 V' ^* M' j& Q1 E4 i H& W
var itemiFrames = page.getElementsByTagName("iframe"); N+ _* r L/ G3 I* Y
' M& W4 D0 j0 a: M' Z' E1 X
var frame, iframe;
$ s( A0 K/ j& m3 w9 v( F if (itemFrames.length > 0)5 I6 ^5 L6 Z \0 L6 z8 E
{5 N; \7 L$ Y; f
for (var i = 0 ; i< itemFrames.length ; i++)
* i; A+ W* K9 b+ ] {
0 R; h- _% s4 K, Q frame = itemFrames.contentDocument;
8 T8 F2 |4 ?# |# P this.RemoveHide(frame,objname);
: U4 A8 V/ G/ d% ]0 I" j }* i* X4 \9 l; ^4 [4 O) k# a. g7 m
}
& k. ~& F- D$ Z& f" r7 @1 W0 c if (itemiFrames.length > 0)
0 r! }3 W: y; t$ J {5 i2 {2 T0 O4 m4 T
for (var i = 0 ; i < itemiFrames.length ; i++)
9 T+ A6 s* f8 C6 {! @( Z. D. \ {
/ i3 {' \2 W4 M# \' y4 K. }7 Q/ b iframe = itemiFrames.contentDocument;
; [& O E5 |+ G; K- |& W4 y7 l this.RemoveHide(iframe,objname); $ n* o- D* Q9 k% I' @7 {: G$ W
}
8 S! x; u- P8 N }
% e* D: q: a7 ~. n' H% U6 Y0 J( K$ w }
& g6 s4 x( l' O- ]. V catch(e)9 e4 |& U3 r: N) ?3 s
{( ?& B- Y. `$ p0 s. V
if(debug)/ }7 s$ x# |! I, I3 e
{- _) J% v# {, t6 R( R
alert(e.message);8 b% x! o# Q: \. K e( Z# D
}
2 N6 B6 \- |' c# |8 N, e }+ E- d/ p& |/ ~8 @. [1 m
}
- i2 X$ \& S% s6 e y, R- n. M+ Z1 _+ G
}
, ?1 t/ m1 }+ p* l3 a
# J- {) ~4 U" A, j" G0 V. Bfunction getRGB(colorString)
$ p( C& A) a1 p9 c# y7 A2 T) x{
/ p; l. `/ V- @9 o var RGB = new Array;
) f0 x. o2 f e9 ~/ U% k var tempSting=colorString.substring(4,colorString.length-1);
$ O9 p7 U) T4 G" R1 ^0 y7 G5 L% G var tempArray=tempSting.split(",");
% v& E/ u, w0 y. t+ G6 V
. V3 P- p! R8 r; u7 G RGB[0]=parseInt(tempArray[0]);. h0 p7 [7 N2 ?4 d" S+ `- x
RGB[1]=parseInt(tempArray[1]);/ Y# F& Z* Y& u c- G
RGB[2]=parseInt(tempArray[2]);9 m/ X6 Z# b6 j3 ~ _
9 E5 g: [1 ~0 J$ H, K& _1 T
return RGB;. F2 y0 `# C2 _& w7 \& u4 n1 d9 S6 a
}
3 F0 O, n! s9 P, T P; d( q7 D' B; ~6 Bfunction keys(evt) ) n9 A8 Q9 I' o
{ 6 i! \0 S) C5 V& x/ n+ B3 H; m
if(evt.ctrlKey && evt.keyCode=="81")
) H9 R! I$ i4 Q5 r) J {
0 z; o) d8 @- U1 o$ U4 r' l CleanHideObj.on(0,1);
) C( Z- I$ v5 c- S4 o+ L1 G alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" v: g. D8 k6 o, _6 | + Z* ^3 W; v( m
}
3 H6 m0 L( v6 x0 L3 C/ W8 T! y } 6 |0 D* `4 a: I' F4 i
document.addEventListener('keydown', keys, false);
8 Q6 l9 o3 O1 `GM_registerMenuCommand ('Clean Hide',
7 a# H8 J; m& I" D0 x0 A" wfunction(e){ p: S. R( v2 T0 C. x& N; c
CleanHideObj.on(0,1)
- ]9 K* ~" I1 i; ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 @1 z; O0 R+ e});" ], P* S8 k9 Q
|
评分
-
查看全部评分
|