|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 L/ w0 p* s: R
$ E0 J; e% Z" V- z- @8 H0 W火狐插件,用猴子
2 |& `9 u: L7 m* }8 J: w
( N2 u; o) ~& ivar debug=false; * Z3 t" h+ ~6 W6 }+ H3 Q
var CleanHideObj=new CleanHideClass();+ i. A) M6 y1 ~& I8 u
5 | X: ~$ `/ i! E8 `8 p% S
function CleanHideClass() 7 b R, c1 K+ h5 H% ?# }8 M# ]! t
{ 0 O9 K2 P7 V, V9 Z
5 i2 |/ w7 @% M9 e! ^
this.on=function(id,bMZ)5 V7 m* p# k0 ?) \ Y+ `
{$ _+ m9 P8 R! a; u0 N
: K/ \% m9 }' p8 ~* d if(id == 0)% S. j [: U/ [1 i8 n- J w
{! J) F/ x, n' q6 G
var page=/* document.getElementById("content").contentDocument */document;
+ t- ?: [" i) P. A" [ this.RemoveHide(page,"span");
" {( |5 S" g) j- N; ~8 m- Z this.RemoveHide(page,"font");
9 y' K9 h4 z* M. E3 v! w this.RemoveHide(page,"div");
3 ]) c. q1 g, Q$ A! L z% | this.RemoveHide(page,"p");
/ Q; v9 T1 e0 p% H. ] $ D' A* N1 t2 ~7 Y& M1 c0 Z+ {
}, }0 g% z7 |0 p& J C X
: V4 M. i% f9 I# U1 X
}( ?- W- @5 y. T; x a. S
this.getobjstyle=function(node,prop), x& O: s! o$ \4 N f) ^7 b1 `
{5 \0 b- c8 E. ~9 P' n9 q7 b
try
6 n3 e6 ]+ n. P+ c- x$ h/ L! D { R: z- s9 K3 c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" t3 B, D5 g+ O$ k- E n
}! q# J/ k7 {7 [$ U1 N
catch(e)
! I: ~9 X# m9 f) v2 q+ m {
2 n. x! I) \" x% z if(debug)
% [- o$ |! |! `# K5 ` {
; R+ F& s1 _4 ]& T alert(e.message);
3 j0 g6 w4 b8 k% M$ n }
+ R) q1 @2 \3 H& \ # y( u: _! O! V* k, t' U
return "200";: W) t+ I1 d4 k% r& R N
}
8 D+ W- }& ^9 o# g4 e }
! b! c7 p7 D. Z% A2 a3 j a N
2 {7 _& w! t* J& w. v1 S this.RemoveHide=function(page,objname)
! h2 Z4 l# Z1 `& M {4 V4 n( ]% {' b) y" A
try
, r. \9 l0 K! Q( c9 Y {
$ |& }% o# V, X, W# d$ P var minValue=15;& r- V. A" a0 z1 t; N6 w( A
var objs=page.getElementsByTagName(objname); ; y, \4 C( W. k
# p/ ]( N4 l" e if(objs.length == 0)
* u+ k, P/ Z/ F {
, T5 C3 c3 x+ L& W if(debug)
) z% ]+ H/ l Y( a2 ` {
, R( Z2 F3 i) o( g# c- Z0 I% \. I alert("no object found!:"+objname);
, ?! T, O' f; n5 t+ _4 t/ {0 l) G }
, G' M3 ^; H6 O }
% S" [6 s! ^( b5 v else
, P+ }2 E9 y0 |8 Y {3 y, o7 b, q9 [0 z: `8 |* o
* O2 L, g$ }5 G+ y) z) h, u for(var i=objs.length-1;i>=0;i--)
- X9 j" o( o1 l. h4 y) `( N9 k {" z2 @% L0 y I1 P3 W& X8 D
var node=objs.item(i); , y; }: Z8 A1 v: J% i, i: h
4 C4 R1 A- x+ o" U
7 Z! g' A- I5 D if(this.getobjstyle(node,"display") == "none" ||
) d! S3 N1 C' D this.getobjstyle(node,"visibility") =="hidden" ||9 f3 X [& G0 B0 C) ]. q, X) d( m
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 h( t* `% z, T* T3 g# q
{
. |# q" T y4 l# k" o/ d if(debug)! ^! h! f L& {
{
8 w- l# a: b' R' x% \ alert("remove invisiable!");
! q- e( G( ], A% U8 A7 D( ~; [: b3 q }
3 L( }8 x8 X% ^& [6 u8 M/ P node.parentNode.removeChild(node); u6 t% r/ g7 b' y0 X( K
; J6 j& s0 H7 |9 b' O; E
}8 g% ~* X: z7 Y+ l. ]9 ?* m& x
else 5 y8 u& P+ [" i* w4 V9 v" R
{
1 q1 ` Z/ U; P5 I0 e3 C if(node.parentNode) - n$ ^5 L+ Z3 Z8 J. q& ~& u6 `( t1 h
{
8 E- b: o) t( J3 b) |" L, o% S3 g$ a var orgNode=node;
- J) q7 X& B) T4 u8 k2 y var orgColor=this.getobjstyle(orgNode,"color")
! v4 I/ U* f! M3 O# P& [/ R, G var orgRGB=getRGB(orgColor);
7 m% ~" p- d! C" d& J ) @( {) t( l3 P6 i& F- J
var parentNode=node.parentNode
8 y* ^5 m1 j2 y7 [6 I& D# f var parentBgColor=this.getobjstyle(parentNode,"background-color");) P! C% r8 e9 n+ C1 I8 { r8 f9 U
8 I8 E/ F2 l, ? var isLast=false;8 y* @4 G3 \! m* M( h
' p& h, P( l# `3 q: J" O while(parentBgColor == "transparent") 8 ^% {2 [0 D0 M* C2 M: R
{0 ]) E$ w0 _' J) l% f
' N% n3 R" K; V4 T# D
7 [# t0 Z. e: ^9 y8 y" Y4 @) @8 Z+ Z if(parentNode.parentNode == null)
: m. Y" I m+ K: W {8 `9 C4 v0 c- v- k
isLast=true;
- _/ X# e5 s8 j B break;
+ M) S+ |; s; C# h }4 z& [6 a0 f! Q6 J* o
parentNode=parentNode.parentNode;1 T1 z' q" M3 k. t8 c, Y3 ?
parentBgColor=this.getobjstyle(parentNode,"background-color");0 I1 b# u/ }2 j5 w+ [0 b1 w6 [
( a8 Z% q: I+ _0 c8 e; ]' ?* S if(parentBgColor != "transparent")
3 t% J& s) V4 I {1 k1 L% V8 ? r' ~8 @. k; H5 b
break;
( ^3 y9 J, P1 Z7 T9 ` }6 Q& K4 ?) T T% l
}$ K8 ]" T, ?' E" a8 s4 P f* X
if(isLast)
$ C8 g2 Y3 d; }) J4 o( e {
8 u* h2 B8 v$ W# p! }% k if(debug)% S# b& q' s5 P: z7 z- Z% ]
{
( O7 g4 C6 T1 }. G& P0 U alert("last!!");
, M. Z0 D6 e L, n& b7 L }) a- ~6 S ]- h8 P2 d$ C" h. `
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
W7 M8 `2 r2 Z, C: Q: d+ ^7 ^ {
; Z7 v/ O- G L: r/ V" } orgNode.parentNode.removeChild(orgNode); 6 f/ X T: @2 d! N7 d+ z* L
}( q& R0 l0 [$ w( P) L3 Q' s+ v
}
! G1 F7 F' S. P6 _ else! J% g. f- W7 P! p/ }) k) K* W5 E
{* k: r5 U. } E4 g1 A5 X
if(debug)/ S" G# a2 w$ M- _3 k7 ?
{" U: L! V$ N0 D- T, a% K* F2 I( o
alert("compare color and parent bgcolor!");; C/ T+ }: O1 o5 b6 `0 }3 Z
}" r& X9 K5 O4 A7 }* M& z
parentBgRGB=getRGB(parentBgColor);. M, V% V U& h5 K* x5 H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ y5 F- O) {, J# P+ \+ ]( K {
' S/ I* n* e2 Y/ ^ orgNode.parentNode.removeChild(orgNode); " W! `* q9 c ]4 v% `+ h' x
}
7 {0 } X: L; C- H5 q/ [5 \ }5 [% m; [( V) ]) H0 g# K: Q
}* U% `" C( z: U. s7 T4 m
}$ {/ f2 Q' E2 R4 l2 j: [5 G& W
}
' F" {9 b6 y8 n7 Y9 }# Z9 z }- P! C9 D4 |( M! z+ N& L
3 x, K* P; X/ ~- s 8 T0 w$ ]8 w9 N8 f* \) C
var itemFrames = page.getElementsByTagName("frame");
3 J2 f# z& z* Q! }# C# o var itemiFrames = page.getElementsByTagName("iframe");
7 a$ D9 I- B. Y 7 L! v% L9 N* `9 x; s2 L/ c
var frame, iframe;# W0 M4 u. I" U- O/ D/ {9 V h
if (itemFrames.length > 0)0 ^2 a5 K- n! P! g1 G
{# E) j9 s) H' c* |
for (var i = 0 ; i< itemFrames.length ; i++) % K, d- W* l W/ ^4 |
{
6 l8 ~* ~4 c5 G- A, j3 s8 N frame = itemFrames.contentDocument;
7 R5 a, f+ ~* {3 u8 n- g$ n9 [ this.RemoveHide(frame,objname); , b9 u, I5 |3 H: b6 _4 J
}
7 w; Q. o5 H, r5 S }
- i& @/ @+ N) @* E& k- c1 g ] if (itemiFrames.length > 0)7 c9 F% a% t5 N2 U9 T
{
; c$ _* Y% I" }) o for (var i = 0 ; i < itemiFrames.length ; i++)
7 b! `' U4 I: z! N5 I- U {- m- Q1 l+ H! p0 y
iframe = itemiFrames.contentDocument;# q/ H( J3 b* S7 R+ I# ~7 s1 V
this.RemoveHide(iframe,objname); + u! l. w& V( }* ^1 u, z' s
}& G7 I9 n o$ w+ ~$ I' V( _
}
Z9 D; g- X0 d }9 I }4 j- u& c/ w Q/ i" j, i. y3 }( Y
catch(e)5 p* o& {1 `, G/ r' @
{! v* x/ \3 n5 R# c8 \
if(debug)
8 V" u* w5 @ ^. I' ]. o {/ D- H, _: L+ [- T# V+ J
alert(e.message);) g7 G0 A& M6 Q$ @# y+ `1 }% }
}' q& U" ^! R" h" L. R- ^! u
} |4 G3 k D/ E7 v
}
/ P( n' f" X; k% n/ C& A0 T 1 K" Y, [. e: K( w' S; j
}8 p( a# t5 ?# T! x
& a3 N# A* c! e0 ` }function getRGB(colorString)
9 R2 M' K; ]6 D @2 e( D( l{4 t5 W' G; |" U4 n
var RGB = new Array;
% B+ i2 X r* p+ i' K2 s4 u var tempSting=colorString.substring(4,colorString.length-1);
6 ~/ I: A/ Z8 j4 y2 O+ q5 ` var tempArray=tempSting.split(",");* m- m8 V L( g) `# M& G( B
) G0 t; o( J2 `/ n. O9 f
RGB[0]=parseInt(tempArray[0]);. e6 X+ p$ [2 ~1 v8 t9 [
RGB[1]=parseInt(tempArray[1]);
9 e7 H+ {% z; r! z RGB[2]=parseInt(tempArray[2]);& u2 x0 x' c- M' }$ m3 C
" Z$ m3 @; I- ~ return RGB;5 f! m+ D% L) X6 C6 v
}
% a4 f6 ]6 P7 C! W: V1 ]8 Pfunction keys(evt)
) Q# {2 F4 ~; {4 q, q {
8 B5 R* @: q1 U0 R if(evt.ctrlKey && evt.keyCode=="81") , C; n! r' _" h( r$ G( ~6 B, o; o; ?
{ 4 L2 ], ]7 M* F! r& k
CleanHideObj.on(0,1);3 D& ?5 i h- n- I1 L# ` z9 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" R8 E; O; H0 l4 V+ s6 v # [9 S3 A- d- A& G% S3 ?% v
} 4 v* J3 T4 v, ]9 G% l+ P
} 9 n" M1 ?) _9 ?, U8 R
document.addEventListener('keydown', keys, false);
4 V. |: V6 Q# fGM_registerMenuCommand ('Clean Hide',
1 C4 p! u0 a) G4 Hfunction(e){
' P' H8 _2 ?$ j" Q7 _CleanHideObj.on(0,1)
! u5 f4 R. Q- ~, _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");2 J* A# j! f8 X& n; Y% N
});
/ T! n( h! ]2 z5 B |
评分
-
查看全部评分
|