|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, e5 w; t4 h; U: A8 H* K3 Q5 V
& Z! X ~0 E" E1 f* x- Z r火狐插件,用猴子
8 J; i! b1 F1 w% P+ d! x x9 b, W0 h F$ I8 e$ d6 Z
var debug=false; # `% b0 r4 C! h2 w" K) E
var CleanHideObj=new CleanHideClass();
4 D9 S2 C7 U8 }
. P& r5 h0 a+ t, l6 Q+ Pfunction CleanHideClass()
8 o! o0 Y6 V. g: g0 A; g1 @{
) V; X2 `0 n* a6 [9 `) ]9 K1 t |9 ^ H4 F5 u7 ?/ C% P8 E& e
this.on=function(id,bMZ)+ A& C) h: E5 P4 o1 r2 X
{% H. v) U$ X z
% I. {* L$ z6 Q3 ]$ g$ w8 V5 C
if(id == 0)
- u! d4 f) R7 Q E+ U9 q. X {/ Q. }9 B7 d. O6 ^0 k7 i
var page=/* document.getElementById("content").contentDocument */document;
$ A# X' u. @% T# ?9 V# _! u2 } this.RemoveHide(page,"span");
2 g3 I9 {; ]: W) |! _9 o this.RemoveHide(page,"font");0 h. }! f7 j! N. T4 Q* y) l: K0 W
this.RemoveHide(page,"div");
8 A2 {- ^6 i! ] D3 l* S- l this.RemoveHide(page,"p");5 u/ c2 a2 `, i- E. T) o# v
1 ]+ c: o9 }' g' r8 J# K% z2 E1 E
}1 n- q/ t. N* ?/ h3 M8 m
$ o# N& O& R; z& t m }/ Q! C q. T; P2 _0 w
this.getobjstyle=function(node,prop)
" X2 z* Z, o. X; _9 L {
& T |) S' Z' ~! A3 ~0 ^, C7 K try
- V( |: K9 u" f6 j5 v1 A {
& l) r- @0 s3 w; Y( S& T) z! n+ W4 c' @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ p+ ^" V( O8 c! y% P* ?2 S- s9 k
}
3 |( [: `: e2 A# m& v) \ catch(e)
K1 S" z' Q" t, U {/ o2 m0 \# |) N- t- l
if(debug)' B& r1 q9 w& M7 Y- I
{3 E7 P& W) V( |, D6 x
alert(e.message);; D' ~0 p& Y% ^- a/ {6 f& c
}* A$ ^8 B1 s8 L( u
9 T' H, ?: V% I) Y$ g; m2 X% U return "200";
2 P' T) ]5 X3 E/ S4 `7 o }+ g7 }0 c6 X! j7 J0 p$ Q8 h; r
}
- }; p9 r9 u+ R5 ]* Z
. l2 Z% R8 ?+ K' D! y this.RemoveHide=function(page,objname)9 ]0 t* X, u) @/ h! ]0 l* D
{8 L2 O$ J, c8 M+ S. a# V* Q
try
5 ?5 U; Y* `- G* o) |" V {6 ] n* P# w5 B3 ]% {
var minValue=15;
- o+ S. O6 S- T) z+ v6 N var objs=page.getElementsByTagName(objname); * ~% [: R6 ~( i3 A
) ?; \* s) I& g9 f# ]
if(objs.length == 0)
& g2 p$ }! x; {) ~" q8 N {
) J" k8 o) c, `3 J if(debug) \! i8 w4 N p7 _% ?, i9 r
{
# h! z: F4 D2 j8 U+ _9 Z/ n alert("no object found!:"+objname);4 E: J8 j, H. w! E/ Q& i! A$ G
}
: K* ^. v7 _7 u6 a# S }
( x, @5 V! E W8 {: S. i% O else; @/ P. g3 G; O# M+ _2 T
{
6 Q* Z; @, m- b$ n7 Y* C2 {
, ~7 w8 }: ]8 [0 z5 d for(var i=objs.length-1;i>=0;i--) 5 T0 h3 X5 @" D; G5 A6 d$ y$ ^: r
{& ?1 G6 }, s* \; W0 Q. V, o! ?
var node=objs.item(i);
& { ]7 `3 T5 d0 a6 s4 e/ X7 G+ n
5 c$ W5 S) s, b6 H ) b& |* U- S5 R2 {9 j7 S
if(this.getobjstyle(node,"display") == "none" ||) H( {7 ^$ Z, z
this.getobjstyle(node,"visibility") =="hidden" ||+ _% M4 U! n% w+ J1 n
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 a1 d% P0 T, h* |, M: ~1 f" A+ s
{6 G4 r; p% _, F
if(debug)
5 A6 k9 J6 u; s5 U {
5 h4 n: Z# s( m. s5 k7 f alert("remove invisiable!");
! y8 S" r; e9 n- v }2 _6 ]& |4 V5 N6 a4 x( }& ~
node.parentNode.removeChild(node);2 Y Q1 m6 |3 j9 n, S! S2 ^' M! g
. b$ d* s q' l! j1 `" i
}
& c# y% P3 |7 Z else q. n$ h7 }' x2 ^
{5 I/ k, \( T+ K& M8 A
if(node.parentNode)
- p. ~" o9 R8 h5 ~2 I; d7 V$ e {1 a6 E o1 a& u7 }
var orgNode=node;# S, E5 c! x4 b; y& l
var orgColor=this.getobjstyle(orgNode,"color"), R; p# ?0 U4 F1 X8 z1 y3 J0 q) W
var orgRGB=getRGB(orgColor); ; `2 a/ |0 p4 p$ X
3 H" \0 x+ B+ g, R/ `9 J
var parentNode=node.parentNode
! ]- B1 T& E5 A7 o+ B4 R var parentBgColor=this.getobjstyle(parentNode,"background-color");) A" r( ~9 X! v
2 S# L$ t' D& C' G1 U8 g& w1 G var isLast=false;
# z {1 J& m% q1 u+ v0 n, A. e; A
, L) l+ N8 m9 E4 [1 x6 S$ F while(parentBgColor == "transparent")
X" o/ w% V# ~3 S {/ |! I& t$ l$ a* }5 q+ N
) e) c# \% a7 z ~" `& u" S9 [
* [9 t! N) S; `$ R7 {
if(parentNode.parentNode == null)
) B) c( W5 u; e5 [ {( t4 C& U6 C. g, c; d
isLast=true;" Z. B. b; w% N! o- _
break;
0 K1 k2 `* h5 X* M- t# y5 O }5 a3 v- t8 w1 Q/ L' k5 Q
parentNode=parentNode.parentNode;
. V+ S5 X1 L7 X parentBgColor=this.getobjstyle(parentNode,"background-color");
- A; S# F) R+ S. l+ }' y V+ A, b) ~. @6 H6 m
if(parentBgColor != "transparent") ( C/ x( [( A/ m! y& @% `( |& P" r' l' S
{
' \, z* O+ T6 }; y break;
: ~8 l8 L+ n+ ]& L( U$ G1 Z }
5 H$ ]# ~$ @# E1 v% g }
, H* d, O7 ^) ~7 J! o7 i1 r( y if(isLast) 2 ~" c8 X1 d6 x6 x* X$ j( c
{' n; d2 g/ r3 m* ~
if(debug)# R9 Z: L% K3 ^
{
9 W% \) b4 c! t alert("last!!");( i6 ^- S8 k6 v# p% V, C
}
- {7 a) q+ Z4 T# j2 d* t" P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* s! _4 e# j8 c {1 R+ h7 `2 l1 U# I2 B2 D
orgNode.parentNode.removeChild(orgNode);
6 H4 v! O& `# a9 X4 c }
+ D& w9 d: D" I$ e A" ]( M }
, L& N2 d8 U1 Q" f8 `7 G! o' j* Q else8 U0 v+ d6 ?+ [4 t6 V% t: g
{
0 V8 j; z7 V6 L- V& b if(debug)
1 R* U' Y0 i# l/ r {+ W, A) N7 N! P9 n9 S" s
alert("compare color and parent bgcolor!");/ y) t; a9 k1 B I- x
}
% s8 T- T% I# b- [* P" @* b parentBgRGB=getRGB(parentBgColor);9 p) }& A" M: n! E0 a9 g5 v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# x) d, b& V% @$ {# Z# w {! M% Q A5 l3 u7 F# }
orgNode.parentNode.removeChild(orgNode);
, U. _8 [) [; f \! y }# Y( X) Q. m1 N* A3 f" r1 |7 x
}
W9 ~5 t) g6 [! h) o }; } w4 K0 j! h
}
, N" V8 i. x0 k+ ]! \& P }
$ a& P8 t' W$ ^, w }
; S: o/ j3 q: m0 P
' n: l3 T' p0 ?1 ]/ C 1 C0 \; J, }& s* F, h/ l" X0 H
var itemFrames = page.getElementsByTagName("frame"); U' `" z2 C$ r7 D& i+ i& s
var itemiFrames = page.getElementsByTagName("iframe");6 `% H# ]9 a/ C
/ t2 ^# T2 c t3 B4 ^$ O var frame, iframe;) Y9 I# p0 [4 O& _
if (itemFrames.length > 0)7 [6 D2 z4 j. |
{' a& R5 u+ w% v! _
for (var i = 0 ; i< itemFrames.length ; i++) . S d, `* L( ]) K! x
{. F- ]$ m7 d2 i- n$ F2 I6 c- V
frame = itemFrames.contentDocument;6 H8 Q* j. m3 J9 ~' K
this.RemoveHide(frame,objname);
5 ^3 |$ }4 N6 X" H5 | }
6 g+ R. q$ ~( {) v. k }
0 w& e5 l) [4 t! n0 J' b if (itemiFrames.length > 0)
2 Q# J* K* J+ c, ^2 K0 m( f! X {" i. Z# ?% X2 w" q& e
for (var i = 0 ; i < itemiFrames.length ; i++)
I% F3 V% [8 ~% ~! V- r {
1 x/ }7 U7 D: t Z iframe = itemiFrames.contentDocument;9 g9 f+ q1 K; Z# ]4 m7 v
this.RemoveHide(iframe,objname);
6 c% q& }3 h: a/ | }
* o' V5 N7 K$ B- A$ x }
! J3 U* u3 C4 R% F/ h, E, W }
/ r( w# Q$ ^! h- u0 v$ Q& O# w7 j catch(e)5 N; K7 ?* l/ v5 G; I9 X1 j5 ^9 f8 G5 S
{6 c$ X/ K7 M! B
if(debug)* l+ |1 I* N, s/ R, L8 Y
{" \% x/ I3 M1 V
alert(e.message);& D0 R! l. Q% u, d6 b
}, {5 H% W. h5 J0 y6 \
}
5 P# X9 q# D) S/ Z# D }, m/ `. @& p4 ~9 n9 l1 S: I# T/ F
2 M* ^, ]- z `/ B
}5 b& P0 a& b- s: e# u
7 z2 K$ Y" L6 bfunction getRGB(colorString)
/ m/ S8 N5 }' K! v: t* l: c, j{
! }* b* F, v" } T/ q2 ^. Q) s. k8 I var RGB = new Array;( @4 Q6 v+ Q; c* D: ?
var tempSting=colorString.substring(4,colorString.length-1);
$ y+ F( Z( H" h% o var tempArray=tempSting.split(",");
$ e7 X+ T2 L$ I4 L# F* I \: S7 k4 I0 r1 h" \* E
RGB[0]=parseInt(tempArray[0]);
/ Y1 }, E/ H" I: j6 {) ~8 ]4 L RGB[1]=parseInt(tempArray[1]);
- q" r: E1 e: p& ~ RGB[2]=parseInt(tempArray[2]);
# K9 V7 x# c9 \& K9 x 2 a$ D7 q2 l9 s0 \! Y. x9 w
return RGB;
+ o1 {2 o2 `. G* m& L, V}
/ f& _1 @" x5 ~* I/ B% M/ s# ]/ d/ Cfunction keys(evt)
$ D d$ f4 Y0 ], k% ]# ^ {
4 P' S2 C" p- k* p o2 f if(evt.ctrlKey && evt.keyCode=="81") ' Q" l) |2 p) ~& y( E8 b' Z
{
0 l/ I6 W# E4 u3 O. z/ |$ r CleanHideObj.on(0,1);2 R/ u: b) Z9 R) k$ M$ \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 N T. j4 `7 v
+ x$ \ |3 Q2 O; E' ^- {( Z+ F0 v4 h
}
1 V7 B2 z0 R# W3 B, v; H( x } $ l {/ A+ c, R1 u7 |
document.addEventListener('keydown', keys, false);
w5 j5 X6 q) Z2 f7 zGM_registerMenuCommand ('Clean Hide',1 [0 e3 d2 J( g1 F4 I3 w& J
function(e){0 \' M! q6 N4 n6 ~: W7 i# i
CleanHideObj.on(0,1)
8 \9 P) a( {, `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' R; @& r3 [* R( v- H6 `4 v
});9 D% |6 S$ P+ f
|
评分
-
查看全部评分
|