|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 N1 l4 P# T& P& c( w: l
' _, @+ T! v8 S, B8 N/ L火狐插件,用猴子; x0 ?) Q+ H$ p& h- J
0 j2 }( _* N5 U( ]; D* ^: h) Svar debug=false; 4 g' G7 U, J e+ f& g. Y- l7 H0 x. }
var CleanHideObj=new CleanHideClass();- o4 ^6 R/ r2 x
; ?9 I4 w& n2 U% m7 F+ ?
function CleanHideClass()
. Q5 R7 O: O% S{
+ _; V7 Y7 a3 u+ J 1 m9 l% m, [ |8 V) L* u1 H
this.on=function(id,bMZ)6 r5 S" L0 ], U# u% T R5 t
{# ^' e2 O8 w0 C
, E, `1 u$ r$ ?0 _5 @7 Y
if(id == 0)
! L. L* y- }# F {
$ E7 Q" Z$ C8 H/ E: ~) j1 i var page=/* document.getElementById("content").contentDocument */document;
& a% _3 Z( K% H+ i, R this.RemoveHide(page,"span");
- Z+ s: e+ p& q i' l' z this.RemoveHide(page,"font");
9 X* W4 M/ x& E5 N0 Q3 X' y% S, u7 x this.RemoveHide(page,"div");
' Z% ^. B$ v# D* x- d1 _2 @4 o r1 D this.RemoveHide(page,"p");
; K$ I. u; N8 O + b, N6 Y# O7 R, Z0 i% Q
} r0 F! O |! a5 Q5 s6 S
' D- n6 V S: R2 H% v }" E1 r# N; T6 E$ N0 g6 q5 y3 c2 s
this.getobjstyle=function(node,prop): W" R( ^* E2 o! a. w
{
9 z' P4 H1 p `5 f$ Y5 W try
1 R& w/ o/ O" F. Q% } {
8 l* f, a m& h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; O1 p8 D3 l/ f+ ]4 `4 i/ Z }
6 c. }& `3 s4 O7 W catch(e)+ f7 z8 |- a: {8 @! q; a
{3 E! p Y) e1 C& I
if(debug)7 L! d7 R* o' s9 S
{3 F' v5 C z' J) ?: W% M
alert(e.message);
& A4 \, u" m: O! y6 `0 ]" ?3 l }8 w* ]1 C$ R; e
, O. j$ Y' }7 x+ |
return "200";, J* o# u- o; D% ^9 Z# S
}! ^9 C" G' p4 b( h
}9 Q8 O1 n: V7 q6 ]7 B
) D$ S( p. E5 }/ N/ Z0 U
this.RemoveHide=function(page,objname)! V/ f$ _! _# @6 @! y6 Z$ E
{
8 Z1 j! h9 S$ Y$ w- J) ~ try) K% x' I- H7 W$ I) i
{( W; c. Q2 [$ ?: c' v; t
var minValue=15;0 U H* H1 E N. S* d* i2 n1 t. R
var objs=page.getElementsByTagName(objname); # E, }% Z' i/ G' ]! Q1 A. x
, d/ v8 E1 u, w; B! @6 l% i
if(objs.length == 0)
/ `2 g; F- R. z& O1 A9 y: | {
# }& Q8 f, J: c; g if(debug)
. t# j- U& H) [ {
" l" ^* ?# _. a8 t/ u alert("no object found!:"+objname);, Q3 E2 ~ U1 ?* F. h5 {( J3 B
}
3 d* e% y/ \% m+ A }
5 B- ~7 V& E' U0 a- @ else
* J) O, l; ~3 Y$ |# e1 l {+ L$ n- a) t; ^" p
2 X7 ~0 @ q( t# K* R% t for(var i=objs.length-1;i>=0;i--)
2 ]$ O3 [& Q0 m {
7 T( p2 ]8 u9 y/ u& k+ D var node=objs.item(i);
3 M+ D& K9 Z) p! y$ ^& H& G D # S! l* J6 a0 P1 c' B. B5 V$ i
Q! B6 S4 a$ B' k. ^
if(this.getobjstyle(node,"display") == "none" ||
+ L' @1 i" A9 k t$ ? e7 J) @- m this.getobjstyle(node,"visibility") =="hidden" ||6 _& n+ l% G# F+ I) j: j* V" V
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 J( d7 j2 o# _. z2 h2 u
{
1 C7 \9 L) L* p: w/ Q if(debug)
+ ^& Z1 K5 _( {1 c5 H4 i! g {
/ D' i+ ?/ m+ ?: x3 d' d alert("remove invisiable!");
3 \+ x! i, G" ?$ I+ Y) w. y$ i }
7 c3 O& S* R8 q node.parentNode.removeChild(node);
2 \+ D7 _2 t0 s: \1 @# d0 t ' u$ }1 v, Y% m! g* l+ F
}
2 M3 Q' x- Z9 C( P. U else
6 v$ O% O. c2 t+ |, A" @* @ {
4 e; \% F( p4 L$ {4 R if(node.parentNode)
+ w. e K1 `' v8 A+ Q& d! J2 @7 m {
. h; i$ y' T9 w+ e% U1 L2 D7 j var orgNode=node;
) E' K1 N' Y4 ~ var orgColor=this.getobjstyle(orgNode,"color")
! i+ n3 k! q: L var orgRGB=getRGB(orgColor); 2 ]8 V6 p% H1 w
0 O8 t; _7 m0 f4 f# O var parentNode=node.parentNode
& H" m, W9 K" m+ Z) k$ S' H# ` var parentBgColor=this.getobjstyle(parentNode,"background-color");
, X0 S J' n' q1 L, ^8 f
/ Y9 L- }$ [+ r: K* [ var isLast=false;
9 I5 I: _& f7 B9 u& _' \ % ^/ K k# n. G
while(parentBgColor == "transparent") 2 J J- X- b' g* {( H: q
{- g9 W: e H. S9 c5 e* u
3 p, x ]* N( Q& s
: n0 w; X7 j' ~$ z9 T5 T if(parentNode.parentNode == null)2 C, F; y" X! ^
{: R0 C4 D( Z& M2 ^
isLast=true;( ^% p* M6 f6 D" E$ m
break;7 D& t, q6 Z4 {0 @5 x: Q$ n
}( c- x5 [* x8 {5 }; S/ n: o& t$ \5 l
parentNode=parentNode.parentNode;
+ @" i0 d* M, R/ K- x5 h parentBgColor=this.getobjstyle(parentNode,"background-color");
+ q" a% c) P$ D8 Q% b h6 `( x$ J' X. n. \4 a) {& M0 g5 o
if(parentBgColor != "transparent")
. n4 Y- ^5 B5 A9 T3 C {
( @8 o" r. R3 U" n# K break;
. K4 p. H2 y& n% {- N }. F* l G2 Z" p+ K2 T
}
8 p+ J2 G/ ?" R$ i3 T( { if(isLast) - Y n; Z u/ Q2 X
{9 c" ]$ K+ u) \
if(debug)
2 h9 w- c5 @! Y. j+ V1 J( z! t4 S# t {* b% D# R* P: Y1 q7 \' u
alert("last!!");
! e: c' }( j& q+ } }( X+ j1 ], p& A& p2 F( |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. n! S( t: g7 \" Q$ Y% w6 h {
- O8 n1 n# A; i' z orgNode.parentNode.removeChild(orgNode); 9 n. P) l! ~$ P
}: t, Q( E6 Z/ S
}2 w$ {$ G( C& b0 C7 a3 Q4 r: c1 e5 _
else
# C; d& Q3 z& ?9 n: a% ?8 R$ ` {
- F- ?8 v+ k# F5 W' Z d if(debug)0 ~" c) f3 o& V) J6 Q
{! G! x% [" t0 G' F Q5 ]
alert("compare color and parent bgcolor!");9 l, d+ W" ]3 |3 a; h' T* y f
}
, `/ a/ m# P, J4 { parentBgRGB=getRGB(parentBgColor);
) k' _ P! T. @ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): O- R( ?9 w0 t" ^; y5 I
{
C( o8 s+ j0 C% N& b" n1 Y" u orgNode.parentNode.removeChild(orgNode); * }6 T3 k$ ~$ [+ B) |
}7 ]/ c$ v9 x* i. z- t% o' a) c7 k' C
}
( B3 m( z- d) d& ]+ L }6 T3 n d( `/ v H% S6 L5 W
}
4 t4 F8 p% k& c }; Z, ?- ]/ W, ?! F0 f& X
}* N# d& D) }, q ]# d& M& g
5 T8 R" c* a+ E" l. ?
' s! |7 I3 U( E; B: b var itemFrames = page.getElementsByTagName("frame");
/ x+ q) u$ b6 d2 O/ Z) G+ N var itemiFrames = page.getElementsByTagName("iframe");8 \* k* w- W7 N
0 H9 l2 O9 u6 e9 z* }& U
var frame, iframe;6 j& m9 [. l& R" K; D: c
if (itemFrames.length > 0)
5 s: }2 v) T/ w! a+ y& h: i5 F* X {, H# D4 q- W j1 U7 V
for (var i = 0 ; i< itemFrames.length ; i++)
1 U x4 E; h: R9 n; R {
2 B2 y$ |9 Z1 @$ j5 _3 H9 N frame = itemFrames.contentDocument;
6 M0 S/ R% ^! c5 r$ B& ? this.RemoveHide(frame,objname);
" W% {7 U0 R% H' U# b }
( C/ C2 A* {5 E! g! [( o7 w }$ m# F6 R; q0 v( B+ Y# R( T
if (itemiFrames.length > 0)
0 P* z* d/ @% U2 `' Y/ w6 B {* S6 O, Q5 L2 P% [7 N
for (var i = 0 ; i < itemiFrames.length ; i++)
& `6 X: A; `3 J. o {
' O$ V `; c3 F1 [( i& D/ o iframe = itemiFrames.contentDocument;0 W/ p' ~1 J7 u3 ~' j* }' x
this.RemoveHide(iframe,objname); 8 j" W( w7 T( A
}
4 G( ~1 z/ v3 ~: _9 W; d6 c7 I }
( [2 U: }- M, t( a9 B) S2 {- E }
) } E: w2 e2 ?! }- U3 _( E catch(e)
2 y, p- Y: }7 f {
' F l2 H _' r G* r; y; _4 Z if(debug)
% u8 ?4 ~7 p. S {+ X- ~; x5 B& I
alert(e.message);
! k9 S- L+ N9 ]* d, I+ ` }7 J y1 i# G3 ]5 K
}! v+ Y5 M& J2 h7 c, a' u# J/ v
}2 p: r, f- x# q3 z% H" _+ ^$ e
) K w& @. h. ?% }: d( C4 ^}
0 r! z B9 Z+ K+ j) B' @
D0 U, X' ^) v" l7 Y" \) \/ Gfunction getRGB(colorString)5 k( q% D/ `# G* b& I5 y) \
{4 f5 r8 l8 L0 a' m
var RGB = new Array;* U0 k6 t! X" G# i
var tempSting=colorString.substring(4,colorString.length-1);
" q3 C& q v9 i. v var tempArray=tempSting.split(",");2 [0 e' d. h- q. N
& R, E' t8 a( \* ~% G1 C N- ] RGB[0]=parseInt(tempArray[0]);4 \/ K% {% v l [) I5 M. M
RGB[1]=parseInt(tempArray[1]);: E) B. d$ j3 u4 j
RGB[2]=parseInt(tempArray[2]);2 `6 n5 x! I9 M
3 L3 b3 b, p/ k$ B
return RGB;( r+ s7 x0 \) ?/ t( n. n
}
1 T* [* f$ }, Sfunction keys(evt) ! t7 b/ f1 ~" J4 ]8 G' |9 I
{
; S% j& K$ N8 U$ s! Y r6 c if(evt.ctrlKey && evt.keyCode=="81") x) w1 Q: B# r+ V
{
6 }5 P" W4 U( [! d) G CleanHideObj.on(0,1);
' F6 n' H% l K: y* a. a# p, ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . K+ }. o9 Q# _
! _6 n( S- {- `$ w' R" [
}
6 S' f0 z- ~8 o' T" T) l5 ~( @ } " h, O5 Q) F) Y( p% _ @) _; O: `
document.addEventListener('keydown', keys, false);
: n8 `' ~% N) d& T0 EGM_registerMenuCommand ('Clean Hide',/ \. p1 `5 ?. A( v9 m- r
function(e){6 q# N) T$ S9 u: ~
CleanHideObj.on(0,1)
$ w( ]# W) N6 `0 n3 }" W2 w" oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ C, B% t+ H/ h1 w) ^});7 j+ f# m' W5 s& m/ Z1 A3 k* N
|
评分
-
查看全部评分
|