|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / a& l# `9 }" ?/ Y
: q% B. j, ^7 C9 _. J# s
火狐插件,用猴子
# X5 v$ p$ R, G3 |2 e5 R) m2 Z4 `; c) d3 H
var debug=false; % o, T q! a c' ]# ]
var CleanHideObj=new CleanHideClass();0 q2 Q1 `, x) ]) D/ ~
3 C7 A$ f: J7 a8 ifunction CleanHideClass() ( \: |5 S( y( E" L/ k
{ : t5 u9 _. y6 L
$ K. S- w7 u5 `) u
this.on=function(id,bMZ)
! X5 H* K- ^: ~% W {
" a ^ q7 u" j# ?) o : Y5 q7 |7 {3 b
if(id == 0)0 _1 u$ m* ~5 X& i t( m. U( d
{
6 U5 x% G/ N0 J; t4 W0 r! p5 d var page=/* document.getElementById("content").contentDocument */document; $ {( y, T8 Y+ X6 G o
this.RemoveHide(page,"span");
. `# J! Q2 }4 l this.RemoveHide(page,"font");, i, U2 p; b0 i
this.RemoveHide(page,"div");) L# |# f0 N8 M0 S
this.RemoveHide(page,"p");
; k' x( d2 Z# i ( R! P4 c/ C% w2 s& [# w) w
}
# W: ]: I; U: @3 k$ U M
. ~& E( C! |9 F6 G2 p" ]/ g3 b }
3 G, H2 X- v5 a1 C, E; ` this.getobjstyle=function(node,prop)# n5 s" ~! o( |
{* C2 K2 H/ v4 Q% o5 I' e/ Q
try
# N+ C' Y1 Z6 r- P {8 H+ @2 ^5 w( m' G6 b0 v2 C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) b+ n6 O# s3 m# L
}
2 @- s$ a* m" W! d4 T; T f3 S8 [ catch(e)
2 D/ ?% I% h2 O4 W! v {5 d0 O0 b* J* o4 y b
if(debug)* R) M. k* c( g) X g1 N
{; _& R# W2 }) g7 w l& R
alert(e.message);
e/ m" @" E$ x" ` ^ P# @' B }
8 y' K- z3 F; S/ t/ U- N- `. T' T+ }
6 `% P2 b0 B1 Z, x. V0 a return "200";
! R! i" ?1 A* i, r2 I/ d5 _+ l }
7 [. k1 W* F, |1 S5 f }
/ Q' w& c6 B: |: X3 n" | 3 j2 Y& z- r# s1 Y* b0 }
this.RemoveHide=function(page,objname)
5 d( y% Q+ t& i% q9 O- L {
7 @5 ~ ]& e1 Z1 c try) k1 b4 _* F7 V: s" V
{
% A( P& D% t2 f& W8 X var minValue=15;
3 C8 }% a8 I/ c7 _) _3 i var objs=page.getElementsByTagName(objname); . b$ |3 |0 t) v1 \) N4 ~- [+ r
, R2 S$ a. z$ ~! C; c
if(objs.length == 0)
( W4 m: @6 a# v$ K" t1 Q+ d {
- {6 V) K% F: R; B- {* a! a if(debug)3 p6 a" F ?/ E7 i* k8 _$ M
{
2 R1 I+ d+ u8 @& D. m5 _ alert("no object found!:"+objname);- k. G; o* Y3 E* G
}" O" w- S7 m% J3 v% O# p6 t
}
- J( `: \$ D z2 S" o else; d! q7 G" L% G- E- |& j
{
; K- f% W3 W) X( a3 i5 h 6 P5 g8 f. k8 M0 V- e( A% T7 Z5 _
for(var i=objs.length-1;i>=0;i--) 7 H2 L% Q) m( M3 c3 w, U. `
{
( g( Q+ P7 [: s var node=objs.item(i); / u1 ^& w) t1 {+ n* E6 `5 \
v2 K1 B3 v" Q- ^/ ?. b7 S
. r* ^$ v8 q2 z5 \% ` if(this.getobjstyle(node,"display") == "none" ||
c: d) U: g2 x. y6 L this.getobjstyle(node,"visibility") =="hidden" ||
4 q" A6 f' i1 T( l parseInt(this.getobjstyle(node,"font-size")) == 0) 6 L9 m9 b2 h( l
{/ w, f# K; X4 W6 @+ A) F w
if(debug)/ i: v: s0 A, f! n1 f) i: r8 ] S5 h
{ ]# Q# y0 d1 E# B/ I
alert("remove invisiable!");# ?6 ~# {' A3 b& ?
}& R( r, k) B. J7 j3 V
node.parentNode.removeChild(node);3 r# g7 ]4 Z: B% @7 C$ M6 u
^( M" e9 l/ n$ e' l4 e4 t
}
$ o# _5 D9 y. q! ]# a- Z5 Z# a else
% h2 S7 e+ o/ y O7 o: B {! i7 Y% P( h/ b1 r5 r8 `
if(node.parentNode) g; |! X1 m3 k) x, u" h
{7 M* k* U& h& N- p
var orgNode=node;# _% f; w& ^; P6 u! ?# F# e, @8 Z
var orgColor=this.getobjstyle(orgNode,"color")2 }. [% d9 V, D; K8 S
var orgRGB=getRGB(orgColor);
! o3 V* _& Y9 R: ^3 a r, | 4 ?" R5 V- ^/ [" r0 N
var parentNode=node.parentNode$ ^" N6 U' z" U. b n0 P& U
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 ^7 ?; P/ y+ q y3 s! _
" I0 G) {3 `3 ^1 G# ? `6 H var isLast=false;
+ R1 K3 `" ~5 n6 ?- R9 z9 a
0 `2 u4 S! H+ ?' ]) Q; p while(parentBgColor == "transparent")
; ]1 i( Y. A; I {
- Y- {& B+ W' u4 u; C
- E6 o* \% i8 w2 W% D! E s. A& C 6 k* ~1 `5 f% C1 R
if(parentNode.parentNode == null)
1 K6 P" G! z9 @' i+ _& ?% @. H {
( F7 I/ X$ J D1 ]2 y# i isLast=true;
C4 e; v9 D6 n! q+ b) \* k break;
' m% V" T/ e/ ]$ W, O }
) V% E( ?# ?( `5 p parentNode=parentNode.parentNode;' Z8 S9 q9 A5 K. n) C/ C; s
parentBgColor=this.getobjstyle(parentNode,"background-color");" g+ Z: r. ^& }* K8 f4 y* C
7 Z1 L2 P7 N f8 U if(parentBgColor != "transparent")
2 ^$ H* f, C( |' Z) `) J5 e {
" `0 }; F& a" V+ U6 C7 e break;
$ S5 L, C8 t0 Q( t8 }( p. e. K }
+ D# _8 ?& W- h }/ `' P4 y" @6 y- t: x5 t
if(isLast)
9 o4 H: T7 x% S1 s {
! L/ g) M. Z" {5 Q! X if(debug)
0 l# B4 B& A+ Z& z) u {
& w( d6 F' q$ O" Y8 C7 h alert("last!!");# w. M% A- e3 U. h. m+ M& D0 f
}
& T+ [( n. k0 v8 T5 h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). n: F5 s" F# `. W7 q3 |* v1 k
{
2 U8 J. ~2 z) _3 k& U- X2 F6 Q orgNode.parentNode.removeChild(orgNode);
( k* H* R. ]1 {: i* V }
- U$ C' L g8 T0 x. o1 R }: s% c3 r* A- v2 C6 v, S. P" e9 `
else
5 S3 C: q8 x3 @$ E! b, b. T {
9 u+ p6 w$ C2 }3 |0 t if(debug)
, d$ }2 ~( \, t+ M `3 x( c9 D0 N {
( A5 M' y+ {! f6 C! L5 M7 C- H5 | alert("compare color and parent bgcolor!");. O0 X; O9 \6 m6 o9 j8 B
}6 z8 w% b/ Q4 [# F. a
parentBgRGB=getRGB(parentBgColor);
7 t7 V9 `2 A. V* C, a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 U# \2 C: `; r. h0 C$ ~1 E
{
3 `' |- M7 q7 {" N orgNode.parentNode.removeChild(orgNode);
. `8 N! o0 t3 ?9 x6 b3 P) p1 ^" e. ^ }, m) t; \' x3 {
}
* `& ]% o y: `0 V" j' E( ~( ` }
/ x3 j% U9 d' x+ ?0 |5 X! R: Z" m }
4 m) o. J8 N( Q }
3 ?5 u" Q& L. Y1 {9 ^ }
" k! r1 t) X; M$ C! V0 x
) L4 m; F4 E# V- v- z, j
& f; |( f% h* g$ o8 i% w var itemFrames = page.getElementsByTagName("frame");
+ D5 b C8 |/ p% n# j0 @ var itemiFrames = page.getElementsByTagName("iframe");
1 H8 v# s7 M9 d p 8 U9 |4 X& z# e& ^/ r
var frame, iframe;$ b% ?: l% T+ K, O$ e% s2 t; A
if (itemFrames.length > 0)8 Z' ]$ W; K' M# q( i6 b8 @
{7 R. R0 z3 t$ Y; [% R
for (var i = 0 ; i< itemFrames.length ; i++)
6 `$ Y( M9 t& \# C {
E: @$ V/ x, T' x+ p& }3 ] frame = itemFrames.contentDocument;: V \9 k& ]; D) H' Y
this.RemoveHide(frame,objname); & V* s" z( i; E5 O7 ^* }; J
}/ e: N% r7 y3 v" E0 z* ^
}' [% K- `4 u8 y; \% V
if (itemiFrames.length > 0)* k. d2 H! o0 F0 I, `& _
{
0 P# M$ K% I4 p/ Q, c for (var i = 0 ; i < itemiFrames.length ; i++)
" p. R& \. o+ q& D# w( r& \ {
' d. {" f8 p! h5 |" m' `6 e iframe = itemiFrames.contentDocument;
3 Q- A: h7 [7 x+ ? I) v7 _ this.RemoveHide(iframe,objname);
. f1 O2 O# b! i }
" B [' N& `. g7 Q) m }
0 @/ D: _0 l) O }
+ v r' W, x$ p( h* z( d5 S% Z catch(e)
4 ^" o9 x, p0 Q0 y {
: G( T% W; `9 A5 i+ m if(debug)- \2 O/ o- L" Z: \
{
, u7 R! [5 X$ E" X7 \ alert(e.message);9 m2 Q2 H# w L$ a- a
}
6 |$ G. F/ p" b0 P: g$ U' ? }% v5 {" b4 C- M) i) \5 g, O% Y2 J& U
}
* @% Z( o% b% O% n+ H / G, X* L4 G1 E* g& D7 Y/ A' `
}
" V; W" T4 O/ u5 P6 I& ?* U# }, S% ^0 ` W7 ?9 E' r8 L
function getRGB(colorString)% ^' _, w7 w9 a: g/ N1 q* N" ?9 z
{
* [0 R9 r+ E, l& M' f. E var RGB = new Array;
0 V% M; T$ d9 X5 i$ } var tempSting=colorString.substring(4,colorString.length-1);
5 y; u! w7 k! a. |5 u var tempArray=tempSting.split(",");& A6 ?+ {2 o' f- i+ [
( ^/ A5 Q! V0 V4 P RGB[0]=parseInt(tempArray[0]);' Y8 T: _0 W$ K5 K3 C- K
RGB[1]=parseInt(tempArray[1]);
+ }9 i- }+ q" _8 X RGB[2]=parseInt(tempArray[2]);
: q$ f0 e! H0 N$ _6 i% T* r 2 B7 }* s- C; u( m N
return RGB;
7 g8 [! ]! ]7 n% w' h}3 n6 T) Q. v$ ~" i5 p, @6 E0 r4 E+ h
function keys(evt) 2 r. L; l4 ]4 M' D3 ~; k" u
{ 2 C5 O7 [+ `! Q
if(evt.ctrlKey && evt.keyCode=="81")
# a. b! y- I* |. I { ; H$ K5 g% ]: A
CleanHideObj.on(0,1);
- }5 z1 f4 k7 r; S$ u alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 v3 [$ Q' F, g# l 0 L0 [- ]9 h, Z1 w% Y
}
7 N- S; H# q8 I! J* }' |- m( ?' P }
5 r, X! p2 r/ L( Idocument.addEventListener('keydown', keys, false);
, H- X& S: j/ P' B0 `2 e+ BGM_registerMenuCommand ('Clean Hide',
& d8 h+ D6 B7 Mfunction(e){4 j9 A4 y* p9 |. J* M* _
CleanHideObj.on(0,1)0 K ~! J! o6 r; u# Q x& z, }. d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 G! \5 [* v9 K/ r1 C' e: C});, `/ N s: M8 t. M$ v- h3 r
|
评分
-
查看全部评分
|