|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 C& i% A9 H$ M% G1 G
* `" l6 ^7 `5 m# g( ~+ D
火狐插件,用猴子
( \* p: Y2 E' @( w: X0 Y1 T! i c9 B/ s% f' t! Q, N! d" P- ^
var debug=false; & G$ h* B; r6 l2 P# _ o: U
var CleanHideObj=new CleanHideClass();8 d! D7 v" V" N" o
- } a6 Z1 Q# C# e/ H. lfunction CleanHideClass() 5 `- v& ]8 {1 _8 @6 x3 P+ p# o. n
{
m. z q+ e. X$ K ( n& `# U9 y# p
this.on=function(id,bMZ)
( E* E+ z, V! m- [ {
) }8 T t. m3 r
5 C- C) Z: d% v, E$ N: L, I if(id == 0)+ ?' a$ ~ E$ B! t5 f4 c2 J
{
. d# M3 A8 t9 V9 P8 c' K var page=/* document.getElementById("content").contentDocument */document; ) X2 f* w+ _; |! \
this.RemoveHide(page,"span");
; Q3 S8 I' j' z, c this.RemoveHide(page,"font");
6 N' F$ X8 k& ]8 \, `- v this.RemoveHide(page,"div");
* l. ?" c2 T5 C1 `2 a this.RemoveHide(page,"p");
% V1 u/ o4 I: f+ o
8 r- g5 m% F: h$ _4 Q G }- Z, e$ R W( Q1 }) V
$ f* O2 a0 F0 g
}7 {5 o3 k: \ `2 N/ R
this.getobjstyle=function(node,prop)6 y0 B& A/ N+ j) c; S4 {5 |: R( ?( t
{
3 F$ I1 i6 {1 ]& n! X try' v$ ^4 w0 h& }( M
{
0 {% Z3 T- x7 X! L8 o return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% _) P: Y8 }( x$ J
}
* I& } R; N+ _ catch(e)
# I7 U% f* m8 [! h {/ s+ _" f U* `- d1 L
if(debug)# U4 l+ q4 V$ D b9 H8 h( J3 h+ H8 o
{
. w& p" ?) J+ e: ?4 s- p alert(e.message);$ E- H r& z, b) L
}
& V3 H! L: n3 k) p
' Q; H( Z$ Z ~: v' w% O4 }9 Y return "200";0 y; ]; t- b- R# U
}
7 L+ s8 B$ O, N }
" G. I! j" S# P6 N, t ! H) y' m6 U. K8 M; r( o" x
this.RemoveHide=function(page,objname)
. O2 M8 b e9 B0 A4 E {& H" q0 H; b! r
try
8 z |" w# U) z. u. v" F! Z4 V% e6 N {
) R" a4 B4 l, @7 K; f var minValue=15;
+ f5 ^- e5 J' V# Q9 z var objs=page.getElementsByTagName(objname);
6 P) _7 {6 }' W$ s* {; ^! h
8 Y9 s/ \" {% p5 Q- C8 b" I8 ] if(objs.length == 0) . a% T5 @9 ?: q, q1 {" ?% |. r
{
' N1 D% }2 G8 P) M+ ? i; p: Q1 V if(debug)
: X7 z- e" X6 H, ^4 w x {& t" Y6 u4 s0 S- K
alert("no object found!:"+objname);
' V4 o' m: @) {8 y7 ] }6 J c7 b X, L: \. q
}
+ f6 I% \/ X# a2 J8 a6 Q# z% v/ i else
2 K" b% I" S$ U {
2 l: f. x; t( }5 }: q2 U) P
z* ]6 ~9 ?! e for(var i=objs.length-1;i>=0;i--)
" C5 N2 j! d- b" Z/ @ {
8 \( F! o! S. d& Z h K var node=objs.item(i); 7 S' N7 o5 d/ n- c
( f. q+ L- A$ W
7 i0 v4 `* J. q. J
if(this.getobjstyle(node,"display") == "none" ||3 B+ }) F. L, r i. k
this.getobjstyle(node,"visibility") =="hidden" ||2 y/ R' J0 w+ M- O6 j
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ h) V; ~% n2 A U. Y3 v6 B0 w: L {3 o# c& k8 i, _8 M* y" r, w
if(debug)- Q" v- W1 V: V/ B4 T
{
" r+ p1 l, V* K, p0 V# B alert("remove invisiable!");2 H' L3 C% V: T, g' X6 F
}
, z& j5 W2 [4 o2 ~$ y node.parentNode.removeChild(node);) W8 V. A, |( D5 n9 A
+ i2 E u$ O0 }1 ]/ o }, Q; e8 u2 @* r! Z: y
else 9 S5 g7 s% d/ _' A9 G* J
{
: ~0 i- i' Y2 L% r if(node.parentNode) 8 q0 C$ W5 U' ~
{! Z0 [6 p k4 I4 K. K$ ~0 s% r
var orgNode=node;
# Y2 @9 g' i3 J7 X# X( y var orgColor=this.getobjstyle(orgNode,"color") e; w) P$ @1 f7 p6 x
var orgRGB=getRGB(orgColor);
! K/ @" ]1 ~! l: P: K2 G" R6 Y# y% y 8 v# N$ |( h' }' h- w. [5 R3 `% L+ c
var parentNode=node.parentNode
W {$ b& B! S( {& I- g L8 M var parentBgColor=this.getobjstyle(parentNode,"background-color");) v! d0 M7 f: }9 X
" t+ A' W7 U% i( t& a3 ^& Y2 p
var isLast=false;9 j# q* c) C0 {* T: u7 \3 u- i
& M, v! P3 V& f. N0 w: g# L
while(parentBgColor == "transparent") ) e5 U# k7 p" p! }
{# f8 r/ a* ?) \ m+ z) q9 F
4 i) o" M. v: `/ \4 t& A. @1 r8 w+ }
, j, I! K" M9 ^( L6 I3 o
if(parentNode.parentNode == null)" S8 x: M, e# P2 a0 w% F' w
{
8 r! S) c7 E8 W) s/ [# @ isLast=true;
( `7 B* c, u3 @ break;
$ R) O! Z0 W1 j- t) `1 Q }6 \0 m2 q( _0 Q6 z
parentNode=parentNode.parentNode;
2 K9 ]0 \$ A3 h- u+ U parentBgColor=this.getobjstyle(parentNode,"background-color");
2 _1 _8 c9 L. q6 W6 k1 }, B: \2 z
2 t7 |* w, B- H7 D- Q; W if(parentBgColor != "transparent") 6 H6 S4 Q0 ?9 P( V7 d
{9 T+ ]/ L7 f1 b6 `" o0 V, ]
break;! M6 u# e# n8 ]8 U3 y
}
9 {5 f8 e" M/ P# [, I N2 E ? }
& ]7 L9 @" j. k% A* w) q- s if(isLast) 6 M4 G8 G Q: i" z) y
{
% C" ^1 l% n3 m if(debug)
7 R" [$ G) u" O {
: E2 v% ]( P5 T3 n9 X3 f- @ alert("last!!");0 ^& H# H+ Y5 v1 j# s3 U
}
4 }1 N0 ]4 k% w# f' T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
\* R: I6 H/ R& {+ x8 _: Y {* T5 t) Y9 ^3 p. {- U; {
orgNode.parentNode.removeChild(orgNode);
# p; G' G) W! y4 A }
6 F) L7 [$ R, t4 P& L% ]* g( M% j0 k }
+ y7 x$ {- U4 p- u# i3 e else: l6 F8 t2 S" [3 g2 R) w: {
{
3 B: p9 R6 O' w" I if(debug)
" P$ ?& Q# Y& P1 R) s {
9 _1 }# x' @( F6 Y6 V alert("compare color and parent bgcolor!");. ~& o$ \8 M2 @1 Y% v
}; x2 u$ A. d' F/ E+ c
parentBgRGB=getRGB(parentBgColor);
$ N9 E( j) ^9 X2 N if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 x7 n4 M$ t5 }: S; q# P9 S; V0 f
{: O; o' C0 h9 B3 m7 [
orgNode.parentNode.removeChild(orgNode);
7 \6 x$ X! c" @9 \6 i1 f }
$ q7 ~5 c" d/ ~) K0 o }; [0 K; g. G( D
}8 R* p; O$ ^+ }$ Z! Y% E: K
}
- v8 C1 x( Q" k+ C6 F. Q) C }- x. \% f* p4 B& |# W3 J6 T
}
3 I3 w! d8 W4 L- Y6 @
4 X% q3 y6 o6 D1 S" \0 L' Y- h
! z! H3 X" V; o8 f2 a# w- N var itemFrames = page.getElementsByTagName("frame");" N. K% o- X( B0 w
var itemiFrames = page.getElementsByTagName("iframe");. [, }; a o8 ~3 a. i
2 D# E, U- t5 G+ W1 q
var frame, iframe;* ~& X: u8 l( i% e
if (itemFrames.length > 0)4 t8 `4 r% ]0 c1 v' u
{ y6 u# X# x8 C# P6 {
for (var i = 0 ; i< itemFrames.length ; i++)
. j) [1 ]3 B5 w* ~ {( V0 B1 R- P1 ]0 u
frame = itemFrames.contentDocument;' C8 ]& c9 I7 u
this.RemoveHide(frame,objname);
& @4 M, I7 \+ z- ~ }
% X3 I3 X! o2 f! H$ B. r6 J }
6 `8 } b' I& S, H8 B9 ` if (itemiFrames.length > 0); m s1 [, w/ R5 F) M
{4 X5 a: K% }6 \
for (var i = 0 ; i < itemiFrames.length ; i++) 5 o. b5 s/ M: f) x x) `6 M
{1 u8 L, G1 m' P# N5 o& o
iframe = itemiFrames.contentDocument; [8 Z3 F t( }4 @! |7 e6 j
this.RemoveHide(iframe,objname); " V/ K+ B. ^2 n7 O( ^) ?! h
}9 g8 F7 R) s% o8 Z$ ]. n# a; E3 a; |
}6 }" S& ~2 v# u' Y+ r) \
}$ Z2 j; X: ? s# N+ _5 I
catch(e) E0 ^( O- [- H D8 i
{3 P E, d6 j( i' a
if(debug)8 e2 ^' Z. R/ P+ J6 R: I
{) s4 l, N3 c- S9 _# w$ ]3 J/ n4 r
alert(e.message);
. ]7 U8 ?+ t4 \1 b& j _ F+ O } d1 W2 m. z3 u* W% K& g
}9 u- r- R% C- [3 X1 z+ h: }
}0 h; K" G" ~, w: U* n
2 G8 ^* ~, m0 Q0 b A}/ B h4 E0 a5 o+ W$ K1 z7 t! g6 @
/ H4 g2 H9 K. v2 Y$ }" J: u! W
function getRGB(colorString)
; p. X# P( D+ n- @: n# r{/ Q1 N) P1 m% D j7 }( @1 s# e
var RGB = new Array;9 d; H$ s& t: [- W
var tempSting=colorString.substring(4,colorString.length-1);
7 _& Y8 }7 z3 y; Y. \3 l4 l var tempArray=tempSting.split(",");6 F1 ^2 C+ w5 ]0 J) @% C
5 ]0 \2 t- h ^. r: h6 c2 {& `. i; r RGB[0]=parseInt(tempArray[0]);, J/ I/ z& [; S1 s
RGB[1]=parseInt(tempArray[1]);3 {9 k) W8 A& Q6 {6 b6 `
RGB[2]=parseInt(tempArray[2]);/ i& u. k: u d9 W) _
! U! U% l( ?; d; |, v% ?, f; v
return RGB;! |( H5 C$ k! Q* b$ h3 ]
}" i% @. X5 t8 T: d: Z d
function keys(evt)
6 W$ d( Y2 n, H5 B+ F+ W# y! o s {
6 V8 s j) W6 L7 M if(evt.ctrlKey && evt.keyCode=="81")
# S0 K% T' ^6 ]& D {
7 e* H( e" A3 w5 j4 Q CleanHideObj.on(0,1);
5 l" s z% _" I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; A# t& U! x' w$ v2 i+ I0 n: u2 N8 |! K
; }* j9 N0 G. E Z( Y }
- G( t: \( M/ d2 T } " ^' @# t. o, f( W$ e1 `% p
document.addEventListener('keydown', keys, false);
* d, ?( |3 T3 X5 |GM_registerMenuCommand ('Clean Hide',, {) n0 f2 X0 W; f- O# U' a9 H V
function(e){2 H3 v( _8 ^0 h* |$ q# I( ^2 h
CleanHideObj.on(0,1)+ ]! i2 l$ j! N, f$ k0 W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& G' Y! f2 p! |9 q7 l$ j+ r t" ^
});/ Y7 X1 _1 Q8 K. O, W4 H5 w7 q
|
评分
-
查看全部评分
|