|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 Z8 [: R5 I. G1 g% N3 S! ]& v6 G ?$ N( T2 {& x
火狐插件,用猴子
: W& @3 j1 T+ V
; b9 ~/ ], t; e& b9 _, |var debug=false; 2 n @ {3 K! s5 G/ b% I
var CleanHideObj=new CleanHideClass();
6 A+ ?0 e/ y$ w+ y! f
6 z2 q+ |* N- w4 C4 b) G# [" i# rfunction CleanHideClass()
7 k! b: f0 D% |- w{
3 m3 G! G% G+ O& b c- b3 y0 Z9 d. o
this.on=function(id,bMZ)
% j! ?/ F+ H( R* ~6 k8 m5 ? {
1 F/ M S. Q4 i4 a 0 {: |3 v0 l' b# @) w
if(id == 0)
# j) f z1 C$ K0 i {
5 x2 T0 f/ m) {% Q var page=/* document.getElementById("content").contentDocument */document;
F; ^) j& _. }) Q" `# ^) l* v this.RemoveHide(page,"span");7 }* ?8 U& Z& H
this.RemoveHide(page,"font");1 K6 Z+ u- l" N4 \6 J8 k
this.RemoveHide(page,"div");+ L$ T7 Z% K/ j. w2 g% z
this.RemoveHide(page,"p");
1 J* I4 j* V8 Y( |7 w$ g/ |% E7 t
7 ~) f# M" q# j$ C3 ^ }
! |8 q( a) A- O \
' H% ?8 d. R# P$ _ b: M* I }+ C2 o/ f- Q6 i
this.getobjstyle=function(node,prop)
/ Y! C9 w& B% b$ E- [# V1 ^% F {) ^5 |( [( C) k' |
try
# k8 T$ j) P8 U' V0 X {: w1 F. ^3 }2 p3 l/ G1 t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); z/ E5 S: l1 H
}5 q. H$ }( h6 p7 {% l
catch(e)/ V2 z/ M- T6 }, r- m3 E
{0 X. K! p, v e* a- k8 f
if(debug)
1 X1 {2 Z' ]# f+ i7 [9 T% R! c {, c- v8 y0 }% ?6 X
alert(e.message);- a$ `, E; c- t
}
. T5 ]; _# A0 r1 I
5 Q9 R9 l( |0 ]0 T4 O0 i- u) V return "200";
4 A+ ]% ] }% ?5 k5 R" }8 |, v3 y }( }9 h \2 P2 `5 F0 f
}
" a4 w# R* g4 _: \3 R: R 3 P1 @1 q# y0 L( Y/ Y4 p+ u1 d
this.RemoveHide=function(page,objname)
: f# `! P7 j! M4 v- n. l {+ p; p& z, k( @7 n! l
try; r% Q. X7 J8 n' _- M
{
/ [& k9 T6 V$ T. J) d( G var minValue=15;
0 y4 b) _4 D0 e var objs=page.getElementsByTagName(objname); 4 z1 H/ O; |" [' w9 K( J, U8 l: X/ t; ^
+ z5 A' Z. V) g- L A" y1 U
if(objs.length == 0)
+ g0 N9 ~- ]- o5 T { D' }$ o1 U8 R( o* `. J( J( w9 }
if(debug)
9 X. {0 B" y4 J' f, ~ {. [9 V# @! ^! S
alert("no object found!:"+objname);6 M; E* g$ I" U
}
7 x- H$ _5 y8 X1 r }6 z) c3 w* `3 o! i. d6 t# X/ w/ J
else
r }- G+ V+ V {9 `2 n* M) f8 [( _) Q
4 _# q' q5 ?) e' [# W- G
for(var i=objs.length-1;i>=0;i--) ' j: V: w3 V1 A8 p0 w1 G, j" l8 V0 V
{
1 N9 }7 p* X5 ~7 I+ e& m var node=objs.item(i);
8 w5 F# ~4 C! |& i; G
: k; Y* X# ^3 q3 {1 p& V7 h
/ h% b* w- l$ j" L; M8 o s if(this.getobjstyle(node,"display") == "none" ||5 I& L& a8 v& G! V$ Z# G
this.getobjstyle(node,"visibility") =="hidden" ||
( A' N% j0 s3 X parseInt(this.getobjstyle(node,"font-size")) == 0)
* b+ V; @7 H- W4 g& z- P/ U$ V& O {
4 O4 J/ [6 |2 G! @# `' l, P if(debug); [/ c/ ]$ ]: C
{! i/ Y5 k0 n2 \2 O
alert("remove invisiable!");
, R7 t* ]7 C3 q+ w4 E8 O }
) ?6 U8 v* x- D7 {$ H& a node.parentNode.removeChild(node);
8 H o' E" Y; m7 K. n! d ; W- L4 F; v% w/ y5 o# ]
}* S) g% n7 A7 K6 A q
else $ O- K, L) `4 }: j
{0 K0 C8 r$ l4 S* @
if(node.parentNode) 2 J# X2 y4 w1 q# U7 d# h
{
: E8 G# U5 S" M' n0 ]+ s" U6 f" w var orgNode=node;! V0 p; P& w+ x1 w1 k$ M
var orgColor=this.getobjstyle(orgNode,"color")2 R( ?0 T$ G1 @1 h: y- A9 X
var orgRGB=getRGB(orgColor); 7 z3 o6 j3 X w. P+ \
* t8 v$ x9 p; s; X) I var parentNode=node.parentNode- n, y# m. n' X) `1 y: L. G
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 J2 y {. I2 Y$ S
% ^# [1 R: e! q5 g) G5 c2 D var isLast=false;* R+ K5 q7 C% q
( U" x ]+ R* E
while(parentBgColor == "transparent")
% m+ }7 p- }* Z4 N R8 O0 F {
E3 J8 k/ K0 p: ] : Q) ~! D! S4 Y! j+ ^& I
: ?$ G2 N Z" R! {+ A
if(parentNode.parentNode == null)
2 r5 p* ~- t9 r9 F! c2 w" h {# z. p& E8 P3 ?) Z/ B- f+ i5 X
isLast=true;& B0 z- N9 j3 c% q5 T
break;' l* O& A5 W) V2 _ X; Z$ i
}
& X# E/ S+ V& t0 r parentNode=parentNode.parentNode;
1 e- U7 B$ t& k6 q3 V& ^( [ parentBgColor=this.getobjstyle(parentNode,"background-color");, D4 y1 l3 ?" h/ A( @, W9 [' B
5 Z* n' K5 e8 p if(parentBgColor != "transparent")
- q' R/ t9 q* S9 [$ @7 K( S, C {8 {) g% k) C0 C* t! Y) M' b: A: T
break;" F& p' Z. B3 X7 F, S4 e6 [* @, T
}
5 [4 M* v1 R' V, w+ [ y7 n" B$ L }
' H7 q" l- v; \- z/ A: O1 s( c, b if(isLast) 4 C- o! u6 Q6 U+ Q- X( {
{
; ?+ e5 k+ @8 q if(debug)% e7 }$ [# f0 U9 k5 E4 F, E; a9 v/ r
{" k$ Q/ r; P4 i E, v! Y
alert("last!!");7 B. ]' _7 l/ y) H7 Y3 U2 \
}& K' ^3 N3 s% @( M* T/ ^
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) Z/ x: @. J8 h2 ?' l: g+ b" B {& {# |% s4 U4 @4 A' I3 q; g8 w1 m
orgNode.parentNode.removeChild(orgNode);
- J( T O1 H: O6 V }! n7 O- t0 c' _+ C: J
}
3 [ o+ `, d$ D; f( i" D else: O' N. M6 e- v; h- E5 Y" p0 p
{
0 P# h- D: G! d5 p3 q" m if(debug)
" g- O3 v6 K, _ {# {' ?6 Q# E9 G! G5 b
alert("compare color and parent bgcolor!");
& o9 U, Z6 K+ y: e& [. Q. I3 c4 n }
/ R' b. W( G) [$ t, s" I7 H* F parentBgRGB=getRGB(parentBgColor);. O% ]0 ^( x* G. F% c( N
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ W. g/ ^' x0 ^4 q9 N- D1 w
{
( _; M$ ^) _4 R6 s2 k orgNode.parentNode.removeChild(orgNode);
, V. m! `2 J! a- l- U$ m" Z2 k3 E }
$ b: W7 i. R8 l1 n; a2 z }
/ {- E. j" K j0 S, L9 p% b/ O8 r }: y6 `. \; w% C, U& Y
}0 P1 u _- D/ N& D, Z
}
- `3 Y% [7 E( F }2 @6 I9 }3 C( b9 O& {9 r1 v
2 a4 Y! N" @/ o b; U5 ~: @$ d ( W$ V& ^& \% d8 _( e
var itemFrames = page.getElementsByTagName("frame");
& w; K) y/ f. ]. G, }3 _ var itemiFrames = page.getElementsByTagName("iframe");/ Z' ?. W$ c6 Y* P9 [
; u+ s6 S3 ]( w i: w8 i
var frame, iframe;
1 v8 I5 `1 A6 y" [& O if (itemFrames.length > 0)& d; x! s9 r# C$ F0 a- G: h- E
{4 k; P5 d2 L- c
for (var i = 0 ; i< itemFrames.length ; i++)
2 w: s/ ]9 D" Q+ e; y, Q {' j+ I& E# j2 v1 M A. }, V
frame = itemFrames.contentDocument;
4 \7 E% X t: z( R this.RemoveHide(frame,objname);
" ?* E8 A" N, P/ \6 t2 z Z& j }
; }2 d6 g; m; Y" A' @ }
7 C$ }; a. Y$ T7 O if (itemiFrames.length > 0)
+ c* j4 p/ {. ^" O% | {" e+ ^. c6 ^- K) C% n6 r
for (var i = 0 ; i < itemiFrames.length ; i++)
* G7 d9 f8 ?. D: p2 r {* T3 ^! I5 C1 S9 i- \
iframe = itemiFrames.contentDocument;# F4 b3 }9 y, z$ Z; t/ Z: D6 K, k
this.RemoveHide(iframe,objname);
' j! p8 J3 R! |) I }
' Y1 s1 ?9 W6 F2 U }
5 t L) M6 W( |4 o9 r }. N9 v9 r# h5 Z" V( R
catch(e)
& R# `$ b% q- y# f {# q' t3 w1 w- N0 b4 w- r
if(debug)" G# P5 N/ X0 L5 j2 \* H/ h
{4 @/ T& M/ u2 m
alert(e.message);7 q }5 l% V x: g$ y9 i% g2 I9 r- X
}
* b. k: `/ r# B }4 n) R/ I( t' |" D- b! T y m
}/ d5 ^& E- b4 [# B: p
! S& p. ~+ U9 G/ y- u V: P}
. ]0 n: o8 T& X- N. f6 m; [- z# n* E1 D4 s% }$ o: D+ z$ H
function getRGB(colorString)
8 ^) R, Z( f3 R{9 M7 {& p0 v# Z; z0 [: c
var RGB = new Array;
( A% f' M! ?7 k1 G var tempSting=colorString.substring(4,colorString.length-1);, A, F9 r( b% _3 W. |5 X0 b2 @
var tempArray=tempSting.split(",");
3 B* u! ?7 A' @9 G4 o
. H" f& C1 `7 b8 v7 j ?/ i* M. X RGB[0]=parseInt(tempArray[0]);3 n |$ m9 O; H6 \ [
RGB[1]=parseInt(tempArray[1]);4 D; ]; @' y0 y. G1 y/ W0 v
RGB[2]=parseInt(tempArray[2]);3 |1 C! V- H# ~ H1 z, ~7 T* x
3 g/ c) h/ Z( M' z& c7 s0 K' m2 W1 \6 M
return RGB;
0 d) L. Q7 G1 X; N}
/ E& R+ K3 i& E# F$ [! n3 T/ ?function keys(evt) 2 H* |, Y; Y) h. q
{ 5 R, e9 ]+ w5 \9 a( p: e+ h
if(evt.ctrlKey && evt.keyCode=="81")
8 R( c9 r! c! W- q5 ? {
. i$ F2 ~" X9 G( f/ ?, P" @0 H CleanHideObj.on(0,1); z9 ~, ~# y8 r+ f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' A0 X0 i4 I, P4 M4 Y
, e( s8 `5 t# p } 8 ~; U$ }: v! i: N. J: a3 Y: O
}
- B2 k- z& B" W0 [ Adocument.addEventListener('keydown', keys, false);
' u6 O! `3 M, A) `! O; GGM_registerMenuCommand ('Clean Hide',2 ^" Y5 r5 z) s: W: `$ B* i6 P
function(e){
% @; @- l& r+ H) eCleanHideObj.on(0,1)
' B+ ?+ ?$ k2 O$ B3 d. v2 Ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ R6 |. w. J& N8 {: _, Y});
2 U7 x5 @$ ?& E, [# [ |
评分
-
查看全部评分
|