|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 }- N v6 z0 R3 l; ]
) _* c% h+ v: M/ K( a7 s* {火狐插件,用猴子
- B7 r- r l, N8 }$ v% p. q6 n' f( G% X4 Z1 N1 x
var debug=false; / {$ N8 \0 ]. m Z& p8 s6 s0 x
var CleanHideObj=new CleanHideClass();
; U. E, K- ?- V2 b# Q" u
( ~$ ~# r2 o* @9 |$ xfunction CleanHideClass()
4 Q: l# e. N, Z( B{
( P( t; x$ ^3 F
i- A3 u9 k; @ }( X this.on=function(id,bMZ)1 ] }# M% g7 P2 W0 K* l
{: G e) v3 {; c% _
" k M: d7 G& A S5 P if(id == 0)
5 \! S8 A, ^" V+ u3 f {
+ |( {7 z V. B% [8 o; U r var page=/* document.getElementById("content").contentDocument */document;
# V6 y( s! {1 b9 S7 ?' F( G" l! M this.RemoveHide(page,"span");0 J! R0 T, \. s# e" k# A' D7 V
this.RemoveHide(page,"font"); x; r! p7 m2 u# z
this.RemoveHide(page,"div");
+ g8 S* C E( _! P2 I+ m7 S+ v* Y this.RemoveHide(page,"p");5 ~2 Q5 M) p/ i8 y* J# A9 e `
9 ]& Y# A& m! S% Q
}/ Y8 G! b% |4 P
% [- P: \* {. J7 t
}
4 @! f9 B2 B/ b this.getobjstyle=function(node,prop)
0 s* n% Q6 Y6 N$ n0 M) v; l {/ Y/ n& v- F5 U( y! _0 i
try' p% c1 d# ]2 S( I* J
{" N% `& d& V! l0 v6 x2 Y- L' n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 w: K) D6 ^' S: X0 b( [; ]
}
1 s3 ^: z6 a& n% G catch(e)
! o6 u( o! `8 h7 N9 q: R {* d W) P* P4 w+ T; Z* C
if(debug)/ X f( i& m* f C$ A# q( N
{
; M5 e3 D! p# S: e) L alert(e.message);$ o2 \' k5 a8 G' ?1 j" [
}
# x& j) H, x$ o' E2 X
6 [+ d2 l) } l, T return "200"; z( j) }; j5 G- j* f' @! D
}
, H- S: }% r! d, d( ? }3 q; E* w7 B9 k1 n+ n2 V
6 q. u9 j; U2 r this.RemoveHide=function(page,objname)% c7 j% s6 S# c
{
- O$ M0 w/ I! b try9 c; }& z# b" l; y# Y
{( V- _, L& x9 O8 o! j. z# s
var minValue=15;
( b! ]1 n- \; ^5 j2 f7 Z var objs=page.getElementsByTagName(objname); 4 ?* e9 u( g" ^
( `/ V5 A7 p f, H% U$ Y9 f
if(objs.length == 0) : a p' } q: h' B0 R
{6 V2 _2 C( [5 d! _$ ?+ K
if(debug)
4 n! L, M# G, s$ Y {
, W& Q9 F% y2 M) ]/ C; J5 J# b4 a alert("no object found!:"+objname);+ F# G- q8 ^$ r& o# p. a
}
3 [6 T3 f1 `6 F$ P }5 z" J, J! v9 M* l+ e7 k' Y2 m
else x% H$ C) {& f9 m' N! Y
{
) J8 E5 i( h* J- y* j ) n8 N$ I- c5 g) q
for(var i=objs.length-1;i>=0;i--)
' j( D, d( v( K6 {, c3 g {
' K5 R: J5 d0 O. m var node=objs.item(i);
8 b7 O# k, E' [5 X& v0 n
. S5 ?# l. L7 V+ [ G( x# N' n j/ v, w( }( v2 u
if(this.getobjstyle(node,"display") == "none" ||- t* l* d* w+ {( S* w1 d
this.getobjstyle(node,"visibility") =="hidden" ||
, q( B+ V' ~0 ]' X parseInt(this.getobjstyle(node,"font-size")) == 0) $ R% {) Q0 O$ ]. D; B
{- n" K% A9 I) B5 M- W
if(debug)5 X& p/ \1 L1 V; l# Q
{
( _5 m4 {7 G- d/ ?% N# | alert("remove invisiable!");
1 k% U5 S8 D) Q% ~6 n }5 Y! t& d* i8 Y; Q9 b: q. d
node.parentNode.removeChild(node);: [: b/ ]4 D. T, D( D$ [
- Y' @% s7 R1 A8 y# @2 \ }
/ B M4 w% I m$ `1 u7 v else
* k: m8 _0 m4 C. M6 \3 f {4 S% } K* |" S9 {( P2 o- ]8 U
if(node.parentNode)
% l, h4 U! I Q ` {
4 B8 w" f# A) a, _( u7 K; Q var orgNode=node;
! h3 G; q% g, h5 T0 r var orgColor=this.getobjstyle(orgNode,"color")
1 n6 F* Y+ T5 w3 o var orgRGB=getRGB(orgColor);
7 C, p5 `; v* s5 i7 V
% F7 Z. V- A! i _! g$ \ var parentNode=node.parentNode
$ }, P2 O+ `( C' k/ f var parentBgColor=this.getobjstyle(parentNode,"background-color");
# c9 E. Z. ?0 R
6 p, `( [) F) T; } var isLast=false;4 n/ ]7 e% h$ i- P8 X4 `
5 [2 N& H$ p5 `3 p2 O
while(parentBgColor == "transparent") 6 U+ g9 P, I& V! ~ F% t
{8 c& P1 A# y$ R
i' j7 M6 Q' o' m4 k
/ s- t% l7 `% h7 \7 F0 D if(parentNode.parentNode == null)
- n% `0 n) o- S. w5 ^' W {3 s* h; S& D! I8 k
isLast=true;9 ]$ @7 y- `4 I, k( e7 K% P
break;
* G# B3 z; D {' r$ O$ \ }% H7 y3 y1 b3 D; v1 l+ ]
parentNode=parentNode.parentNode;
2 c B X/ ]. h parentBgColor=this.getobjstyle(parentNode,"background-color");
# p- X9 I: t8 H/ |& \( ^7 b
$ x! |0 P j6 r% j4 E if(parentBgColor != "transparent")
3 j- M. Z/ W y+ w3 O/ J3 @ {
- T- t& Q1 j5 ], e break;! ~; \ b3 v$ w) M; {5 y
}
! h5 a* {% s& Z. b }
5 R& {/ }# e7 }0 j m if(isLast) 9 {7 b8 _$ d! t ^9 o; Q! A
{3 ?. N6 x/ q8 ]0 q5 C
if(debug)/ g$ G. `! a7 X" z
{
" y' x/ A+ K4 x- K alert("last!!");$ ~2 B4 } u/ d }- t! _
}& g* p1 \- C, z+ |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ s5 }9 l5 f* l: Y$ S. m7 S
{; Q9 L! [* L' L. _4 d
orgNode.parentNode.removeChild(orgNode);
: P3 ?! L+ {* q7 Q2 ~' l }
# ~! k5 y6 {6 E: b }
* l; D0 J7 s5 N! o0 [# ?$ A else
* h; `; F& t" x! x7 ^ {
, v, M) ]+ p( _, |; Q if(debug)
* _+ R+ |+ g! f1 ] ] {" k$ x# d e9 r" C: x8 b
alert("compare color and parent bgcolor!");
, W$ A8 n9 Q3 a- B }
0 T8 u6 n# m$ C5 J' K6 E0 T( w# b parentBgRGB=getRGB(parentBgColor);+ r- b0 o; E7 E5 `# |
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' P u/ `. V' X# s2 p
{
- i9 C8 h, p. c( [2 } orgNode.parentNode.removeChild(orgNode);
/ @1 q4 Y- P' H- L! |8 ]8 S }
7 a; F; Q$ o$ g) d$ W& i }
' t1 E! X* E0 @: S$ E }* X% c5 M' b3 J9 h# Z
}1 Q$ o. m; V- {: T/ H
}2 ?3 N3 c6 {2 T/ o
}) Q( X/ R9 @" A/ |0 x
' z% v3 `. ^( e/ w' d
# ~0 R9 C j+ m var itemFrames = page.getElementsByTagName("frame");; s' }* o: ~3 M/ C- y
var itemiFrames = page.getElementsByTagName("iframe");3 E; H6 u! M$ D X0 J* [) J* ~' O& e
( G( J# z9 R& Y1 S8 X var frame, iframe;
. ~, c C/ {' D" K8 R if (itemFrames.length > 0); \! P& d: p8 b& U U2 t
{8 N9 x* R0 ?& |+ ]9 `* Y
for (var i = 0 ; i< itemFrames.length ; i++) $ b; |. O7 l: l; H7 k' ~8 u
{
+ r! {4 |- n# y* F frame = itemFrames.contentDocument;' c$ n# [! g6 i, k f8 W8 y/ z
this.RemoveHide(frame,objname);
4 X. u( Q1 M/ N+ ~ l/ y }: |, O4 a! J4 Z+ m v( ^) \0 W8 w
}1 S. a' u. Q1 |8 ] @# o
if (itemiFrames.length > 0)! F0 n( A4 |2 g' \' D6 d
{, b6 r8 m0 B6 E# W# v2 u/ Q/ z
for (var i = 0 ; i < itemiFrames.length ; i++)
$ x9 S. ~. f( G {4 b& j/ X+ h7 W$ p' G7 v" U
iframe = itemiFrames.contentDocument;$ j ]8 ?# e2 ~5 \
this.RemoveHide(iframe,objname);
- ?6 r, ^- q/ c. g% o7 |0 v2 h }
! }6 a- K. V; Z }
& x8 b6 [. D" h4 W% O+ f }
: z' G2 N! G' s9 @+ I) N catch(e)
" c$ d8 D4 J+ `8 y {# Q" k: ]) @: K5 q1 u" \
if(debug)! O0 ~6 ^5 O* J3 k
{
; N2 m; R9 H' k7 R( N/ w# C8 @ alert(e.message);
- V# r0 J' k* ^- a6 Q1 Q+ W% \ }/ f3 x/ ]9 U! q' t) {/ H3 e
}# c: ~- b" ?$ W$ ~3 R* R
}
% s4 Y5 B2 K0 G. ?' {" R2 C & R& t- q+ ^' A/ R9 Z6 Y J
}$ q( V# P# Y0 }6 D C
; D6 v8 \5 f2 O8 O0 Ffunction getRGB(colorString)
+ I& r+ \3 F8 e+ Y{
' i3 e: Z" n6 {6 g var RGB = new Array;5 T: @) v- [0 Q+ b& W2 M
var tempSting=colorString.substring(4,colorString.length-1);* e* L% _2 r: L- S: Q9 w M
var tempArray=tempSting.split(",");
) \0 n) t, Z" C! l
8 Y, V8 @5 H8 b" R# n7 Y! c: K RGB[0]=parseInt(tempArray[0]);6 w: @% S, ^) w% c
RGB[1]=parseInt(tempArray[1]);
! X6 _9 ^' s/ s$ M RGB[2]=parseInt(tempArray[2]);
- k; C) N: u# v: F6 x/ }
& Y A0 b6 L5 s+ b return RGB;8 D' \: O/ X+ s4 F2 q6 A
}; C. O) o p% `% L
function keys(evt) / R8 q1 M. a) [% H# h2 b
{
0 K* P, k3 E; B if(evt.ctrlKey && evt.keyCode=="81") 7 N! E+ w' o$ x8 K: ^
{ % K+ P/ x5 e7 U, g% F
CleanHideObj.on(0,1);
1 M. `5 p3 T; q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ l" ~: r4 o( V, O
$ R7 [0 c7 _* D5 ?! [; q) L- g% [ }
! A* Y$ Q: i. @/ t7 E+ C/ C1 J }
* x! m3 A. I$ z' @3 J3 }document.addEventListener('keydown', keys, false);
: Z0 B' W$ e. H8 v# a7 L" AGM_registerMenuCommand ('Clean Hide', w' s& a7 B8 t" [! }
function(e){
) u$ `) b0 h% Z6 _: dCleanHideObj.on(0,1)& m$ s4 J( N! O; T3 m4 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: i- ]% G# Z* U/ A* k% W});
: ]# c( p# i$ q. T, T4 z |
评分
-
查看全部评分
|