|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 |* Q4 u, \9 Q& o, b' I8 ~
% G% J/ o0 L/ Z
火狐插件,用猴子
7 T k* ~2 y' S2 T; F! a
3 l1 r# ]. n/ j5 Ovar debug=false;
9 o% t8 F1 Z! D# ~1 \ evar CleanHideObj=new CleanHideClass();, w4 D" t6 u9 l" C5 O) H( X9 ^
6 y0 `4 V$ m9 u1 ^
function CleanHideClass() ( b, U7 F' T! O
{
- w9 W3 V4 m; Z7 S+ a- v7 M" ? 7 w) G- N& i: C& z. d
this.on=function(id,bMZ)6 h' [3 J6 M+ |6 c, P' z. V9 D+ b
{
+ W1 Z: V" N) s' P4 x% X! w) {7 a 0 h! T4 `) x) q
if(id == 0)+ a. s3 J3 Z( x% Q) f7 j
{8 T7 q7 \" m, s- R* Z% k
var page=/* document.getElementById("content").contentDocument */document; 3 G" `; u) w4 w0 h p# @
this.RemoveHide(page,"span");$ j. U# w0 ?3 |0 }# y( P) b
this.RemoveHide(page,"font");
1 Q( `& p. E' t0 c( N! t3 ? this.RemoveHide(page,"div");
/ p/ g) Q- O2 V# w2 Z this.RemoveHide(page,"p");
9 f1 Y3 x8 n b4 o 8 `7 h1 w+ R$ V
}
( N$ l1 n7 u2 G# t3 z
5 l' v% h" W8 [3 S. v$ n }
) C- @% Y6 f: ?# k) w this.getobjstyle=function(node,prop)
% k0 I R, Q2 ` {
8 Y, L1 r% P% M3 Z- u try
6 k5 Y& {) X$ V- N2 a- S7 G* K {0 V2 {5 y# T2 j
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 b& }# a3 b3 `9 R9 n1 g
}
! {2 e" T/ Y7 I7 L2 w( H catch(e)
" k3 u k: M7 v" ~6 E% G {
4 T% s! D' p) M( i+ i if(debug)8 k9 K8 a- J# n5 O- z3 q" W$ B
{9 X$ ^9 M" X# Y( F( [ G2 u9 P
alert(e.message);
& ?& m _$ N+ I$ ^ }$ R' |& X$ @, N( b1 f& H
w; Z" A! B9 @2 p+ K return "200";
5 M: P# n' U8 y }+ g' k7 o- W; e# E2 V( b
}
" f. a; @9 J2 a3 B
4 P" A' H) x/ C& t3 i this.RemoveHide=function(page,objname)
) v& P& m- D# ?. S. C1 C {
9 u) x% S* ^9 k( p7 C0 e try7 G/ j# i* V' E7 E+ i/ i
{
# V3 |3 I. O" G, h5 E p var minValue=15;
" N7 t; G, f7 i) o+ ?% L6 \! ] var objs=page.getElementsByTagName(objname);
( P4 ?( V7 c* v, x5 e+ O, `7 i! H& N v) p7 j
if(objs.length == 0) ' p: h! v4 C2 z) G: l
{' K; ?/ w* z' |# ]
if(debug)
" ]- U# r; {4 t+ R& [9 z6 N z9 L {3 B9 j5 _( E8 ]7 T/ s
alert("no object found!:"+objname);
! K# N1 k3 r" H) A) U6 O+ c4 E, e }
5 Z d; g" f; {* O }
% U4 }) R4 e$ u else V9 Q" H ]2 J) ~1 ~6 }8 K- R+ \
{
4 T- u2 V( s6 J* a* t% r& |% S+ a U . w4 h$ S5 W8 [2 p4 N
for(var i=objs.length-1;i>=0;i--)
) i1 N+ g1 L4 U+ A# M- t( u8 O {) A# z+ s/ v% M9 n* ]- R/ k
var node=objs.item(i); x$ n2 U7 I+ G" ~5 V; d2 z
2 I8 G' q+ v6 F5 e, @3 c 8 P- y w; P9 S
if(this.getobjstyle(node,"display") == "none" ||
, i; N& N; G2 C. Q1 P; f# n this.getobjstyle(node,"visibility") =="hidden" ||) D% @3 e- O: ]. }) P+ R) V5 N! `0 l5 o. S
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 |8 z9 A. b6 A. U9 G$ n( E {
* V9 m8 Q; n; t7 ]6 H' v if(debug), E) P y& K! e; y$ j
{! e; W9 u5 V/ {; @. n5 n
alert("remove invisiable!");
& n1 h+ f) {+ h9 { }5 g1 b. {0 C4 }, Y( L: ?% L
node.parentNode.removeChild(node);
$ l) p6 W# K+ t7 n5 |9 i t $ g4 P* B" r. @1 g$ ]: z) C I1 ` a. t2 l
}
3 ^9 T' J1 G' u# v else % o& r; Y- x( w
{
/ b1 r$ V* y* Z( F, z if(node.parentNode)
3 p K# |* M8 z3 f3 Q* v {" Y! e; [$ q8 e+ G0 \5 I2 b, h5 X
var orgNode=node;0 ^2 `' A- V8 N6 p
var orgColor=this.getobjstyle(orgNode,"color")9 J( v3 l+ B! m3 D9 `# u: f/ }& w
var orgRGB=getRGB(orgColor); / g0 |; Q5 w; J s
5 G# L5 [& T7 z( t+ K/ k
var parentNode=node.parentNode
/ Q8 q q4 T2 e1 A: g4 ^& c3 | var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 R3 o4 v5 d, @( y. W
7 N$ }( i& s. R3 Y7 u: ~ var isLast=false;( `- l& ^* u6 `
, f6 P; {. e' b! M; v6 ?
while(parentBgColor == "transparent") + ?% n- t \& N2 O+ c8 I
{
+ [3 X7 e6 {2 [
1 s5 D T8 J+ I5 g
; J) \) j) x. k; Z2 o if(parentNode.parentNode == null)" N. H3 w/ @/ s0 k( \
{( ~% r) h$ M4 b) r7 }
isLast=true;; [! M t H+ w* H& ~+ v- K: P
break;4 I- ?! M2 C1 e M6 q- ^5 Y \
}' z! ~" O( x9 B- I4 U/ e1 b
parentNode=parentNode.parentNode;! J0 ^" S& I0 B5 B! A
parentBgColor=this.getobjstyle(parentNode,"background-color");8 X" f/ {. T3 W; t
u6 Z$ o7 g$ A
if(parentBgColor != "transparent") ! H' u4 S4 }# R6 j4 M* u' l7 E- u0 @
{$ p# G3 E2 r. _. p. g2 f
break;
, c, B2 H+ o6 }( _( T, ` }; b7 z5 ]4 K8 E
}
7 t# P2 O' n, L! Y K/ N* d. N if(isLast)
& h, O- h$ \- c% \* g N: L, P5 l+ D3 G {
+ Q5 G9 R K* |# n. j% @# ]9 y if(debug)
. C3 g( d0 U" [- N {
: u. e' a l* R: i7 N, I alert("last!!");
9 Q" E) R( H7 _" B# L }0 u# b5 b3 w3 \- z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 i& a# m/ Q) I' L+ j: M8 ?" v {+ g6 ^: _9 s/ c1 Y' K- b; Z. h
orgNode.parentNode.removeChild(orgNode); + H5 C3 E4 i, R& K: j$ G3 H
}" P' s7 q( l% o& R2 k4 m
}# {2 y1 [4 o$ F3 w, Z1 {
else
) F1 J! E u ?0 v9 b- Z+ { {+ [) `3 Q, [/ L& V, s1 a& K
if(debug)& @2 U4 B; A* h1 g% b& V
{
- ]9 G/ T; r5 k: A alert("compare color and parent bgcolor!");
4 x) p+ L6 M" X5 C# e }
% S/ g& _+ n* Q4 I4 Q parentBgRGB=getRGB(parentBgColor);, G) X- m$ o; m& {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# c! H3 h8 p; p8 u
{+ V2 N) v0 ?' F% V* n1 y: ~5 z9 N7 I
orgNode.parentNode.removeChild(orgNode); % T& |2 ~( |4 m( x {0 V
}* S8 t0 c7 ]! U) j) P0 E
}7 V m. q. d! e
}
) M% S& | d+ N- `) ` h }$ M8 |4 A9 a. p( S
}4 o, w, l1 e0 N) v4 \
}
9 ~2 C/ P# i5 F; j3 E6 O% m# R& U1 O % U4 C, R4 i) s+ A9 {% \
4 |+ Y [8 Y7 `+ y8 t% T! t# M: x
var itemFrames = page.getElementsByTagName("frame");
- U: P0 d& z$ ]3 v" y2 C var itemiFrames = page.getElementsByTagName("iframe");7 A, ~+ I) x7 q. u# K' Z
* M; B5 t/ y0 @2 ~0 W
var frame, iframe;5 e2 t+ |) g+ d r# p, Y
if (itemFrames.length > 0)
$ l( v7 K) k$ ]7 y8 S- B {
. { G9 w; H' f [ for (var i = 0 ; i< itemFrames.length ; i++)
9 m, D! \! j% J; Y% K( l! r {( f8 l5 R# q' z0 k
frame = itemFrames.contentDocument;; k) f* Z/ }) |5 O
this.RemoveHide(frame,objname);
4 H2 s: E# L! p- F! @ }
$ p2 A- V! l% a+ ]) F; v/ r }+ I* Y2 G6 }* x# d$ f8 b' q
if (itemiFrames.length > 0)5 W, X# U' a$ m& s: X1 M+ p5 Q
{# h$ x5 o1 S: R
for (var i = 0 ; i < itemiFrames.length ; i++)
1 A2 v W% ?9 [, O) D# g R& n { c6 n! F3 N, o* G: T& E Q( N) z" q
iframe = itemiFrames.contentDocument;
& S8 u" Q2 I# [" C this.RemoveHide(iframe,objname);
+ L7 t* U1 ~! Q) @ F }
9 b" |9 l) ^8 K- \1 g) X }
) F- w. B( F! k# w0 y7 z }- u5 D$ `* P5 Z6 c! U% Y7 R
catch(e)$ I& z% H1 [# k& H, }: J0 S
{( \- G! L( L$ O
if(debug)
0 b3 R7 P5 P" w; l6 J Z {' m( }# m) q$ F9 d7 w
alert(e.message);
5 ?& _9 S) S* z) t. w }1 Z3 Z6 r4 s9 c1 L7 [
}
9 [0 f/ Q' T7 M& z }
7 x! T I! N0 V5 U) p% B
6 K+ N0 S1 e* ]2 Z6 H2 Y}1 p- d0 T5 f+ J: D$ D: x b8 |
; V; q' p$ M. p4 s. Vfunction getRGB(colorString)9 j+ G- O. e0 ]! S
{. k# Y: V3 ?5 Z7 K' }3 y8 R
var RGB = new Array;
) \- k5 d9 ?8 t" k8 k" c0 [6 z var tempSting=colorString.substring(4,colorString.length-1);* X1 o& H+ U7 ^$ Y. G* \' ^
var tempArray=tempSting.split(",");
. K1 \; U$ {" k( F' V8 M1 [ f1 l( s2 i
RGB[0]=parseInt(tempArray[0]);
* v+ N7 _2 O5 D, g RGB[1]=parseInt(tempArray[1]);3 \/ }. m: o0 R, Q# c
RGB[2]=parseInt(tempArray[2]);9 }" O) K5 T# `9 Y, }
/ {+ \9 c8 J* I, }3 j
return RGB;# P9 y! i/ z; F, C
}% b. z8 I/ l( ]' {0 w/ K
function keys(evt)
2 [$ V0 v/ }, N; b0 _' w {
4 o/ T$ z8 m5 a- f# C9 Q" O if(evt.ctrlKey && evt.keyCode=="81")
& l8 `9 B k$ c5 v' e' m" ~ {
; B8 f0 G8 z* W1 b- w% z CleanHideObj.on(0,1);
0 G5 W/ C Q% z/ e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 C; U( I6 v1 f! c2 ^1 J " e4 E. c, I+ W1 ?$ o
}
% Q* L+ ] W# B0 `- x* r1 b) q, ? } . u' g" V" z u! B* c& H+ o
document.addEventListener('keydown', keys, false);
) ] L4 w# K2 {. ~) yGM_registerMenuCommand ('Clean Hide',
/ z" x, }* Z9 F: L: ofunction(e){
9 J* x6 U0 e+ e4 f8 aCleanHideObj.on(0,1)( _* g# p2 n; Q7 ~2 l: @( I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: k+ U% ?3 L: _});
6 R$ `7 t% Z3 e3 g# M |
评分
-
查看全部评分
|