|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 m6 z' ^2 m4 x, B: Y( U
% C6 n7 k! j( c' Z火狐插件,用猴子 E% U4 \$ u# J
7 N3 z/ O) d# T. A
var debug=false;
: p- i0 R) c; L8 r+ X9 svar CleanHideObj=new CleanHideClass();
$ M5 P% Q6 F6 p+ k1 F3 W
7 [- _" [/ ^! C5 W/ b, G# c9 g: Nfunction CleanHideClass()
- ]" O4 @. s3 M" V/ e{
; S' D; W6 a0 ^3 e5 M0 Y6 }" W: m; y : ]. D. V, z: g% D9 M
this.on=function(id,bMZ)
( S# {$ c& P3 w$ P {- N+ N8 t; O: c# ]8 k' G; A
8 M1 _) _/ K: u$ b0 @
if(id == 0)% d) D' P" q- a' N: V, q1 v
{5 G* ~" X0 ^7 m% `5 _, a3 O. a- o
var page=/* document.getElementById("content").contentDocument */document; - J1 @) Q0 U; ~2 e) R$ z. D- E6 J
this.RemoveHide(page,"span");% l! }' M4 l6 ^' ~" v2 X/ ~
this.RemoveHide(page,"font");
- W+ q+ W) w9 D/ q, ] this.RemoveHide(page,"div");: D1 a- }- @4 {+ Y6 H$ U
this.RemoveHide(page,"p"); c% N+ H0 _% ~' ~4 S& Q5 P- i9 x, N) g
4 f0 @ ?7 N: K' c. U' u }( {1 Q* L9 F: K. [" b2 V
* ]/ u3 |' d7 A1 P7 a9 f) t3 [# G
}
; V4 C& U+ z' o: e" c4 `+ `3 |% }) k- { this.getobjstyle=function(node,prop)
2 f" q+ Z( F- B& b @ {
, \/ T5 v* p& V try8 j$ [* z, p/ D }1 S2 q
{
: g2 t3 F0 h& X G8 u+ Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ N- S5 k: F5 G0 Y6 D, i w }
! ?3 t3 y" B- T' H9 f catch(e)
2 {) f/ E& ~8 M3 m- [" p {
3 E- P: K a4 ?9 g e/ z8 N if(debug), D D; l& r; N: l8 ~1 }- C
{$ U. Q" k8 O% W
alert(e.message);
0 A/ ?+ v9 m, F' J4 q }
; h0 z4 W: S- k 4 A$ v5 u% s+ B) p9 `6 b- l
return "200";
% h+ {( p- q+ {# N& {& n% \: F }, p# L+ P0 [, J: G% |/ p' D3 T
}
& ], ] S U- H, ~
- e5 F. g: i6 [2 R/ |4 A this.RemoveHide=function(page,objname)
2 [: d4 I) O2 |$ O- V7 o {
' _' s! V4 n7 _( P# u) J* b try% P7 _- J% @; C$ \5 ^+ {- w4 ~
{$ @& o! s- A( K7 B" w. Q
var minValue=15;: D' }! O0 r/ U+ I0 s5 m$ s# ^
var objs=page.getElementsByTagName(objname); 2 a- {! ?3 f( `5 `4 d, Q
4 z9 G7 r/ S: R- y+ |! ~
if(objs.length == 0) 6 t4 p4 U9 @0 q( c
{
! ]2 B$ Y5 b, s' R' C1 J) K7 Q2 B if(debug)
( M! b' m/ }1 B7 }) h' Z% }5 { {
/ |/ P. {! @. p" [0 m alert("no object found!:"+objname);
! |7 M1 h/ ` v4 A }
/ {6 D0 ?8 @; D }
' i! j; V( Z: Z7 I else9 j% J" D4 l! Y3 O
{! e6 v, d+ W9 C: c/ ^5 w5 I5 ?" ]
# b, a" R2 h& F8 z2 g2 ~ for(var i=objs.length-1;i>=0;i--)
; F2 h- K* Z1 P+ n( T- g1 Y N; |( X8 ` {
7 Z( c& H0 C# W+ R) Y) W0 w var node=objs.item(i);
3 H3 r& ^2 x1 s) g
" Q; O3 | t. b8 F( T( { , B! G* S+ i4 P! b \
if(this.getobjstyle(node,"display") == "none" ||
! i& j3 Y9 l1 K* y this.getobjstyle(node,"visibility") =="hidden" ||
* R s( k& W, g parseInt(this.getobjstyle(node,"font-size")) == 0)
/ W# U5 ^, H8 s( _3 f9 U. [ {
' C. L8 z- j, i* q- L7 ]8 N9 Z if(debug)
% v( Q5 A$ Q4 q) U r3 l {3 u: O( g+ k* @
alert("remove invisiable!");* m9 z0 X; I$ C& W! ~; J- A% B
}
9 ~8 Q* X ~" z* F node.parentNode.removeChild(node);
/ ]4 u, b m5 C& Z " d* w; Y" g$ F- G3 }; q
}! {: M& @+ i u p- L! a
else
/ e2 f. F& L( X- F+ ?& f7 t+ e {5 X% X9 D. V1 \+ }$ y( o8 N3 |! N
if(node.parentNode)
& j$ r0 u* y8 t; h7 o {6 D/ ^. Z' u6 C7 A3 y/ T# f6 @; Z
var orgNode=node;( o, a) L. B, `# K2 {
var orgColor=this.getobjstyle(orgNode,"color")2 b4 k. U$ @/ i* ]9 |
var orgRGB=getRGB(orgColor); , i% I# Q6 d% D3 @9 A1 d5 c
+ @" I2 z& E5 ^/ T8 E# z2 q var parentNode=node.parentNode' B z N' @# S1 k$ g' J
var parentBgColor=this.getobjstyle(parentNode,"background-color");& R" X Z; k: @8 J' [2 M
! ~) m+ g8 l, P. p8 ?$ u6 A var isLast=false;2 @% m. Z5 Y0 K0 J% C C2 } r B
+ K1 k n8 C! F7 Q# g' m while(parentBgColor == "transparent") s6 F# J4 {4 W+ h! l
{ [6 d: M+ }0 `( {! ?9 z) o
* r. |9 O9 Y; ^( ?0 G& r
$ ~! B/ O/ y4 l if(parentNode.parentNode == null)
7 j' P5 b- N D+ H; K2 F2 `$ } {
1 y, H' g6 Z, V/ Z2 C( s isLast=true;& J$ C+ c# U. i' `( a; `
break;
& z+ |) E! w; ~7 ~5 n& Q! U% i- s }/ [( h2 V/ O& t; W2 u: |1 ~ Q
parentNode=parentNode.parentNode;
2 C) k" ~* `* `* |8 i& O parentBgColor=this.getobjstyle(parentNode,"background-color");
, i: P4 H" l& @& a7 d) S6 C" ^4 w1 s# Q( U
if(parentBgColor != "transparent") 3 p6 @6 K) A' i( a
{
, e- G7 I( D* x5 a3 |- L2 Y break;
* Z& k4 e. f; M* u% {& e1 y }
' Y7 ?+ X, i s0 |' C2 S9 Y' X/ g5 M }- M/ L/ M, L0 _- N: u
if(isLast) ' y# |; t) D+ |% ?$ \! U
{: Y9 |4 o8 p) p4 q5 b) ]3 G- i
if(debug)3 L& w1 `/ g5 _( ^" t8 s m6 h
{2 V% t" o5 H& D* }
alert("last!!");7 k9 u. L. X7 h+ ?0 g- T& S2 ?2 A
}
7 e/ F3 N+ f# q% ^1 U4 c2 V4 D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 {0 Z: {! z' @( L! D$ o
{
6 b2 ]8 V+ t3 m! W! |* m orgNode.parentNode.removeChild(orgNode);
) U5 N* c2 y; \3 a8 @! n* w }2 d" H1 f, I" E: v
}
+ d, e1 C0 L. ^4 J else- z+ y5 p4 L1 _# C$ [6 Z S [$ c
{
& }7 k, K) A8 M. ] if(debug)
% v0 ~. V) V! {/ b9 w7 n' P {
8 x+ G8 f0 g! A5 y6 X( }0 M alert("compare color and parent bgcolor!");1 |# O. P8 f9 z; {
}/ p- g: Z1 A Q: T; G4 C
parentBgRGB=getRGB(parentBgColor);& V) |- H$ E, v) t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 \8 D2 T( ?& S: b
{
! i; e7 J7 _% A; Z8 u; g orgNode.parentNode.removeChild(orgNode); 0 k$ K: Q/ w* z: [& I I$ J$ z
}
* \2 F9 m" t5 @; S" H }
- u/ _- N. o# T; `4 D4 Z. w }4 t! Z2 T/ H( Q0 \5 I& R
}* T+ g3 U* L% u* ?7 u, Q
}
9 _6 b4 S% _! E }
$ U2 |: S' _( p9 k* i# s
+ C3 w4 A* E" R& m) p # Z/ f m& d. Q+ j7 x/ z: n% e( n
var itemFrames = page.getElementsByTagName("frame");6 N" g' u$ F2 {3 e- ?5 o7 w3 J+ @! _
var itemiFrames = page.getElementsByTagName("iframe");
. \; E. G& O/ J
: x$ d5 J5 s# F% r9 w* @8 j* _/ @6 W var frame, iframe;3 j+ n; d K9 ?
if (itemFrames.length > 0)
- o B, J) r$ P+ w, f( \" \3 c {
1 F* c2 v0 t8 D; ?- m. D for (var i = 0 ; i< itemFrames.length ; i++)
# f9 E* a: k; l5 s9 W# P% b; O8 F {$ S* ~: m* X' K5 v- M& \/ D
frame = itemFrames.contentDocument;# \3 ?2 n7 a! {/ E# b* r3 u; h- ?
this.RemoveHide(frame,objname);
3 K# |- e4 i6 I. z/ I }& c& X# ~3 X( G& M: _. c; ]* X
}& S N9 J5 W% {8 ^4 { r8 w5 v
if (itemiFrames.length > 0)& O0 C2 N' i5 _) ~ F+ ?/ O
{
2 u+ E( v) k; D- [% u for (var i = 0 ; i < itemiFrames.length ; i++) 6 ~0 A. V+ Q Q8 t4 ~* B
{8 @4 f- l. D3 J" ?
iframe = itemiFrames.contentDocument;
. P, O' ]" b# Q this.RemoveHide(iframe,objname);
T; t8 Z1 ~% r6 X }
1 ^& q) d, K! c3 ]( D# s }
. L: K; L9 ?& g1 V2 F" u1 j }
& N+ @3 V' n0 N* p% W catch(e)
# u6 ]* ]) x& ` {1 i! q; x9 I, q8 w/ X, w Q
if(debug). R. v' }$ _0 K6 B$ z9 e
{
% u- Y2 p8 r2 g alert(e.message);/ U6 @3 h# _2 v; E. s5 g3 z2 Z
}- r% U5 ?* ~1 a& m1 E
}
0 ?4 E1 s3 J: q; R$ y, o+ K. V }
2 ^7 s' J5 A' [, M S+ c. n3 N0 I
4 x. A# F. V+ H& u& A& w$ c}
* x4 D; b6 ^" {( c" w* W; C' m( ~! x# J' z0 O2 C
function getRGB(colorString)1 ^1 m2 c& ~! l% Q: o2 P
{
# y' ^9 _' S& ?3 z0 K var RGB = new Array;0 V# w! t, h0 P! W9 i# C8 d
var tempSting=colorString.substring(4,colorString.length-1);
8 {- p1 r; G: V" X. t var tempArray=tempSting.split(",");/ c( c" O% Q' V
" B& R! y0 L1 P( {: X1 ?; Q) O
RGB[0]=parseInt(tempArray[0]);
+ i8 k. K' s5 p# d4 j+ a# {9 K RGB[1]=parseInt(tempArray[1]);% v/ m# |' Z* \. \( c
RGB[2]=parseInt(tempArray[2]);
0 B6 S9 h$ L1 l0 S1 O4 b
. ^( N7 X3 @6 H* K1 ^( ~ return RGB;
0 p) V! t7 _ E& c- A$ f7 R- h. K}
6 J$ [" P& U0 E' gfunction keys(evt) ! K q. Q$ l* ^, |2 W1 L
{ : u2 @( J( w5 b) F
if(evt.ctrlKey && evt.keyCode=="81")
* }$ J4 H- X8 U4 Z/ h5 R$ D { ; \ J8 T( u( X/ H* ?0 g
CleanHideObj.on(0,1);
1 s$ u2 d' G& H1 J P' { alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); |& P& ^6 l5 m$ N3 V
3 [* i/ |7 q7 H; V" ]/ k
} $ h v' g4 ]8 Y2 U! P) ^
}
) F4 p; }) i0 `) I5 u3 kdocument.addEventListener('keydown', keys, false);
; g, |! }0 {9 S; X+ }% @GM_registerMenuCommand ('Clean Hide',+ P& ~4 N- T5 u# F) v/ [ z
function(e){" h4 c; } o1 h& r: y
CleanHideObj.on(0,1)' K. @4 d4 u! \$ M; O4 `9 J6 V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( M+ z* f* u5 z: F
});
- a: Z0 |' T4 @) M. j6 ^" c# R |
评分
-
查看全部评分
|