|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 G# X) u. o% P$ J. N4 x- B; @, a( y6 {# C
火狐插件,用猴子
% r8 M* i. y/ i. L# O# p; [- D2 t( X5 {4 n$ y, T9 b6 \* Z
var debug=false;
1 A6 ~% A4 E( d2 E4 A" y cvar CleanHideObj=new CleanHideClass();
5 K/ m7 [$ q" Z1 j t
& m" |/ B8 H, d0 z& O! efunction CleanHideClass()
9 E6 o8 y* h5 H! j4 C( T5 C{ 5 [) L1 I3 [; w- X0 h
: O8 Q" T$ Q+ y this.on=function(id,bMZ)5 a! m* m! O3 d) z. G
{
' d3 a2 Q( t& @0 S4 g% Q$ T ; T9 B2 l8 _7 [7 {) r* w
if(id == 0)7 b1 `, i7 j7 `
{
& U0 P; a4 R# h9 c- W var page=/* document.getElementById("content").contentDocument */document; - z! E, d* O! V! H: B6 N
this.RemoveHide(page,"span");
R3 y# e) E6 h/ k: r3 M) ? this.RemoveHide(page,"font");
9 z' r" I- j6 `) g0 _- X8 c1 P0 m this.RemoveHide(page,"div");" T/ m6 |, C2 e& W. y
this.RemoveHide(page,"p");+ U" p& |& I' |9 X' w
+ p& C; _; `2 y5 _; J& o }5 |+ o! J$ l5 y
* i X+ k. z& v! o& ?8 _
}; r; f5 s4 {; Y5 c- U
this.getobjstyle=function(node,prop)
5 t* n. D: n1 V4 K8 x) c {
9 J* ^, y5 t: d: }2 \0 A try
1 Q; f V# e/ p {1 a0 x0 S& f0 b. H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 Z/ R) _7 `; [- p& C
}. s9 `. y5 v# s/ T
catch(e)
9 x6 }: k: m1 G$ ]3 C {7 E" T/ w+ x, U7 O3 U6 C9 K! j
if(debug)
2 ^6 K8 D$ y& Q- b) B {
, Y* ]5 o$ B1 [+ ]/ @ alert(e.message);
, u, T9 b4 c. x) [( N3 N }+ ^9 e) m% a- b6 v' X$ H" u
) U6 `0 }# X- h, t/ S5 Z
return "200";
8 C* S0 d! f$ X& s ~" y6 v }! f0 R' J1 a( s+ N; n
}* h# L' H5 U8 a8 u/ n$ J
+ i; [4 V7 C3 B
this.RemoveHide=function(page,objname)
1 _8 |' A# b+ K6 k( O* U" ?; P {5 j3 W9 X/ d* @+ Z+ ?1 Y' @
try
/ c. N; \3 K# D7 i {
/ m. T1 r* N/ r var minValue=15;
. i; I1 N9 k0 {& _" o var objs=page.getElementsByTagName(objname);
4 L; L$ l1 z( f9 }8 C( g: m% p+ A; J7 I. R3 |, L
if(objs.length == 0) - h9 T- d5 K- i" T
{
$ h7 `; E9 s* K L* l* W' J$ A9 b if(debug)
2 _1 e7 M6 F0 P( r) y' c9 ] {7 p( R0 B! j& M
alert("no object found!:"+objname);
1 ?- l2 w1 ?6 k3 _& v0 F* t* ?' g }6 L8 a4 n( b( J/ u$ v
}$ e6 [9 \( |. D$ a! O9 M: ~
else
, z$ `; k7 l* ^% ? {
: a; V- M a4 u% N4 x 6 L: o! p; C* T: P7 \" u, l7 Z
for(var i=objs.length-1;i>=0;i--)
- n* m1 B1 ]" e8 G2 X {
" l7 N4 n" F9 s0 G c/ o3 d1 F! s var node=objs.item(i); ( L o' [2 _+ X0 m& S4 x6 b
! g+ h9 Q9 a2 [( W! {! K4 a0 ~ : Y* \, [* A- r
if(this.getobjstyle(node,"display") == "none" ||( ~& {0 D& w! C* V% N" A
this.getobjstyle(node,"visibility") =="hidden" ||1 x, q$ H5 a) u6 E! `3 s0 ]
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 S, R- y3 i; _! _" ^3 K {% ~; `+ i: N8 ]( [& L
if(debug)
3 o0 j& Y/ k3 M! D' a {
- D4 F" K7 d6 b. L3 {! j alert("remove invisiable!");( }# ?# v0 Z. [3 k
}
0 S' `6 ~: P( [/ L4 v# h$ `3 B node.parentNode.removeChild(node);, }1 G9 F4 |9 E: t2 a
0 K/ d5 h ]% i0 b1 l* ]
}
4 V8 L' A: H; ?2 Z7 ? else
+ i* U# F9 }; @ K3 u7 |" | {
+ V8 \! S$ f$ r4 Y if(node.parentNode)
5 v5 ]2 t- X' R* p' |0 ^* A {' } ?3 l/ s$ G6 D2 ?. g
var orgNode=node;8 T E. G4 g7 |
var orgColor=this.getobjstyle(orgNode,"color")5 j. Z: D% H) H' o- o+ P. T
var orgRGB=getRGB(orgColor);
7 `% T* M$ X# r
# H4 D1 w$ }- X. ~1 O+ I var parentNode=node.parentNode- [ J( V! G* U1 O" C. X0 |" s: E7 h
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 q. t" Y+ k! w# Y1 L3 N
* O8 k$ I6 D. _! Q6 V var isLast=false;
! t |! K: [/ N" E
; l, k4 {, |* w* N& w while(parentBgColor == "transparent")
' d3 h- [; K/ }5 F {
, a) n/ V) C9 P8 d! F
+ m, c2 F$ h q% G* N \& E, @2 H
# q9 U( Q' u8 B u. V7 a) Z0 T1 Z if(parentNode.parentNode == null)+ x; i5 H6 S+ W1 _& A" {
{. J5 t+ g K7 A+ J! l+ m* K
isLast=true;
) w% p: A$ {! s/ D8 W break;
" d u4 S: g. O o* @ }
4 s% T+ D7 s# T' @* z+ F parentNode=parentNode.parentNode;/ a6 o# C9 G7 v; T w! W0 z
parentBgColor=this.getobjstyle(parentNode,"background-color");
; V) L. {( b& f8 z6 M3 F& ?0 C
; W$ h, y1 i$ H$ W7 i$ A; d6 o" e& E if(parentBgColor != "transparent") 0 j4 C! O4 S. Q& ?! F
{$ M+ J0 m' v, v# i" x
break;
; \/ q: k7 k7 e }/ x' _2 W) h( z' b
}2 |" {# C9 E' d. c% ]
if(isLast)
5 N2 t, ~/ |4 q& ?0 F {
, R% }6 W* E3 j( O5 x) b if(debug)
. A2 b+ k I. |! a# ~1 S {
5 C& V. h/ Y1 U3 m: l% L$ o8 |) u alert("last!!");
) j9 U3 z3 u B' X; U) G }
6 `2 h5 Z! q5 Y0 y4 y1 d" \" S6 P1 S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* K5 E( Q3 H% N1 a3 R0 M
{
$ R, m- l" P+ r0 l0 k orgNode.parentNode.removeChild(orgNode);
3 y0 s# T9 u9 m7 K+ a# v }- x# m7 h) `9 c8 p$ M2 D( y
}" F" P! B& j2 ~: g
else
2 i5 B/ i# w E! j" K {! i- S% Z4 y& Z$ P5 s) l
if(debug)
8 E, M9 r- x7 D- c9 L {$ v5 D' y8 Q' ^9 [% V
alert("compare color and parent bgcolor!");/ y) o+ H6 `! g+ Y
} L: b0 z" [- W
parentBgRGB=getRGB(parentBgColor);
$ u0 P- K4 c9 {3 G: b' F& Q; \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) q4 ^- g& u% H! i3 K$ y4 C5 D! i
{
$ Q2 U# x/ V* c8 k orgNode.parentNode.removeChild(orgNode);
: r/ n% P$ f' L8 g- [9 y }
8 h" V: x( t& f' H5 V }' o/ n/ W7 w# {, o' m8 b" |1 u
}/ W, y" `: h' l& K& }
}6 ]+ r, Z+ |* W, z+ z6 |0 A0 k
}
: v7 E4 x' G3 T1 e, \& c }
% ^, _$ E; s# u $ f" c7 c- c9 O0 _- p
5 Y: O# H; w8 X% u var itemFrames = page.getElementsByTagName("frame");
$ Y) {0 q& o1 M var itemiFrames = page.getElementsByTagName("iframe");) y2 I" o, K; B0 e
8 F" Q, [* R7 v; T2 ]) [
var frame, iframe;
3 C, W& K/ K/ w8 c. @ if (itemFrames.length > 0)
: W8 w" C o% I2 I/ t# i {2 {, M& S4 l& o$ b6 v( ^9 K* Z
for (var i = 0 ; i< itemFrames.length ; i++) 0 O5 }1 ? F! e0 z
{9 z! E y6 W1 @* _
frame = itemFrames.contentDocument;1 X" q" `; h$ a; Q! c
this.RemoveHide(frame,objname); ! _* f" |4 U" g/ c M
}
, j& ^2 \; T$ h% d& f; ^8 U; b5 x }
' q6 _/ ]6 v% Q% s if (itemiFrames.length > 0)
" `$ u$ r2 D! X4 ~3 W9 R {3 F4 \5 A6 d; f3 A! j% _
for (var i = 0 ; i < itemiFrames.length ; i++)
& f& Y( H3 }1 z4 q3 Z( K* w {
% H! j" y# w2 U1 Z. _ iframe = itemiFrames.contentDocument;
7 y' h0 b4 G# j& d5 D this.RemoveHide(iframe,objname);
0 ]' F. b! }) M }$ ?/ b& t) X( t+ x
}
1 M N% C6 L6 ^: U5 z }
$ i+ [$ L, S% \5 o+ R8 f3 c- M0 Q catch(e)
: _% p: c e4 S$ j' A' [! {+ F {
( D9 e4 Y( `( _( h U" a1 ? if(debug)8 r1 A- Q$ E' ]; X: L6 M3 O6 d2 c' P
{: S3 F V! x; _
alert(e.message);% N' z( i) [1 S1 }2 z3 |
}* j, S$ d' m8 G% P% G
}- v; N Q$ O' R% } g! _) I( p
}. U! K1 `0 q$ g- ~ ?, B
2 B0 ]- a5 E9 @* q O}
* E8 u+ G9 k* \1 @9 c/ c2 K. ~7 y* c6 ]0 F& U5 w; p! |
function getRGB(colorString)
- K" A! R6 A8 s- |" F{
: k. N- s2 K5 Q. }# S% d var RGB = new Array;
1 s9 }/ t9 E9 |+ v: y8 k9 C4 g var tempSting=colorString.substring(4,colorString.length-1);' D6 Z% F6 {: d, h
var tempArray=tempSting.split(",");
8 @. B% i0 E# @! U1 d+ G; ?& G- q# I# r/ t6 ~
RGB[0]=parseInt(tempArray[0]);& n0 M6 O# P- d$ m$ D, i" O
RGB[1]=parseInt(tempArray[1]);
5 K& r, q9 v, X5 H. { RGB[2]=parseInt(tempArray[2]);
- f: S/ C2 ^" X0 A) z* N O/ Y
" z4 v& D" o$ Y, u, w return RGB;
0 k& {8 S$ z/ |0 V& h, C+ J}
& j7 X) w: y; H1 Mfunction keys(evt) 2 ]& m) \/ ^5 \$ s5 g' o* h
{ ' r, a [3 Q# ? A: |& k
if(evt.ctrlKey && evt.keyCode=="81")
8 e, e# l# N8 U# [2 W* g1 ]+ r {
! l: C! j$ X" K% h( q CleanHideObj.on(0,1);, P5 q" W1 ~: h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 ^6 |. ?9 f' s4 i$ a
4 L3 ?7 t6 |) M+ s" s' X } + ], A. f; U$ L
} ' e# D# L! J7 T3 M% L B
document.addEventListener('keydown', keys, false); 3 w1 Z( @/ K. a* E" U& \
GM_registerMenuCommand ('Clean Hide',* h( Q4 ]6 X: i$ s! y! ^
function(e){% U9 N& k( \' w
CleanHideObj.on(0,1)& X+ H" e9 \8 E/ w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: q1 c- ~" j* s
});1 F3 X6 W( U4 O0 w0 B. U p
|
评分
-
查看全部评分
|