|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & B2 P1 I. [! w- Z
; }' F0 Z, a! f# ^ |- I# Q火狐插件,用猴子
4 a" v" i: n" k7 {1 H e0 v; O1 P8 }( f0 A4 |6 G% u9 m
var debug=false;
1 C1 K! | D0 m3 n. avar CleanHideObj=new CleanHideClass();
6 h$ i& n# @, S: k. W( ~
% a! }( ]2 p! H# c0 G% afunction CleanHideClass() + a2 s8 O1 w4 w$ a* N
{ ' t, @- t9 k& h2 V' t
9 f L5 g! A4 ]' G2 F this.on=function(id,bMZ)- M9 R* M( U* g1 K% S
{
7 e' R! W+ O, y% v9 ^, I7 V4 b5 f* x ?! w. I* A/ P4 m% q
if(id == 0)7 x4 ~# G4 X- ~3 g
{( P/ u3 N8 y+ w8 J6 a9 X: y8 O
var page=/* document.getElementById("content").contentDocument */document;
; r8 i' X9 @1 [6 I6 h6 S+ j this.RemoveHide(page,"span");
3 b1 |+ K7 e( |5 T this.RemoveHide(page,"font");
5 Y! \1 `% q5 L9 y( }1 Y; B this.RemoveHide(page,"div");# m0 g/ E% ~! e% h, |
this.RemoveHide(page,"p");* g9 E; b/ | W/ W* o8 S
2 Z) Y/ ^+ _" Z; ?, x: I }
) _7 F, j$ b, j; t) T6 T2 X 3 E" C9 _) s9 G' N/ ~4 \
}
9 }! l& T$ f' Y2 d& Z! ]& z this.getobjstyle=function(node,prop)' P' p4 ?6 I6 i5 W5 r
{0 t- Y9 s5 {, g7 H( k" j
try* h& s7 c' `) j, b$ H
{
+ Z( s. w8 v* E* c# G3 E0 d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ A+ p, w9 S+ U3 I Y' i }
( Q( ?7 K- H, }6 i6 A7 a- F2 j catch(e)
, d& X0 n8 \0 k# Q {
4 Y- U. v. q; O, F% G6 F2 o P5 f3 X if(debug)4 H d& k" Y ^8 }
{
( Y! h5 w" G( Y, Z; b alert(e.message);: d* p0 o) V7 {, l8 x. r1 _" v0 k) P* f
}
+ Y. s: d; ~ |. l) B 6 [/ Y0 U6 B- ^$ ^- h m t/ i
return "200";
; j5 Z. x) n8 P# P$ | }1 K( e( x1 U) ?7 ~
}
3 U2 e. G# }' m$ l6 J! r' s8 ]2 w& I $ K2 z$ H5 h/ s3 W1 j
this.RemoveHide=function(page,objname)! _* Y, { U$ r4 Q0 E. i( h
{
1 C0 r, Y8 Y% Q5 S* P0 Q" O+ u9 Y try! d% i. s7 t+ D; k8 B
{9 S, I1 }8 \1 m' d
var minValue=15;5 v1 c/ |* ^9 K& y) A
var objs=page.getElementsByTagName(objname); ) g% ^5 _$ \, |* F! H
0 w9 o7 j" {" c4 i( `( \ if(objs.length == 0)
9 p( d2 y, g# O {) ~) {: v2 ^ I9 ?, {6 N
if(debug)' ^6 s2 C' b% Y# q& E
{
' R+ }/ l6 Y: @. U alert("no object found!:"+objname);
, b+ I9 w/ _* `, ^ }
7 y) P& J. X$ q3 F6 q# \1 } }( p& ^& B; g, ]! z4 j
else" r' N, {+ {, L4 T3 |2 b. [
{- x7 c7 ?1 g) T) T5 L& Y
6 m8 N* L! ?# Y' O$ } for(var i=objs.length-1;i>=0;i--)
0 y0 a" N8 ?) J p- f* E {
- k: @( @2 m: }7 g1 P4 w8 Q var node=objs.item(i); , c: S9 d4 k' p7 K
* \0 |+ v5 ]" O
3 J9 [& o( Z9 m! g& O5 K if(this.getobjstyle(node,"display") == "none" ||
0 ]/ R6 p( d) m% q/ q/ r1 \ this.getobjstyle(node,"visibility") =="hidden" ||+ U5 B3 \8 |* L- L
parseInt(this.getobjstyle(node,"font-size")) == 0) , Z" w4 a6 v' [$ w& J) j% V. t0 ?
{; o% F% r: m4 }9 i! o7 Y) u0 j
if(debug)
! U. H) O1 ]1 B$ V% i( {! {) y {
" ?# b C8 ?2 ]- ^3 Z( k- `3 W alert("remove invisiable!");4 P/ q4 p8 v% Z0 z W' S( G
}
* q1 t* m% K. Z1 O/ }3 d node.parentNode.removeChild(node);
4 h9 D- y3 n7 p D% T. R
7 P% i9 t9 Z0 l! P }
/ O5 r( l; G( i: t: w( ~ F else - o( |% |5 c% {4 P3 I0 T
{; Z9 J4 J q3 ^' D* ~; T! X: q
if(node.parentNode) 3 L3 ~2 f4 q% p
{: A+ e# J$ k0 \: Z; M( h
var orgNode=node;% R0 v. q8 V) [. y- h
var orgColor=this.getobjstyle(orgNode,"color")
- `7 r& x# z+ F' @7 E8 n var orgRGB=getRGB(orgColor);
! Z$ N0 y. d& ~
! t R6 _) V$ P$ `) g0 w* O A- ` var parentNode=node.parentNode" w4 m' \. j6 H. Y- R
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 X+ S9 j& d- [- W
7 w% k- ~% A- h/ Q b* l
var isLast=false;
6 I! @/ u6 @( Q' M6 H% [" M; A
Q) ^) V1 Z1 F* P/ ` while(parentBgColor == "transparent") 5 ~3 g/ S, u- u% d2 t5 ~
{! T' ?- k* u0 N0 z
7 I7 J' L" P) V4 P5 P" h0 E+ q; c
) D. o6 C0 X9 Z, c1 \4 }+ J if(parentNode.parentNode == null)) v" c# k1 Z) ]3 |+ d
{
- O6 |( L+ D7 o: w# a2 L isLast=true;
5 O8 o( s5 c0 ^4 \' S8 d9 _! I break;
" f8 x7 ]( h. P1 B }
+ q! h* ^" K/ v parentNode=parentNode.parentNode;
0 p9 I' f/ Q" r" ^- [ parentBgColor=this.getobjstyle(parentNode,"background-color");
+ V8 s2 h0 e7 D2 N3 ^* A" c, A1 S& K$ t/ B
if(parentBgColor != "transparent") 7 J+ D9 T$ L, I0 `
{8 b' V2 U R( m& l7 j
break;* w/ B8 H1 A: d0 c
} ^2 m: P+ t+ ^$ W" i& P
}0 Y8 `% y; S' f5 |; ]8 b
if(isLast)
9 M$ @" N- G0 Y8 H {
$ o! W- z5 Q7 F( m; ^) f if(debug)
6 J+ Q9 S' E" R+ ` ~ {
: x( f1 O! f! e- v alert("last!!");1 o! m& G [5 F- L. j* U$ |5 f
}4 Z0 b4 u; g* C& B6 q( Z- u# S7 |8 l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ a" }( i; e ~2 a. c7 c
{
. O* J: C, U- ?/ I6 J/ v orgNode.parentNode.removeChild(orgNode);
9 U9 @( G5 @% Q! k X }
8 Z4 D/ Y, v! n$ X k( l }
- n# f. ]! G6 [& a: k2 e else- _* H0 `6 n1 X, s9 Q4 p( Y
{. j4 _& I* |, m0 ]
if(debug)7 j$ e# n. m6 r. O( o
{, x0 q) [( n2 u6 C; j3 S, U1 i
alert("compare color and parent bgcolor!");
. o3 t& c: s6 s4 r; N }5 s! o8 b; O6 z3 q: M+ R& q
parentBgRGB=getRGB(parentBgColor);/ }8 z: u" |5 t& x( V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! Z4 i8 F3 l$ t @3 p. Q { O! b8 J. ~! O! B0 I& r, p7 a
orgNode.parentNode.removeChild(orgNode);
8 @( h' k7 i: N+ k, n' r }! @" f$ |, o. d/ {& M( `: _
}) }( @/ [4 m+ c# h+ V8 x
}
9 ^0 B0 s" H4 v! R* z$ a }' j8 U$ H# U- N6 }
}
P6 V0 t' h" e( {/ K( s }; p+ W8 ?, M& j/ L& r) g1 x
# t, R: A$ V& m* h6 o2 _
. C+ c0 d* L' `
var itemFrames = page.getElementsByTagName("frame");8 q9 T& }/ R0 F) z6 u
var itemiFrames = page.getElementsByTagName("iframe");
1 E5 T/ I* M8 ^8 |7 p$ y
# g4 E5 h. y# }* B var frame, iframe;0 g2 D8 W* F* ^1 Z8 u. r$ e* X
if (itemFrames.length > 0)- L1 ?% v0 ?* o3 g- D2 ~, W
{/ @ m/ l! D: z4 [! }
for (var i = 0 ; i< itemFrames.length ; i++) 0 C% o5 I o, f# E( Y2 w' i
{
! Q1 R9 ?$ t; S frame = itemFrames.contentDocument;: d1 j7 |8 C5 S8 k l! |+ j' e, Y% `0 @
this.RemoveHide(frame,objname); 9 I }9 o( [' y9 G$ H. d# U5 I
}
8 j5 m) {1 W! ^: z3 O) V }
) t* \( F) ^+ v* Q if (itemiFrames.length > 0)6 \1 p0 Y, b# n0 ?0 Y
{# v# ^. E9 [4 |# i
for (var i = 0 ; i < itemiFrames.length ; i++)
8 i9 `# G1 b o" M* h4 P {0 ^/ ~7 s6 y& @3 }3 `
iframe = itemiFrames.contentDocument;
$ f) {- S0 ?6 ~4 Z$ }0 \ this.RemoveHide(iframe,objname); 0 g: g' ]) X/ l0 b/ D) F/ V
} Q0 S& g! G k0 n5 v+ U, o
}
0 p; T# H& w, D! T! ?. n! V }
5 e6 f1 `' n+ S0 z catch(e)
3 Z' F$ j: X; L3 K7 m& L1 D9 {; f1 t {' t# _& q; k5 h5 T. W; d
if(debug)$ p' s+ ~" {2 z) I
{
; }6 L& Z( h# m( m) U7 a alert(e.message);- G& i' k) n, m
}
8 t0 m5 B7 b3 C }
- ~3 A+ F2 e) _6 R }! _8 O, p G$ t
$ h- u. }1 z& c7 {7 `% `& Y}
$ @# f, M( l& _. B' P4 V
" K0 y& b9 }2 {; k; Nfunction getRGB(colorString)
6 X0 l: s- K* e3 q$ c4 U9 B, ^{
! k! N% m3 X- R) B" a7 m: N var RGB = new Array;* K( r$ z% y6 D2 \( X. N L" d1 ^
var tempSting=colorString.substring(4,colorString.length-1);
2 S/ Z2 w! p# C+ _ m9 ^4 _+ @ var tempArray=tempSting.split(",");! |1 F* z. A/ i- W, j
5 ^( m, r- U6 O2 @ RGB[0]=parseInt(tempArray[0]);
$ |6 h2 ?8 _0 b& N; g+ v1 T* Y% Q RGB[1]=parseInt(tempArray[1]);
$ K, `" A4 m2 H& G RGB[2]=parseInt(tempArray[2]);1 \* g" \7 _7 D' `! o( E6 W
6 }4 z2 h: x+ I+ ^' n return RGB;
3 c4 A5 j# h, T* o/ c2 I}
' j- e! N. a3 \- I8 X' o+ {4 Ffunction keys(evt)
, L1 m" F) W4 F6 p+ i( } N. p. l9 B {
: ]! k' {6 Q2 n; f+ j0 n/ t if(evt.ctrlKey && evt.keyCode=="81")
* E5 S3 b, v+ r1 n {
0 T, @" B3 y8 T, g CleanHideObj.on(0,1);
0 w' y( r) ~" N2 T2 ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; z9 B( Y/ P A& \- ]' W
" b5 X- S6 Z5 O' a' { }
8 A5 g/ l0 Y& ]3 q* I+ d' h# R7 S2 P }
, w) Z! O. _9 t' y9 P0 B( adocument.addEventListener('keydown', keys, false);
' [/ r4 t( o M! |3 u' P3 BGM_registerMenuCommand ('Clean Hide',
2 [* h+ M9 T! L! d* s2 H; Y9 Ufunction(e){7 |+ U" ^( W' ^* {- e9 j
CleanHideObj.on(0,1) Y) B' ] g0 K( n: m" s, k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); G) I7 o& \. C
});, z3 h! {2 e5 E$ C
|
评分
-
查看全部评分
|