|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! \( H d% E/ W* i
6 O4 u, _5 a1 G& i
火狐插件,用猴子
8 }) E/ M& @ V" w, S! J2 c/ v5 k* W5 b L7 I9 l7 s
var debug=false;
* t, m' d5 M: p2 C$ X' L$ {5 rvar CleanHideObj=new CleanHideClass();7 C" [2 d+ o, R2 \7 V7 d: }5 p
6 F+ ]# H% Q/ X, Y3 G6 v B9 r& }) Vfunction CleanHideClass()
/ X3 d6 ^% o3 E9 Z+ _{
. |5 U |7 ~: r0 A# N0 M0 y
+ w" J# O0 ?0 e+ I4 J this.on=function(id,bMZ)
' b4 V+ z+ m' x: x S {
' l$ ~1 ^5 ~0 O9 P0 I4 ]# n
' i8 X' Z* |! R/ p# l. K if(id == 0)
6 {" g3 P* H/ G2 E- S- V8 i* d9 F {: ]! @7 q; }! ~+ V# o$ q
var page=/* document.getElementById("content").contentDocument */document;
% E3 P0 ~2 c7 Z; ]( C this.RemoveHide(page,"span");
0 L( s* ?( @* \! J- _) a4 ` this.RemoveHide(page,"font");- n( Z) E$ W! H
this.RemoveHide(page,"div");
( C: T6 b8 F3 |& Z9 |6 t/ h7 ~ this.RemoveHide(page,"p");) d$ f/ y0 H! x+ z3 B
. ]+ d% h' s: N6 b
}0 X' `9 V% T9 ^
1 x; q+ K4 ~& h4 @4 y2 ^, x; n
}0 A* ~% P/ U" F: `6 N* S) T
this.getobjstyle=function(node,prop)5 _, [5 z4 I% [9 l
{
4 q9 _ o5 f4 Y; s7 X+ P0 W W try
( A- M$ r& Y; M# i0 ?4 v# V {1 A2 `- W8 {0 s3 _, }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ x: Y: O2 \+ _4 d+ H. q1 _6 q }
, M$ F+ o% |, m" s- q& E" o* X; c catch(e) C. S- K. w3 d7 P4 @
{) k4 T* J' c" ~* b- ?
if(debug)
' P# p0 M3 y, h" B) L& L. \" S3 f {
4 h( d. V* S! x C alert(e.message);
: t3 B7 T" Z! a7 _ R. H# u0 P6 O }
/ ~% P5 t/ L7 ?- m) X% g1 X3 G
9 a! O0 X5 J+ i1 S2 { return "200";
, k; z3 {1 t$ A }
! v# T# x* n( j- e3 j- r }
B3 {- T4 N) O$ \ 3 J6 c: T7 P8 h
this.RemoveHide=function(page,objname)4 A% q: n& y( S
{
4 y* p% M2 c, {4 f' _2 r try
! o6 M7 t8 \* @5 L- b, J5 d+ T {
, [8 ]5 M ^+ l7 _+ r2 ^( t var minValue=15;9 J' ^& g+ z7 R4 n
var objs=page.getElementsByTagName(objname); # f$ i; {! y2 b6 C u, R2 B3 m
( T! G( U) z" l6 D' L+ T& Y
if(objs.length == 0)
' R: J; G; M3 L$ p2 f. p. E* \6 k {' S3 h2 c5 L u9 Z9 w
if(debug)
8 ~7 ?1 o+ X4 h3 H4 e% {. c; b1 u { R) R9 B( {- R: O& ?
alert("no object found!:"+objname);
! s! {4 M; n! T+ i, a2 H }
" U4 Z, E: Q( t& P8 \& M$ O0 k }
- h j& p# D9 X, _8 _ else
7 y4 K u3 s4 H- Y4 L; a {8 i$ F# }( D) q: x
?# N# e$ |0 O/ g# V7 S for(var i=objs.length-1;i>=0;i--)
: V) i" S/ f- ~* X5 u2 F0 ] {* K' C1 S6 ~6 M3 ?8 O# x' U# F
var node=objs.item(i);
* {1 R, L* H! u% d) C6 c* g+ t/ q 0 @8 e' n/ x0 G2 I3 X6 e
- n% J) f8 Y$ H2 a9 M$ Y if(this.getobjstyle(node,"display") == "none" ||& U/ q& P) p; H9 H3 e3 Q1 l
this.getobjstyle(node,"visibility") =="hidden" ||+ B+ d$ m, q# j' u. Z& l! r
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ b" M+ k$ m9 q ?5 X- I3 s7 T {
2 U. A4 p! K% @6 { if(debug)
1 y' x- V' ?. h1 h/ T) V {: K$ R1 q5 C, A/ R8 J& M
alert("remove invisiable!");, Q- u7 X- s7 p
}; r* u( _- J: D* M- t/ H: Z& \
node.parentNode.removeChild(node);
9 T1 y6 E! b5 e! c/ H, z w! t . J1 V9 B S" I C6 G
}
( ]1 z- B r% {$ ]' I6 q else - z6 i6 l( {6 t) V: M Q& @
{
- Y( ?; a& W2 g7 I# i3 U. y( ^5 W if(node.parentNode)
( V- U# t8 x$ x9 z. L {
$ M2 p+ d' V0 F1 A: Y( S+ ? var orgNode=node;& C- K6 v0 ?* N" u1 f0 w& r0 E
var orgColor=this.getobjstyle(orgNode,"color")
/ l: I5 {" Y c" j var orgRGB=getRGB(orgColor);
) h) O4 o5 f4 k. P- T 3 @* p' C4 A* c; i; ?
var parentNode=node.parentNode
, z% F' z/ A9 G var parentBgColor=this.getobjstyle(parentNode,"background-color");* ]- w' D; z: U7 i7 y0 K
7 b2 E8 a; h( l* T" }2 L
var isLast=false;
! n3 e: \ ^9 C: z0 _
, Y; [& j4 @) g" J3 o' z while(parentBgColor == "transparent") 8 p. D8 H# O1 L) ?$ t
{# X% F. n8 t& E* ]# o
" ]) A( ^2 n6 x" e0 v& t
& L+ V3 r- l1 v7 |9 v [% K# s if(parentNode.parentNode == null)5 s2 p8 L* G0 z$ S
{
# v& S- w5 R8 r. w$ b% y; \' F isLast=true;
: h1 e% B; ]4 M }. X break;
8 b' ^' i( A) g! V5 k$ ]7 c3 P }: v+ U8 B/ ^( }9 b0 t: f
parentNode=parentNode.parentNode;
5 N a2 T+ C1 B) o parentBgColor=this.getobjstyle(parentNode,"background-color");& l7 `9 r& _# D5 y9 W# |9 Y/ f
6 r, G/ y1 A7 `$ h7 O- f4 y
if(parentBgColor != "transparent")
* u3 t5 s. G8 X! ~% K; h9 x4 z1 B- P {
! I7 M* W$ {3 Y- Q4 u break;- p) W* F4 J# t
}( z5 w( a# l9 M, {% g
}* I; S' r4 L. `/ m
if(isLast) 7 p! A! d! l3 [( ?
{' A2 q0 d' w8 P \( Z# H
if(debug)3 h7 A* D: L- P- }
{
2 s* q5 S+ e- h alert("last!!");
. p+ ~& G7 p" U }
, d8 l" Y8 U5 m+ O' O6 L if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" B! M$ V- @ p
{
# k6 T7 g5 C7 m$ I1 R, w orgNode.parentNode.removeChild(orgNode);
* ^' }4 `& F. F$ w: p }
. c. | X4 @$ y) o' b1 C' |; u }9 S* m3 M! \: { C4 ?, O
else1 U# `/ h8 _+ x% }
{
& B5 A+ |6 D; ^- L1 n" ]$ ~ if(debug)
6 N2 b% z; B" P! n' { {
1 K; t+ q2 {$ n, t8 t' k0 B/ t alert("compare color and parent bgcolor!");
5 k4 G; u# D9 V) S3 k5 c }
7 {+ t: Q* K5 t5 m- k4 z parentBgRGB=getRGB(parentBgColor);
1 Z* u3 \) `* Z& q% w) X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). T. C1 h/ D0 K
{
. ~& U/ F. r" J8 y orgNode.parentNode.removeChild(orgNode);
" ?, o$ y, A% _( i" b8 |* p1 e1 s }* M# o3 q! y3 e; l$ T: l
}
! z" b6 K: F5 t. m$ p# e- N5 g }
% B3 `3 ^0 n5 y, Q }5 J. ?+ j# t9 |8 D. y( m
}% m: T) c- ^1 ?& m
}
6 ~, G6 F/ W0 d+ R; ]5 K4 m4 {
; B k5 z6 N3 n8 G% k. z2 r ' K f- o, Q0 J+ v1 g; s- Y& U7 C
var itemFrames = page.getElementsByTagName("frame");* E* F1 w, w) L9 X$ {+ N: o( G0 P
var itemiFrames = page.getElementsByTagName("iframe");/ t4 `0 W4 e2 H' d9 w
A4 a/ o1 {8 }7 |+ ` var frame, iframe;
. N' e( C- |. l if (itemFrames.length > 0) [& h, r8 F/ o# t( V
{% @9 |, m9 ~" {" f. a5 @9 W. Q# g
for (var i = 0 ; i< itemFrames.length ; i++)
0 \3 X6 x! {5 N! m0 x5 ~ ` { o: j/ m& H, @# O
frame = itemFrames.contentDocument;7 C# R$ w7 C5 @
this.RemoveHide(frame,objname); 3 Z# }0 V4 O: i: ~
}, [( Y- B6 q, m6 Y E
}
$ E# _, g/ h, B* ~; e1 g/ Q2 K if (itemiFrames.length > 0)/ n4 t2 U$ T6 l, f6 U
{
9 B4 @: o: D+ J8 z' x8 B. C( } for (var i = 0 ; i < itemiFrames.length ; i++) ; V- \5 u6 t- n7 j" ^4 t
{
- o8 }9 Y' M& E" L iframe = itemiFrames.contentDocument;
' x( ~1 U Q: C: f this.RemoveHide(iframe,objname);
, j* |/ f! y( \, ]1 M }
' j# A) Q1 h7 f/ }. s2 [1 g; e3 Q) ` }) M4 J6 D- e& ~
}0 V- }: v$ l/ H) u- O; O6 D
catch(e)4 M; I- X. k) t7 D) b! L# K% |
{3 m7 C; l4 G: n9 e1 c) H7 |& R- n
if(debug)
: |% V9 z' X7 I3 M! H5 U {( ?$ K8 m9 M. `' m
alert(e.message);
9 }' y" O6 _/ T: _0 A/ d5 U } `* a4 x5 g! M/ T0 a- t
}$ c/ ]" o2 z. d1 s
}
$ @$ \ Y: v& Z4 j( x" S ( d v; u. L! X1 M* d* \7 k0 {) r
}
! m5 [6 v* l9 }. \5 W I
* m4 e6 b+ x: u. B0 i2 G7 \function getRGB(colorString)
( [ b$ y( W6 f. o, r{# D" }5 |3 K5 Y" b+ j
var RGB = new Array;4 p0 Y4 }; C8 e; b9 u0 z0 x
var tempSting=colorString.substring(4,colorString.length-1);
" w( e. u# V& |8 ]( I var tempArray=tempSting.split(",");
; ]! c" K' d7 R$ Q+ R# E; T. H% f9 Z' Q) T' F
RGB[0]=parseInt(tempArray[0]);
: W+ p0 p# M/ C RGB[1]=parseInt(tempArray[1]);! y! U$ i+ u& H9 k
RGB[2]=parseInt(tempArray[2]);6 T2 _3 O) H" B5 ]5 }9 X
! q6 g& [$ I5 A4 ? return RGB;
/ F. L; y! j0 E0 D9 u" m7 O, c}* r- Y' F, r! N; H; F# b" n
function keys(evt)
! L5 x* @4 c. \# w6 l M {
. C( G. N5 Q" v: e% o if(evt.ctrlKey && evt.keyCode=="81") 9 Q" @# f1 V- }/ A" L
{ 8 f+ I* y% W% \ T: E' I. {" V( }
CleanHideObj.on(0,1);
$ q4 j( b+ U( ]5 z9 e9 O alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : o, j7 [9 v/ r' q. l
2 _/ u9 e' [( v9 P% P$ _7 d
}
, t* F6 y0 q+ A& B }
% C7 [2 e. r8 x, |document.addEventListener('keydown', keys, false);
( e/ d! |% E Z9 P$ dGM_registerMenuCommand ('Clean Hide',0 h5 P, o! }9 h7 ]2 n( p; u
function(e){' u6 s: u) g; @% K( s8 E g
CleanHideObj.on(0,1)
t1 A" O W3 c( E4 P' k2 Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" Y7 b3 N/ ]4 B$ `/ ]) ^
});& [; S; r" c! g
|
评分
-
查看全部评分
|