|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 q- Z, k1 d( E% d5 e: j" b( U
; T( q0 `4 S2 _7 w火狐插件,用猴子# T8 \, J) y2 ^3 Y) u
3 d/ s, H' j4 H6 ^$ H
var debug=false;
+ x% E) I( x! X8 z% `6 c3 M! tvar CleanHideObj=new CleanHideClass();
& U V: C9 E% h7 ^: Y: W& F4 C8 Y9 S
function CleanHideClass()
k( H K9 y; i4 b7 h2 k! f, J{ 2 B! k- M z# ~3 I2 ?" A2 c, _
! Y& }9 ]* D5 u( T R% C
this.on=function(id,bMZ)
5 n4 V. s/ `, u' D {
5 O" S8 v& D/ k l3 |. O$ {# z% I
if(id == 0)
! q* Q# F6 m6 q: ?$ @6 T {7 k* p) |* t+ ]9 |
var page=/* document.getElementById("content").contentDocument */document;
/ C, {7 w6 A- T) X+ x) j0 N this.RemoveHide(page,"span");
2 L. z4 S0 s2 d* f4 x# p3 x( x3 R this.RemoveHide(page,"font");/ m; E# r' Z* H {/ }
this.RemoveHide(page,"div");
' g/ r8 i# [* J0 ] L this.RemoveHide(page,"p");' W: z0 W: X3 g' V
; S Z6 o5 ~7 N# ? }
+ q$ s/ [) Z' x& t " l. C" d) S4 H7 z* z: @9 J
}0 t0 v3 D, n8 v1 | Y1 N
this.getobjstyle=function(node,prop), v" }0 K& X( u: M2 q
{
& O0 Y+ v- H) ?- M try% |8 [5 e- t9 k$ Q& p) F2 W
{. B {% P3 @8 B7 ?9 I9 v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* l; m, ?# q( i0 M( s- T9 o& p
}
" ^6 h" Z9 P( |, _% v catch(e)$ t9 ^; D% Q- l) B
{3 v; s: K% W1 _6 r5 i
if(debug)
( M, y3 b, n& Z: k6 c7 G {; e f) c; @' S( l* z6 P0 N& W
alert(e.message);
' F" R# T" p2 ~, D5 ^/ s( R }4 E- Z( t" ^# q* f2 @
0 v3 v* G5 Q, v
return "200";
3 p8 r8 p# r m }; G$ D, W! E a# C f: w$ {
}9 O6 M& @0 A6 l& E" l
1 @5 L( X! ^9 V' V' e
this.RemoveHide=function(page,objname)+ ]$ Y6 k& f9 o( m) I4 F2 `
{% {9 j* _7 T) k" z1 P7 [0 s
try# x( ?, v8 C' T0 S9 U
{
% P5 [9 o) f2 s$ g3 U var minValue=15;, {6 E- ^7 t# x' k7 ^
var objs=page.getElementsByTagName(objname); : u) u3 B/ _9 L$ I+ o& F; R
" y* p. t! O" o( p2 \# | if(objs.length == 0) $ L; B' n" r/ p& `+ C( p
{
; X9 G& T: K R+ m5 s2 g2 b if(debug)
& m& y/ Z% Y4 {( ^) c {' i7 H, E) y4 u* C6 S
alert("no object found!:"+objname);
& g: b x0 k s" u f5 _ }+ ^- N4 b* f9 k7 X Q" I Q/ |* V
}( ]; x3 c! ^6 T* c$ Q
else! H0 D2 _: Q9 _* P& S% E- V
{
/ `% a- a( V8 N3 V& l
?! F. V% k; D for(var i=objs.length-1;i>=0;i--)
3 ~5 I$ \6 c2 v {' c5 r: l1 A T0 p, u, [$ [4 b. ?
var node=objs.item(i); + ?, U0 F2 f8 }6 [7 O
* z6 S" L3 Z7 k4 [ * b. Q: t# M X7 g. O
if(this.getobjstyle(node,"display") == "none" ||
: d' z5 i2 t) U8 h7 J# m% L this.getobjstyle(node,"visibility") =="hidden" ||
N/ b5 ~& y+ |1 ? parseInt(this.getobjstyle(node,"font-size")) == 0)
* d) @& ]$ W6 f& m1 |( M: S0 a {' a5 _0 ]- h( n6 a; V! X) {
if(debug)
3 O5 y; ~( C, D3 q9 N5 m {
' L" f- @% K0 g B" C* a3 G2 ^ alert("remove invisiable!");
b$ n) v$ F- q$ m" O3 f }
9 ], `" ~8 { t1 m8 K. G node.parentNode.removeChild(node);4 I# k3 E" k" F) A
% R5 r& H$ d) W7 R$ f- ?3 s4 D }' U. i1 x% _: w& w8 ]! B i
else ) I" {, S/ ]* H% @
{
% l' f5 k# w4 M: G* E) |( A if(node.parentNode) 7 l ~% _3 v" W4 h
{
6 U( T; y0 e" _7 L$ z$ N var orgNode=node;- M, ^9 O D+ O! a/ B$ U' C1 ~
var orgColor=this.getobjstyle(orgNode,"color")
/ U4 I. {2 V% {& { var orgRGB=getRGB(orgColor); 0 F& E0 i- C( b/ a4 V8 q
4 u6 b+ B' E& v3 u+ e C# O var parentNode=node.parentNode+ y# m) }0 @+ Q$ j) Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 M8 t) k9 q9 j" T
' q1 ?: z# {% B2 [ var isLast=false;5 `3 ?7 y) u& Q
0 K2 b4 g: f T/ H% M while(parentBgColor == "transparent")
, U; G3 R2 }, }3 |, Z {$ C5 Q' j2 @3 x7 w1 k
9 \ N: V6 ]& Y6 n " K3 G8 v t+ U* Y: n
if(parentNode.parentNode == null)0 x: Z+ F' e x" E, {0 x
{4 m$ q$ H2 J8 D' ?
isLast=true;+ C. G) [' ^, v. u O
break;
! e: @! ^6 R9 B8 L* I; s }
9 U& s; p( F9 n5 W) ]- h& ~) [ parentNode=parentNode.parentNode;$ A2 `$ f# S; k& v
parentBgColor=this.getobjstyle(parentNode,"background-color");% y( N9 X' I6 ]" b3 T. ^
9 }, Z# O( a' D/ \4 C& v) H if(parentBgColor != "transparent")
( P+ t% d) P. i7 U7 K$ y) [ {
5 G# ?* @2 X0 z) U9 x( T. N. m break;
+ `8 y- c* q6 P+ q1 W$ N2 K }8 c& p( ^# l o6 Y8 f
}
3 v+ u. b: y, `- w& M if(isLast)
* m' F5 _, X, T* n- l' `9 y" V/ v, Z {$ p! N5 R/ k/ N* @8 [( ]& U
if(debug)
" W& { {* E4 t* x' E" n$ b {
/ f: \$ v/ s5 M+ n alert("last!!");/ F0 W) t: i9 T5 S, [# O) R( S
}
$ P+ V5 } R% c/ {$ ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 \# w0 W1 p: A. t8 ~: C {" ]8 g8 P k) W1 f# L# r) l
orgNode.parentNode.removeChild(orgNode); ! N- i5 I7 x0 l6 W; K
}
2 l( N$ u8 G2 Z$ k }4 _. r4 _, I% m2 I' ^) l" G$ |3 c
else) @5 L7 U/ `. V% D$ _* e
{
& K( R$ ?7 E5 q) W1 t if(debug); r1 Q8 w2 Z4 H; n+ U% S& A( H
{
9 {% J! v3 j- M, a6 u alert("compare color and parent bgcolor!");
/ G/ J2 v# K1 j9 O G% ?. T- b }
. [( ?7 J$ h) i- C( } parentBgRGB=getRGB(parentBgColor);
) o! p$ `0 }7 q. d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, B3 k/ w6 Y% r1 i4 v' W. H {
4 Q' y3 E4 r& T; k. i# ], q orgNode.parentNode.removeChild(orgNode);
8 [1 U$ R' @! b9 ~) ] }" N' A* |, P. o( y, r! E7 Y
}
& Q( t4 [: N; J% `% v7 p }
, e8 M' Y5 B' Q! w, n2 O* Q+ K }
( K" P2 t$ X; L. U! m' S9 r( m }
: Y7 P" t; K7 K, J }
+ ]" m" g+ G, J' L' e2 k
: u5 ]! j) Y9 U' A4 @9 R1 E
5 F( b" J! ~. d var itemFrames = page.getElementsByTagName("frame");
2 y, H0 @* g- M- Q/ K2 A& [ var itemiFrames = page.getElementsByTagName("iframe");
% K, \) d2 d. M
$ ]! _3 k% i- S4 R5 R2 z( _. \1 [ var frame, iframe;6 y' x( b8 ?4 @, h
if (itemFrames.length > 0)# S8 E7 ` D# H: l! ]& i1 f6 e
{
( n% j- [5 d' W! } for (var i = 0 ; i< itemFrames.length ; i++)
% k M8 A! H" p6 D$ [6 t( S% x( ] X {$ [. z: H2 B# N- d( e2 Q3 I
frame = itemFrames.contentDocument;
& W+ ?* w- Q; }2 v1 } this.RemoveHide(frame,objname);
& p$ E% A$ s5 A' Q }4 Z, V9 q' R! U7 N
}! L% X2 M9 Q( n) l0 w/ ?
if (itemiFrames.length > 0)
* y' o) ^5 |$ G" p2 |& T+ w' N! G {6 z% C5 }: b, V$ g1 W* r5 N
for (var i = 0 ; i < itemiFrames.length ; i++) / o/ N( j/ U9 P
{
0 e3 W$ q/ N, b+ z. h6 w7 J iframe = itemiFrames.contentDocument;
3 }. G% e7 q" h: |/ ] this.RemoveHide(iframe,objname); 6 d; `4 m. `6 A1 P9 J
}1 k @* _1 o# P
}) f2 Y/ S4 ~0 l' f* E% l
}
" X* a, [3 ]5 [" R catch(e)
! G" P8 j9 l+ o0 E: p! v {2 ]9 I% w" A+ L R7 l
if(debug)
% s1 b4 a8 ]/ {7 B {
2 a; u7 r; y" _0 D& q) R alert(e.message);4 A# ]+ F) i1 ^# `9 k% F
}
; ` g0 h: K, c" J: b }
3 n2 _+ s$ w1 P1 [6 c! ?: r }( S% C0 y4 b9 f5 w" Z1 s4 X6 _5 r
" X0 G' E: Z* i9 p: O$ l
}& m0 y6 z+ d1 P+ S% Z
: a5 a$ ]4 [3 V, }! T1 N3 [function getRGB(colorString)
) g3 d/ ^: g7 e! O7 o' S6 }- |: C{
* i: t0 L8 Y, L. q: C6 Y- Q var RGB = new Array;
2 ^# X7 ]6 @' |/ F var tempSting=colorString.substring(4,colorString.length-1);3 p( U0 I+ o5 p3 T
var tempArray=tempSting.split(",");4 h. Q# L- ?6 U# s! \7 R( N1 v
! \+ w5 D$ l# n' h/ C0 i6 G
RGB[0]=parseInt(tempArray[0]);0 A9 V) G+ A/ k# m# o0 w& E
RGB[1]=parseInt(tempArray[1]);
5 }, m! n4 T6 G& \; X w4 g, a RGB[2]=parseInt(tempArray[2]);1 ?; y {2 Y" R
. Y* L' k2 D% c0 g, T' A5 G
return RGB;
3 J5 m: F H$ A+ d0 s}
8 O6 }8 I o: `% j2 `function keys(evt)
k0 ]! Q4 Z$ V5 I { / K5 A! t x, w
if(evt.ctrlKey && evt.keyCode=="81")
8 ]$ H& M- c2 X8 M# l { 0 t5 x! B) G2 W7 h7 O- W
CleanHideObj.on(0,1);# w8 C" J# p1 d Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* \9 Z. O/ S2 b4 V* p' s/ Q
9 r8 r. Z& V+ X7 y } 4 W0 u/ Y1 l F
} 0 y. k" M( l8 J' g* q9 Q+ _% b
document.addEventListener('keydown', keys, false);
% _ h; j7 ~* K( BGM_registerMenuCommand ('Clean Hide',
( b5 }5 S+ O' n7 P' p# h, \function(e){! h9 b8 [# L [0 } i( N% f% P
CleanHideObj.on(0,1)
6 X- Z, N/ a, P& Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 v0 w, _3 t( a- d5 b! k }});
8 n5 f3 o8 _1 ~ |
评分
-
查看全部评分
|