|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 ~6 e( q) Z6 u w9 V8 ~
5 F2 ~4 O6 B- K0 }$ A/ |: @火狐插件,用猴子1 E8 t, R3 N2 L' J1 T
! o' Z# T, V) y8 \1 H
var debug=false; $ A: V- \3 J& n3 L& [- y
var CleanHideObj=new CleanHideClass();
3 R. P5 a+ Q+ J) z! L- t2 b+ ?4 x- Q, l+ e
function CleanHideClass() 1 h2 L( o- k6 x) P9 q' h6 H- x
{ ; ^1 X, P; N, R( i" I+ n
: Z! T( t. c% Y E/ u8 R) D4 c
this.on=function(id,bMZ)
- h4 v+ O" B7 i g {' k {
- ~3 `" ?" r: o6 s. |+ z ( u/ k1 o1 H$ F0 Q# A; C% g
if(id == 0)
& a2 K3 _1 Y0 P& k4 U* ~" e {
6 R* I+ @0 `. S, y* J4 I var page=/* document.getElementById("content").contentDocument */document;
. i# l2 e% f B' [ this.RemoveHide(page,"span");
9 v! U5 q8 f. @' d this.RemoveHide(page,"font");
' o+ {0 L/ w* y* h# ~8 Y this.RemoveHide(page,"div");
- V4 K I9 k; [ this.RemoveHide(page,"p");4 `* `- i4 g. k% b
& M( G5 f. }& Z6 Q5 y; y- r5 ?' F- l
}
1 Y2 X t; M( u- ?" ~$ {
7 W a# |' B' l! y- q& H2 R }% ]/ z- h& n8 E+ S
this.getobjstyle=function(node,prop)
# B; U8 Q' I- ]& @$ r2 k) o T4 o8 ] {6 W5 ^4 d+ e3 B5 }, _5 R2 W
try
, E/ \2 _1 j0 l6 h7 w3 F {! t- ~1 ^9 t3 d$ C* C! ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# L% S% [6 Q; q }$ Q) s+ ~- Z3 |8 Q5 Z% W3 W
catch(e)2 @+ K+ D" p6 c( a+ w
{& }( J2 c! d. L+ |6 Z
if(debug)3 G$ U! i# r5 l) u- c& W
{# d6 @: I3 q& F7 {. B
alert(e.message);
* J2 k! v3 |+ J% Q* J6 i7 x }+ `3 L/ {. w* @6 C* g
1 q* L% G3 ? b3 d" h: }, k: s' b
return "200";: D# n. O! u4 @4 H! _
}5 V0 a: E6 E; P* V. R
}
* Q7 k5 E3 V+ p& y+ b D/ S
# c1 e, G6 ~6 z/ M. J this.RemoveHide=function(page,objname)
" |: [: {& [0 v, \4 [' P {7 I/ y+ ^' J$ u t" ^
try# i9 \) V8 U6 x" J. V
{8 w: [( {, H2 I* }. r9 @7 l( t
var minValue=15;
0 T0 a" x, @/ L var objs=page.getElementsByTagName(objname); + _+ \1 z) l5 b% s; ]
6 V8 b* M! V- v* n" V2 N
if(objs.length == 0) J% ^/ y+ y2 t4 ~! y1 O' t
{, D* _0 w7 p. l/ Q
if(debug)5 R4 Z8 J3 q1 Z: `" j
{
$ V! `8 N" Y" \3 L, W3 I( R alert("no object found!:"+objname);6 x$ S. `& r% o" o% D$ @
}
7 i3 L" {, G6 v }2 ]8 C+ ^8 w1 J
else" k$ [: N7 I. Y* H/ Q( |& F9 F4 Y
{; ^5 x( }) }/ F: H* R# ^9 o
; K" @, o8 B8 E- ^) ? L. K for(var i=objs.length-1;i>=0;i--) I) g" h$ b5 X T# [
{% j- b& F3 S" p/ @; d) d
var node=objs.item(i); : S9 p* |. {$ J- q2 F) j! K
& Q9 _0 u- u7 C8 Y5 G0 l: ? * s4 ]0 ~5 `4 A1 b* ]' O9 N( G' o5 \
if(this.getobjstyle(node,"display") == "none" ||& ^" D( j0 K4 |5 ~
this.getobjstyle(node,"visibility") =="hidden" ||
: a6 m% E( z) f5 Y parseInt(this.getobjstyle(node,"font-size")) == 0)
; n; d% {+ Y6 k Q {
# z$ M; g0 r% d7 x% C1 e if(debug)1 }, n; g8 h3 u: h( g( h5 K$ P/ [
{
9 g: q% M8 b8 O alert("remove invisiable!");5 G6 C! a4 X. J2 R5 J
}& c4 G. X5 y& M3 b
node.parentNode.removeChild(node);7 |& z5 B& S5 [( D6 K# \! p' |
9 |* w! F- t' F. w }& P5 x- Y5 W4 j0 u
else
" A+ E4 K+ T& n" [0 L {
$ A: z/ ? S% D5 Y6 I if(node.parentNode) 3 J" z& ~, m$ V& c0 e7 T. e; k; l) X
{
" w' r+ `0 n+ F+ ? var orgNode=node;
+ a! t) y1 v0 P( e var orgColor=this.getobjstyle(orgNode,"color")
7 Z ~3 u3 z2 w& A var orgRGB=getRGB(orgColor);
/ e9 F7 }7 t, |% Q
. m& J8 Z) {0 A* k var parentNode=node.parentNode
% t2 ?* e" x( A: A var parentBgColor=this.getobjstyle(parentNode,"background-color");% @9 N& `4 [/ R; J( q0 s$ e2 Q% |7 k
0 x* g; h: _# q3 }% U6 T
var isLast=false;7 x: |; g# {8 m* A2 A
9 ~4 x! m4 I) D5 m# Y* ~) p( o while(parentBgColor == "transparent")
9 z+ e7 H' o% b7 s+ c, a( | {
& D A# a' f- |1 d( [% e1 X8 ^9 W
' v* l- R( c/ U: p
E. ]" C1 _' `4 t2 B# M+ N5 g if(parentNode.parentNode == null)% }5 a( C @' y i, l' N6 P" w
{
" z; n: j. L4 a$ T9 g" l; L isLast=true;
: S0 ]& t9 [0 n+ p6 {3 P break;
8 r5 K# t3 D" H# B0 k2 S }
' @) n2 T% W+ m3 U$ W8 I parentNode=parentNode.parentNode;3 H7 g% P& X( ]! V; a) F/ i8 F
parentBgColor=this.getobjstyle(parentNode,"background-color");7 Q2 p3 S+ h! ?: n. ~! W
5 d. t% c8 a6 D
if(parentBgColor != "transparent")
4 m# k7 T5 V+ Z4 |" _) Z$ u' c {
. K% B! o1 P' W9 a) i/ @ break;
) }9 i" J6 e$ n) p6 T }& k' v! I! A! A) x6 x
}, |4 m7 ~$ S! R- J" x
if(isLast)
4 I6 g4 U; _$ f7 E {
9 D- Y* C& K& M" X' d1 J7 b if(debug)
2 C* T" F/ I0 I {0 L4 `, b* N) t0 l1 c2 y, R: K+ H
alert("last!!");5 p" ]* @ X' B/ C
}7 E9 K, w- @# m/ w4 B! j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ Z1 d- V4 m2 w T# S( @: ^& j {
& X5 x/ k# a" T k3 u7 S( g orgNode.parentNode.removeChild(orgNode); ) r# X# b6 Z! m2 V% _, c. k
}
0 m" F0 z5 r G5 @0 T+ y3 E }7 W. {* y. _5 h6 d) l# Q! X8 y
else3 G! B! v9 O- D E j1 f; X5 p
{3 E: w: M4 n- [6 O
if(debug)
, p0 L- Z# c# |; F( R) a {3 }2 Z" o1 d0 c3 x! N$ Z( Q, f* ?
alert("compare color and parent bgcolor!");6 U0 o( @% f! X0 {% M
}
) V1 u, c: m& H parentBgRGB=getRGB(parentBgColor);
3 p* r" a, F& f7 e4 V; z1 p4 h! R$ b if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# m/ {# P+ ~# @8 O' v
{: s. h6 c0 A7 v; N) u/ i
orgNode.parentNode.removeChild(orgNode);
3 A U/ p$ O9 E+ L' E: G }
# z3 K0 T. |# H' v }! o$ C3 R( [+ o8 y& H
}4 K- {/ V7 w! T' z. ~. E. {
}
' H3 v& l- ^( Q; L }8 K! v9 s5 K# `. N/ k0 v% s! Z, l0 _
}
" w; x7 b2 }# P3 r! F 9 i7 c8 |+ `9 f2 A
( j" ^1 j3 d" U" k* f t var itemFrames = page.getElementsByTagName("frame");" X* I' i. C* D8 W3 D. F
var itemiFrames = page.getElementsByTagName("iframe");" z" |' Q" w4 y3 v) h! i, C. Y
" W* Z! s% X, a
var frame, iframe;, q0 V0 u2 U& W; S& L1 y9 f2 E
if (itemFrames.length > 0)
3 q/ A# u0 K, W; z# F0 `4 _* \ {
- e9 c% U! A* S4 F% K' p" k) ]2 N for (var i = 0 ; i< itemFrames.length ; i++)
1 m9 k' U% w% T {1 K z3 _ U2 X# X& T
frame = itemFrames.contentDocument;# B" ^4 J" [2 A4 x. h9 j
this.RemoveHide(frame,objname);
% H2 k, S5 |8 U' @& x* c }& F& O! v2 C: q( R4 e
}& e& z8 z' ]* P4 _& d0 r
if (itemiFrames.length > 0)
* Y' t; W( F# T+ j! W8 i7 X {1 S. v+ D" Y2 P- O$ Z+ s, |! t
for (var i = 0 ; i < itemiFrames.length ; i++) 2 R" {- ?7 r8 j' l, o7 \
{
7 @( J' v5 E1 f% @& A) T& k iframe = itemiFrames.contentDocument;
& h( a8 x2 X* N. ~$ \ L# R N this.RemoveHide(iframe,objname);
' H i( z8 f' `$ U }
6 h: `2 g- W$ g9 i }
3 L; {) C: H. x( v5 Z }
) a0 J9 Y, K! y4 i catch(e)2 F/ O% L2 E: r" L5 @1 `& u
{
& s. s* [$ j( }" n* l/ h if(debug)! U$ |0 ?1 q8 R. a/ ]
{
& g" W3 l3 P+ r& W: P8 [% ]8 n' x alert(e.message);
; h" t# q) W1 @. B- \0 \1 a( Y }
& g, Y5 V3 C4 P. I h }% M6 F) v, O* p3 L
}* |. e3 O p3 W! m; Q- i0 R6 P( ~6 Z
9 c! b2 G, M3 r, j; `* ]; c}7 V2 U, I b. e7 `% [
8 P2 c$ G- F `# |/ Z" \4 y
function getRGB(colorString)
/ I1 h* [, n: e( v' h; m! ?5 G{
8 p% V5 ?) `6 ~0 A var RGB = new Array;. V% d+ P) ^: c
var tempSting=colorString.substring(4,colorString.length-1);
+ K+ Y/ B* p0 l5 n. a( X9 z# \* X7 r var tempArray=tempSting.split(",");
0 p- ?& ~" Y6 y/ T( r7 L6 X! ^; I$ Y
RGB[0]=parseInt(tempArray[0]);5 P; P8 ?& c5 R6 V
RGB[1]=parseInt(tempArray[1]);
9 g7 d. u, ~' E! u RGB[2]=parseInt(tempArray[2]);
# E, ^" p7 V$ ]- m0 F( M1 n 7 O* i/ h5 S! Q) P2 U1 I
return RGB;
: ?1 `- S: y: k- d9 D5 J" j, y7 k}
7 i* v& J( b2 l4 t# n* {5 Pfunction keys(evt) 3 B: c: L( H% L
{ $ b _" A" ^* V3 `/ F1 _+ n
if(evt.ctrlKey && evt.keyCode=="81")
' m: B4 y/ R& G8 [" @7 ` {
$ Q& r( q) k, m4 b CleanHideObj.on(0,1);5 N$ z- h! w* b. K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ w. e; \$ R( [, F2 \3 o6 v$ p
! i. a& s8 b8 j1 F }
6 ^- w- M* V- N( A }
0 e' t# d0 x1 G% q: p |document.addEventListener('keydown', keys, false);
6 n/ f2 g! k8 x7 w* L( g+ B XGM_registerMenuCommand ('Clean Hide',8 i# u. \& x& g$ F# P; _
function(e){
9 f b' ]6 W& {7 WCleanHideObj.on(0,1)
$ ^7 X. r" r/ _3 H! d8 @1 j& o# Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ L- U, e0 H: o* ?' o, z( W
});0 N8 j) [3 O; Z' P
|
评分
-
查看全部评分
|