|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 p* M5 o) Q# K
$ d# [: r @& P, P2 ~( `
火狐插件,用猴子
2 ~7 N/ j8 t9 M+ u! O; l4 U/ R# B' q6 N0 @: u. ~
var debug=false; T' i& u) t" w: x
var CleanHideObj=new CleanHideClass();8 }# e! w' G: D% e) z2 N, T
: f& X+ A' h. Z% ]+ G" C) zfunction CleanHideClass()
5 [, S& X& `: ^; c: b) _{ 6 f7 u& Q0 O! o, B2 T
2 E8 d9 A1 r' o+ E z! H
this.on=function(id,bMZ)7 h+ u* s$ m& q, \/ o2 G; s2 o# a( r
{$ t, u, _; m2 s5 r) y
, U7 m' y1 O$ h" |5 k if(id == 0)
: n4 w; s) ]; [5 P" H1 t {
! H4 X# r+ R% t2 c var page=/* document.getElementById("content").contentDocument */document; , t, S) W ]- t% ?
this.RemoveHide(page,"span");- M; g% ?* M% m$ a3 M" t
this.RemoveHide(page,"font");
% G8 W. D+ C; k- B( [7 l6 p: j1 d this.RemoveHide(page,"div");
7 |) D* h9 c; \( Q this.RemoveHide(page,"p");
0 r' E6 y( H2 u( {
! k# T$ x# q2 D3 }8 M( _1 T+ P }
" [- J, P% S! m2 e0 H
/ A# Y& q, D1 X$ c3 i }
- E1 z: o. s1 A5 c/ v- y this.getobjstyle=function(node,prop)
+ H K0 ^) @" Z3 W {2 X7 O/ ~2 A8 _9 z& {4 s
try" ]8 f. a$ s$ I
{1 x' V6 Z2 W& b2 Q5 \4 h
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. S) O$ B, ` b3 {! v2 G }
9 H% e, d* p7 F) v( U/ ~/ O catch(e)
, T, J; [7 R' l& J- J {! u- [2 g) p( @" g
if(debug)
: @5 p" H, R# d6 b {8 y1 d9 r* }6 i0 r
alert(e.message);$ k: T. s+ i: ]
}
& ]2 R& [' L) G/ `$ ]
& B" ], O' I' ^. F/ ^5 l return "200";. y# r* Z" a( _; p- p2 s) D& g2 @( e
}" c; r# ^ P' r4 X
}
; t. V9 \3 K( e8 R' A$ m# k
2 a' [1 z$ d; E. ^ this.RemoveHide=function(page,objname)1 v1 I6 x! }( B- Z+ \! N
{
3 q- |9 H6 {7 y& h try+ k- k7 n6 Y4 V8 b/ {2 p4 _. l. G
{ ]; h' e" N( D9 @: L) ~
var minValue=15;
7 k6 Q$ w1 J& O2 k; J var objs=page.getElementsByTagName(objname);
! L9 _% ]$ D: f
. T# B5 k* m% ]3 g if(objs.length == 0)
: K% {1 F9 I' _3 P' y B {
$ @ H& D5 T% Z if(debug)/ a# H0 [% t# ~ J) X3 Y: b& q! v
{
( E, [, f" A+ m# B alert("no object found!:"+objname);+ s- q" A! D7 ^% ^; o! x4 f
}: I* |4 @$ l/ I- [! U8 w2 X. S
}# c: I- i7 W: S+ m( ?0 f
else
, s! Y8 y" q# E {
: o$ p% ?% W; f! H4 x 0 P+ k; J' T' |- W0 o; \( B) v
for(var i=objs.length-1;i>=0;i--)
! S, s( B; t7 k. q1 H& }' N5 _ {
- w" k, k, R6 |0 p/ ~ var node=objs.item(i);
/ L' ?% `5 N" A( y
+ G( {" T! }4 |4 d. P6 g
9 ?1 G5 ^9 q' v+ I8 ]6 D" D if(this.getobjstyle(node,"display") == "none" ||" [9 f$ l) q8 p$ y
this.getobjstyle(node,"visibility") =="hidden" || {; B5 f8 i- |
parseInt(this.getobjstyle(node,"font-size")) == 0) ' n, B# Z( E2 M" o9 w
{! Q0 u" V* O$ h$ N" ~! s' w7 h% M0 ~
if(debug)$ ] S! H' E4 A8 _4 j8 M6 A) m
{! t. N2 @" D) C' u3 h$ _
alert("remove invisiable!");- C; E) D# E; t$ d$ I, }3 R* q( y
}
* Y* \* |2 i: P5 A2 j; C: F node.parentNode.removeChild(node);9 ? v. [- ~1 S7 c3 }' A0 V
! u* h1 q/ K0 i% T
}
8 c' i7 |5 A8 x4 D( t else 0 m0 N! s {' I4 Q
{& W7 N0 c! G" W$ v6 O+ r( J9 V
if(node.parentNode)
, {! |+ p7 [1 \ {" C; K$ Y- o* k& V' J! _) o* W+ A6 y
var orgNode=node;
+ F2 J. m$ I( g( Z* X; E. B/ g8 c var orgColor=this.getobjstyle(orgNode,"color")
& R# X8 B# |% {) ~ var orgRGB=getRGB(orgColor); ) k/ X J, \# \9 n
( ^! B/ i. C" t' D+ M
var parentNode=node.parentNode; W6 W4 ?4 F4 n+ H5 a+ q1 W
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& x7 R3 M1 x3 k# c- Z% o" Q: a1 C 3 m" n9 S3 F0 d/ }
var isLast=false;
' B; k7 B: p3 ]' o3 R
+ @* G* b! V: G+ u/ G while(parentBgColor == "transparent") ; T" x* j3 G z; p/ Q1 X4 s2 M
{) x9 Z& E9 Y: ^& u! g8 q: _2 D; x8 _
# c, X# e: l/ v4 t. j
' X1 ?, q: R P$ S- W0 X; p+ I if(parentNode.parentNode == null) k( }0 |6 l1 H
{! b5 u1 N& ]0 F: p6 w- f
isLast=true;4 u+ L p- W! T0 K
break;
- c. B5 e8 B Y s# v. `' b }, z; b7 D c/ H8 s6 o- k$ A, I
parentNode=parentNode.parentNode;
( N+ T2 c" u" d8 V3 b1 m6 } parentBgColor=this.getobjstyle(parentNode,"background-color");
' Q/ U; c9 v$ F# i3 x0 u. A- B; @0 t" j% J
if(parentBgColor != "transparent") 5 S0 O/ p8 F7 N! i2 X5 X
{
" ^- T* h$ u- R. n1 V, Q0 P break;
5 I3 h* X% k' u" u# m }
: E: C: n, p1 L$ A K }. ]2 s2 C; ?0 S( Y3 P; q
if(isLast)
- w. \. ~- Z- D: l8 F" ^% O {
- k! ?- b! u6 q2 ]) c if(debug)1 I0 L2 ^5 w4 {7 U8 g0 y9 a: e! u
{ M6 ^, S/ i* s$ A% c5 M5 r% C( z
alert("last!!");; F# E/ i, ~) P P; |5 T6 L6 O- `
}
: ^/ d0 C+ ?, Y+ e. u# U8 } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, A. o! h$ c8 M$ N! S& Y {4 X+ E3 W& _0 [5 ?0 I
orgNode.parentNode.removeChild(orgNode);
4 S( \9 R0 n# j }" v o, K0 w" j% h/ Q
}! z" t: }% U% Z+ W7 f, I& y M$ E
else% ]; K& j. h9 `) W, O M) n$ M e9 r
{
# {9 C6 L( C- F( ` if(debug)
: n+ S* s! L4 z; g8 A0 K& u {& P! b2 b" ]4 b3 k4 F5 x3 W
alert("compare color and parent bgcolor!");2 D4 R+ n$ h9 K
}
5 ~/ z/ }5 t, |7 T8 l parentBgRGB=getRGB(parentBgColor);2 [* F, S) o+ G# e/ i; u) |0 F/ |
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 r+ P5 z* ~. a1 z# p: B) t8 K# j ` {, ?. t1 i& C# v" [' u( B
orgNode.parentNode.removeChild(orgNode); , z! Z1 }7 t* c' D+ ]. M. i! a
}/ c. d0 X0 @9 s$ E+ M" a2 d! G
}
+ e; P4 [3 @0 T } z! ~/ h2 D2 g9 q% U6 [
}
0 I9 T7 T3 A* r+ u6 C/ l/ X }
7 |4 J' C% v% d! B } d5 R4 [ `& v ]
) y/ e. \; W( @, }) j( L
* i( ?* a9 u6 R! k2 B2 z2 N var itemFrames = page.getElementsByTagName("frame");
! F' Z5 _% ~# m var itemiFrames = page.getElementsByTagName("iframe");
. H' A2 {9 }1 u- E7 g1 ? " `0 D4 `2 E9 U9 T9 O
var frame, iframe;) w& _9 X) o+ s% \# r/ F
if (itemFrames.length > 0)9 C: }) u* j' s) J
{
1 e3 U# y8 C% m for (var i = 0 ; i< itemFrames.length ; i++) 2 P& z0 J. L2 ~7 B
{
& F, ^/ l0 a: w7 t7 L7 o frame = itemFrames.contentDocument;' Z' c% i) C0 j2 d5 a
this.RemoveHide(frame,objname); % m4 t# _" N3 l. n8 ~) `
}/ N! T1 D9 ?2 p
}
3 z* r& w% Z3 y& T x9 v g if (itemiFrames.length > 0)7 v8 ?" y! G6 u6 V) g6 O
{9 C; Z1 t! ~ Q" w+ F3 R
for (var i = 0 ; i < itemiFrames.length ; i++)
3 c1 |6 |& ]( J- ?4 B! y {9 c: c( z2 N6 r* A6 a4 a3 l
iframe = itemiFrames.contentDocument;9 B: g+ q+ Y$ m. Z, A, O
this.RemoveHide(iframe,objname);
) a3 R6 B2 E/ z; a1 d }* Y8 k. B" U& o; I/ W+ b
} F$ {3 }9 E& u* Y# _% S* a
}
9 M, f8 S- [+ l1 E4 i catch(e)
1 N8 P( ^, L, E) H& h" D { S P* `3 D" l0 q- @/ A
if(debug)
7 I1 J- X- a3 o8 J2 X' e- E1 b {9 o5 e v$ W$ E, j Q
alert(e.message);" n& v& Q/ B- G# n/ f
}+ J8 b+ O3 F |7 U/ N6 R! g# A. T
}
% i+ i9 L h( x5 Y }7 `& _. Y' L" @# }5 U) {
7 L$ s; d5 e; J4 L9 q0 j! }
} x; |* Z7 M3 l1 n! k6 t
0 j! X. P( E$ r" k/ Jfunction getRGB(colorString)8 C" G. u7 H; b& Q
{% M* n6 E7 {" v; Q3 S8 `
var RGB = new Array;
Q `' N- S) E! r: k; q9 _ var tempSting=colorString.substring(4,colorString.length-1);
: ^4 G- P- U7 s7 z1 D, n/ x! C var tempArray=tempSting.split(",");* q1 v3 ]/ H% R( O
$ n4 l- ~& o3 @) r( ^0 v- Q RGB[0]=parseInt(tempArray[0]);: c% w. [, F- ?* |, s8 _* T
RGB[1]=parseInt(tempArray[1]);
+ a2 T) b8 m. f- @ `) B RGB[2]=parseInt(tempArray[2]);( ~3 V9 H. n r8 x' T. E" s
- s, K: A, S6 ?) e' t return RGB;
& Z# O) ^9 U* j! M. l3 K9 i( e}
9 D/ |( z7 d3 ^2 g/ v# `2 z/ Cfunction keys(evt)
; {' ~+ m5 Q& X4 W" [5 P5 U% C5 Q { " G' |* z1 ]4 A2 i* K
if(evt.ctrlKey && evt.keyCode=="81")
1 z0 g- M# c7 I/ d {
+ w% c2 z, s* Z6 @ Z8 { CleanHideObj.on(0,1);
% m8 k" V" P7 V* P$ f alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- a9 R2 _1 U& e7 [ y: Q# t) t " y4 O% @) N2 p; |
} + _( ~, R& B6 f' y% f# v# N
}
/ [: m' W! I! xdocument.addEventListener('keydown', keys, false);
& @5 d/ {9 V: F$ q# _0 ]' EGM_registerMenuCommand ('Clean Hide',( r! T& |5 {2 R' D: C& a+ M
function(e){4 I: o+ q* [! ~5 R2 ?2 X
CleanHideObj.on(0,1): f$ W* S8 ~8 g, E9 _' l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* y" b8 k6 J L});
# r1 \" E0 j7 z) L+ l& Q# D |
评分
-
查看全部评分
|