|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ M7 r$ ^7 `8 y
: k# l! x* r6 n8 l火狐插件,用猴子8 m, L+ y6 b; D$ n
8 x& T% _/ Q9 O+ y& e1 k0 v8 yvar debug=false;
5 [$ t' e7 k1 v8 B: M3 Cvar CleanHideObj=new CleanHideClass();
, Q, V3 E# A' h% h V3 ~# ]) ^3 s/ N
4 {$ s3 F# k( ~- i# g0 Zfunction CleanHideClass() # `& ?0 P2 [9 e
{ 4 w8 E' \7 `/ J- i
1 V: `; N+ D( ?8 b" O; A
this.on=function(id,bMZ)
( d2 ?5 D6 s/ u9 L. @# g {+ E3 y3 E+ U4 Q, ^; u& n$ Y5 c
" t- N; }: K# G {4 C$ {4 N" w9 o1 K if(id == 0)3 ?7 J6 ]6 N( _
{
8 Z/ R& A- c3 y3 r8 C% N3 R var page=/* document.getElementById("content").contentDocument */document; : f# c2 P% Z& J! O6 t
this.RemoveHide(page,"span");( G; f( S0 f8 Q& `$ c
this.RemoveHide(page,"font");
$ g! f0 f0 x: e7 [% n& C8 _( ] this.RemoveHide(page,"div");
5 H1 D+ d5 }; R# R5 A this.RemoveHide(page,"p");
; l. n, ?' q! G& Y% A2 |9 G
8 U1 q5 F- v; W }
2 b9 L' ]5 p2 \, A7 b5 |
, {5 d5 a, r' H j+ k }& S- Y& Y! g! Y: t, P
this.getobjstyle=function(node,prop)
3 v4 t5 z+ P$ F- P {
7 }) Z) h5 E1 a$ Q/ V' H* E2 P# S try& r o `& u( u# \8 ] A$ n
{
% v1 x- s7 n. n1 W+ f% m3 \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; I* g. \9 T5 o; U# [
}
9 V7 I2 `0 K# w' F catch(e)3 d( {$ M8 I9 k o8 ^! p3 ^& M
{+ A" u1 A& O9 S3 r: S
if(debug)) k2 w4 ?: ], T( ?, T
{
/ M+ w) \0 C" t+ p5 z+ W3 j alert(e.message);
s& a3 H! e- \) y7 e }' ]' ]2 r, h7 `! l' V; l
' o2 [$ ]* { N) D6 z& F: H& G return "200";: y. |& r. w/ Y
}
8 i+ I+ J' o! l+ ` }7 w X3 U5 X+ X; ]( }
" d0 J- A6 T1 ~/ V0 p8 a
this.RemoveHide=function(page,objname): t/ U( b/ K+ x! ~
{
5 R3 M' A# T2 w& d2 G4 X8 ~2 x try
+ G1 c6 n: m$ ^ {2 A( U- Z6 D# s3 P
var minValue=15;
9 A+ ]: x5 u' B: e* E var objs=page.getElementsByTagName(objname);
3 k; p6 a& Q/ j2 t+ N& w4 t6 u* d: i9 x. o
if(objs.length == 0)
0 G: N. Q9 O6 {3 M" \2 t {) M9 [$ r( `' D C2 I6 V" U. I/ l
if(debug)% l2 v9 B& P6 X0 h4 @9 \3 w! ^
{
" I5 V4 M: n3 F4 |! ]! u4 q alert("no object found!:"+objname);8 v2 ^/ O5 s" B
}
, J. d9 y O! v5 w: @/ w0 g; k: j }4 x) H8 ?( q; i
else$ ]1 w, K& N8 l9 n2 P% J
{& D1 `' ~+ V: ~7 _, d7 l
. M1 j7 ^5 Z/ L' X& { for(var i=objs.length-1;i>=0;i--) 0 t. A8 d, i3 G7 Q8 O. w" ^
{
% L% j$ j7 |" z" p$ k" ~ var node=objs.item(i);
. ^* z( ~; L+ u8 q % p% K* |( @: G% W/ N' j1 D
- H9 ?0 q. k; ` if(this.getobjstyle(node,"display") == "none" ||' }. |, I8 k( y8 w6 q3 S9 o
this.getobjstyle(node,"visibility") =="hidden" ||
) [$ E) V3 y# x% l' q- p parseInt(this.getobjstyle(node,"font-size")) == 0)
' L) S$ b; F; S- h+ D8 t: d( g/ J/ ^ {
! F1 V$ H) \' y% \4 T( ?/ X1 {& B if(debug)5 s/ u6 G1 l$ W& E: ?
{
7 d& ~1 p5 n& V" a0 G alert("remove invisiable!");
; _+ Y% H- Z! M/ C0 t' K* I }4 Y" J# y$ i3 H* Q) X/ Z5 u
node.parentNode.removeChild(node);' {( j) I$ M" W. ?) s
3 m% r+ N" l/ c( V3 g+ U* [& P# K* Y }
6 k1 ?8 l7 }5 d else
# V5 ]; [! O+ t$ o9 c# v {
9 e. E- S# Z4 D, y+ `4 @7 A" p) k if(node.parentNode) . \7 F9 q! b* B1 N7 W3 y! T
{- {7 ?7 _2 n$ d6 a
var orgNode=node;0 A+ d a( z& v) C: M5 i0 o2 T9 _
var orgColor=this.getobjstyle(orgNode,"color")
5 _& D6 Y0 F* ?1 H; S var orgRGB=getRGB(orgColor); + c! L4 Y- u/ S: q
5 v( q( W* s0 [5 u/ v+ V+ m+ r
var parentNode=node.parentNode! t; a% S- _6 u f8 D0 Q* V* o, L+ s
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 b$ E; P d; k* G. \
# P- d) ]/ ?0 y* _* g* M3 v
var isLast=false;
5 ]: K( T0 Y5 q/ `$ C- F# `; j
! r! Y8 N% j# Y6 |3 g( M while(parentBgColor == "transparent")
% q9 b* l( O; j& N {" k0 C7 r2 _1 W; ?9 R' L. I
: M Q$ Z' x' A
+ ?* A: a1 r6 t+ d3 `' ] e if(parentNode.parentNode == null)
; \, y0 z9 w" R/ c8 p/ X {
" K9 Z8 H* {! M4 u isLast=true;
& O' [; H6 z- S break;7 R7 i C; u+ M2 W
}
1 S* @# }: ^% u0 }& B% m parentNode=parentNode.parentNode;
# n& n6 `1 U2 M% Q1 T6 D parentBgColor=this.getobjstyle(parentNode,"background-color");( D5 p, Q9 R: O7 N
( ~( w; A% t, H6 G if(parentBgColor != "transparent") . U+ z6 e! M0 \9 f
{ m& j% z( V+ r% {# e. N F" y
break;) b) ` ` e: ^, }! p% q9 V U
}- ~( ~3 y: Y1 o% {! }3 e. L/ v1 N
}$ Q" v; t3 @* {* p: }+ Y, K
if(isLast)
& a* ?4 T' I" E, L7 O {+ K% V* J% W& d6 x1 s7 o
if(debug)6 R5 I# p2 a" s# y# g
{/ h. y$ g U! p0 b8 l
alert("last!!");+ N7 v, E% o8 \/ b t
}
! G$ r6 d, A. U: S0 [! r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 Y0 k- J; P' ^1 e& D8 i- T# ^( T, \1 K% i
{
4 Q6 i: D+ q% W' u orgNode.parentNode.removeChild(orgNode); : j- ?, d+ ]6 G8 p8 d' q
}
- I. _- z2 H: k2 F4 Z9 g }
: `4 A1 \% O, I1 G- e, b! |% q else
3 c; \2 a6 ` n {
3 n5 c+ T1 {/ b# T9 q( g+ C if(debug)
& H3 n. n" _1 P/ m5 [, l, ~ {) S4 K/ n5 G5 z6 ^/ y
alert("compare color and parent bgcolor!");: z" |* x! R1 Y0 j& z) l. ]+ r
}
; @' k* Q! I) Q+ o0 [2 q parentBgRGB=getRGB(parentBgColor);# m3 r6 c% W* s+ P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 N5 G2 P$ v5 J/ S8 [
{) q8 K& [- }( O
orgNode.parentNode.removeChild(orgNode); $ e* \5 ?- a w
}8 N3 k, w0 |; Z5 q1 X2 [) `3 L
}
! s$ r: o6 r3 l6 v. p r }
% d2 C6 U! @% P6 m }
8 F6 Z' Z) L, K) _5 g }
: ?1 }6 d* C' @* M n }
. l( {' e5 L$ X& q( N - k5 x$ `# G* k1 t) w
) U+ F$ i8 W$ m( B% A, n2 q! o var itemFrames = page.getElementsByTagName("frame");
) P& E3 | m5 T3 @3 k4 g var itemiFrames = page.getElementsByTagName("iframe");: L% g5 O8 ~7 O8 j: Y
5 r! X! |( f' N var frame, iframe;$ C- U) R s8 h, f( \
if (itemFrames.length > 0)
5 h- O) ~" b3 x6 n* f {
; ]: o% ?4 Z8 X7 h for (var i = 0 ; i< itemFrames.length ; i++)
+ i# K# v9 c% A5 ? {
" m9 T3 y. j6 f; z( N; | frame = itemFrames.contentDocument;
% a+ I% P+ c) f1 L this.RemoveHide(frame,objname); + @: `, p% e$ ~2 [8 Z$ v0 U
}
4 X1 B1 \! Z6 I& A% y! `' R }
5 F# ]/ v1 ~2 k) H2 O- t if (itemiFrames.length > 0)
$ H+ F3 M( O+ D1 C {8 ? W7 z; A4 T* C9 `) `5 P
for (var i = 0 ; i < itemiFrames.length ; i++)
& h! y! j/ f. r1 ^% i4 b* _/ V {
' L. r, k% c7 s$ v% ]; [ iframe = itemiFrames.contentDocument;, b; D! j8 Z5 m' o1 ?
this.RemoveHide(iframe,objname);
, ?5 l) y2 U" j }# O" @ n$ [" K% g3 l0 D
}
. G' _9 T5 i+ O& @+ g }1 b. t: P4 w/ _- }' E" q4 e/ J8 p7 u
catch(e)
/ W9 E( t' }( b/ u' E: w1 b0 ~- N {: Y( H$ r' T% X" H- @- o
if(debug); y1 f( L) B6 Z0 a" M$ Q( t. U
{& n2 x4 J3 J: g
alert(e.message);3 c: }$ g; c+ t S, h+ C5 [
}8 m/ D- W. v2 d. s: b4 o, b; @7 }
}
1 d, I5 e; A4 f e; U }- ^0 ~- e0 n- I' F" T9 K
4 r. i4 e7 ^" t5 O& p
}
# i# w, J" W U" h$ L* j* y' n4 F) W8 h# P6 V1 Z$ K/ V
function getRGB(colorString)8 _# y3 Y6 d& m
{9 T; L$ U0 Z' N1 g/ g: b9 t) C
var RGB = new Array;
3 j/ _6 V0 @+ c: z var tempSting=colorString.substring(4,colorString.length-1);
' j$ u+ b* s6 y' x; J1 ^ var tempArray=tempSting.split(",");
9 k. x# z% ]) h4 k+ b/ v
7 C5 u" }4 `* V( _( _: H% ` RGB[0]=parseInt(tempArray[0]);0 `; Z+ v2 |5 s% ~
RGB[1]=parseInt(tempArray[1]);7 V- l6 [6 p& S' X/ `1 H0 v
RGB[2]=parseInt(tempArray[2]);& U5 i- R9 t/ B! [' {" ^: z
3 r! F: t ]8 n" @2 u4 M% L return RGB;5 F7 K/ b' u% w2 j1 T- N
}
' h) f) y/ v, v Nfunction keys(evt) 3 a" g7 e4 K6 Y& j0 M7 L. V% `
{
6 A& T% u8 q! \% N& U* b* ?+ j if(evt.ctrlKey && evt.keyCode=="81") : B- f: L9 ]% S9 h) }1 P8 Z, S
{ , S3 @( l: Y0 T( C; C6 \
CleanHideObj.on(0,1);
9 m* O' |% n8 ]5 \* i9 S$ ~1 \" j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 C7 Q& {& _9 } R' Q# R- \3 a4 p' J' q
} % ?: F) e8 r! Y+ B4 N9 u% m
}
- G) g, S# z8 b9 }1 x7 Tdocument.addEventListener('keydown', keys, false);
6 H. a- j' d$ b: vGM_registerMenuCommand ('Clean Hide'," }" i; F" \0 i- {
function(e){0 y0 y! s1 G/ o
CleanHideObj.on(0,1)
. W# A. U/ t9 f5 e; Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! v4 x0 [* T: q6 \; K});
/ q5 M" ]/ D( o# F3 J p: r |
评分
-
查看全部评分
|