|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 C u, {- N# m: v! `' L+ N( X. p% ?" G. I
火狐插件,用猴子7 ?( f/ Y! w% X& X
; W# T) ~- m4 A# O! ]var debug=false; 0 G9 U; H1 b) k6 k
var CleanHideObj=new CleanHideClass();+ ~7 G, u! s- u* S$ b7 G% x* | p
- U8 E _$ {4 e8 `function CleanHideClass()
, C0 U9 ~& w& n3 b" {6 V7 N{ , O; F( U% m/ M v
2 H. L/ `5 ]3 Q8 c3 g this.on=function(id,bMZ)5 D. ^1 J- y+ z7 T1 i- P; @( d& a7 p
{; j+ N9 |0 V1 d& U6 u* }
2 {; [/ T/ ?1 H8 p- z
if(id == 0)4 T: V/ {4 K, @" u4 v
{' ~3 H4 z. b3 f0 M a0 m7 U
var page=/* document.getElementById("content").contentDocument */document; ! U) k$ t! L, o" o- b1 L
this.RemoveHide(page,"span");* U5 d; u( j) d6 o' L$ U+ h
this.RemoveHide(page,"font");. d q0 e6 n% j( V5 ^5 S
this.RemoveHide(page,"div");
# x" M8 n f2 L8 L% j# h this.RemoveHide(page,"p");
4 a7 e' z2 M0 d9 `4 p 0 g# x+ e, W9 }, F3 z( c
}7 v- E1 o6 ?4 ?. u* n# o- D6 I4 T
6 |( [' L: Y0 s/ L4 U0 P$ m" O4 q
}
8 B; C5 g$ Z: e this.getobjstyle=function(node,prop)
/ Y- Z6 E! b7 ]8 x% C1 } {
7 j% J0 ?7 {5 \- X; Q( i6 g2 u try
/ X- t7 d; s9 l; O/ ^. |' p {
" h2 V% B0 X8 P2 C1 B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) C$ K$ S/ @4 a+ s
}
1 i$ B+ {: U; |5 h1 u" M4 K& d% y catch(e)
6 d3 V" |0 T$ }' d6 K. X# ? z {
$ ~! d+ d1 C5 Z* r' F if(debug)
X) v1 g4 }$ P$ A {/ w- l1 n; I, g, `0 b
alert(e.message);8 O1 S4 g! ?2 _) T. y
}" h" q3 W9 A6 {
- x7 m* b5 ^7 I; p3 u( D, F
return "200";
% h* N$ k+ r! L8 f; V: F* U8 G }
% j# }! k" ?1 V2 V5 k }/ Z9 T% y) r0 E
* u& z# I; l# G9 N- h$ m# e
this.RemoveHide=function(page,objname)
9 r" v2 l/ H- f: v) M {- `# a$ _6 b: u& e, C: h6 N. T' w
try
4 r x0 R6 h- n; v6 G8 t {
& }& e7 U2 J$ q. Z; y8 B' e var minValue=15;) V( e7 ?3 X+ C) X+ U: U
var objs=page.getElementsByTagName(objname); 3 L7 D' {& M }: \1 e
) O; K+ r7 }* o) r- Q7 _' w
if(objs.length == 0)
& c$ c% s$ B6 w) |" l1 j$ C8 I {
+ C: Q0 W6 x( B! G if(debug)2 x) k% ?6 R# y6 N$ k% a' h
{- V$ H- p2 x2 r B# N8 t# c6 l2 T# Z
alert("no object found!:"+objname);
. [( Z) Q7 `9 u# }) S' V0 A }4 [- [: A' j1 Y' g. Y2 w
}
; V' _( s+ J' `+ j6 q$ e8 t else
& ~1 Z5 U: G% a9 u/ c: b) U {
* _1 e* u# ]9 Q# P
& ~$ G9 r. ~" @1 }" q for(var i=objs.length-1;i>=0;i--)
6 b3 I, I, B5 w( G, X$ d8 K {$ h( n5 Z% }2 J1 [6 O; D
var node=objs.item(i);
& ` w5 w6 [% w. Z 2 ], W! A7 H* G) B; ~
6 m+ P. J' `3 C. }- Q if(this.getobjstyle(node,"display") == "none" ||$ [( q6 f, ?6 z. q0 b
this.getobjstyle(node,"visibility") =="hidden" ||' i7 i( @( K( Z0 D# E
parseInt(this.getobjstyle(node,"font-size")) == 0)
- K' ~$ y. Q# }6 } L {% Z" C( m) \, S/ ]! y
if(debug)
8 @# I3 |9 u* k2 V- v {
( L) I' v* ]0 H' z alert("remove invisiable!");
: ]" L% d8 _5 D o; e }9 N2 H& c B s% a; J$ r4 E& b
node.parentNode.removeChild(node);) g# c8 Z( e, a* |; ^; f
. V' j F5 S2 n/ B, {4 j0 B- B }. M1 H+ U7 r. C9 z( E' H
else p I3 {2 F9 O1 H3 B9 n# S
{0 Q% F( p7 Y, L0 \+ Q
if(node.parentNode)
* t0 a8 Q8 z) L {. b {
4 `# R y# @. K& O( F! Q& ~: k var orgNode=node;. w1 @, ^1 ^ p! Q
var orgColor=this.getobjstyle(orgNode,"color")+ b' u3 }& g7 {
var orgRGB=getRGB(orgColor);
: `7 t" y0 f) R; i* k7 I" `/ _
8 [0 I- ]3 p1 K+ U1 H2 K var parentNode=node.parentNode
x1 {4 H# R9 f- S! m var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 r; W6 J7 |: L2 m& D E: Y1 ~: u& J% G6 A8 X2 H
var isLast=false;5 B1 C+ t9 `' s; t' X4 w
! @4 Y8 B: P& h0 Y$ W
while(parentBgColor == "transparent") ! |8 D$ Y7 z5 G8 @( j6 x
{
$ _- z3 Y* X/ {* M3 F) L! k
# m) x: `; y# }% w& r: e1 | ' \; w3 n9 o1 d& ^. q
if(parentNode.parentNode == null). M0 {4 v. m ~3 O; k5 o$ j
{
( k! z: N3 M4 t# } isLast=true;
* p. u1 }0 Q: f8 ?9 r p( b break;
7 a* {% _4 e* |$ \; |+ X }
6 w; x6 c( F& G parentNode=parentNode.parentNode;9 P8 p* }! L2 F. x$ X' J- p; C3 K# {
parentBgColor=this.getobjstyle(parentNode,"background-color");! q% K" K8 p, x: w
# [8 P% u# ~' p# E if(parentBgColor != "transparent") * Z4 U- K, J5 j0 b5 K) T
{# N' ?& d. c- g- I: \8 B+ H# r
break;4 s6 [6 Q. V1 U
}
) o. B$ P/ E4 O) Q7 g1 ~ }
# b: H/ D- F9 ~* } if(isLast) / W% f' u# S& F7 I4 k( o# d
{/ y/ j: ?: `8 k3 p
if(debug)6 Q' U* P" e+ e- ~+ R/ e v. \
{1 M: k7 D( E3 [. ~ l1 u0 ~; Q; c2 a
alert("last!!");
/ s' R- L- C! |5 w, U/ q }
) e; `5 M+ x# K# g$ d! X if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 m3 ?9 Q; C: t' K
{/ \! j) i+ B7 m
orgNode.parentNode.removeChild(orgNode);
% v2 w k5 V% W- K/ p$ K }
' F: U! D5 B( f6 i+ j4 P# R& D }& V/ u6 ^% g% o0 Q @: R/ j; R8 ~
else
- W; \# p% p) R0 D' K {
7 A9 f2 [( ]1 ] if(debug)6 z+ X2 x% C m |; d
{
# m, H* Z1 Y( v3 ]3 | alert("compare color and parent bgcolor!");8 \2 k& `& C- h- l- J5 d: ]
}
# W: K0 Z( J: w( ]$ R parentBgRGB=getRGB(parentBgColor);0 y7 c# V+ N6 W5 d% L6 R' X5 [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
N) c6 E( f2 W; m i5 E9 p {- ^& s1 r+ i: f- V3 V* [1 }, @' _
orgNode.parentNode.removeChild(orgNode); + J: x" o2 A6 {
}
7 y* I1 ]- i: E" G }
7 B3 h( x# U9 [ }6 U7 s5 s$ P5 n% J3 N
}
& Z! h2 j3 u5 |5 s- { }3 n# |$ Y$ N0 B: W u+ d) k% [6 q! p
}5 ^" f3 |; K+ v' T9 T$ T2 B
) X4 V: Q. p" M' B
3 |; D) x. D) s7 m% g; k F var itemFrames = page.getElementsByTagName("frame");
6 x/ {0 z- l( S+ x G var itemiFrames = page.getElementsByTagName("iframe");
! |& S+ e8 ~" {9 X* f4 r! ` . I: Q# L% l( t
var frame, iframe;
* S) j2 I3 `5 f& `9 @ if (itemFrames.length > 0)
2 y9 i$ B: A5 ?' d3 Q4 w4 i {
# R2 m- n+ l- @/ N1 z& b+ Z for (var i = 0 ; i< itemFrames.length ; i++)
* N/ Y1 B% }- E {- k: J! c2 c0 ]0 ~ X
frame = itemFrames.contentDocument;
# c6 w+ }1 [; N8 g/ e, r) @% Y this.RemoveHide(frame,objname);
- N$ j# I: ~7 T+ ~. v }
( |4 {3 s% o8 j5 O2 j1 Y1 | }1 ^3 W* F3 A+ c# E8 R/ G
if (itemiFrames.length > 0)! A- i! b; S& @+ y+ B% L& O
{
' z$ H. U* C# {) } for (var i = 0 ; i < itemiFrames.length ; i++) " Z4 O5 f, [# |
{ X8 w+ Q- i8 X- m8 Q
iframe = itemiFrames.contentDocument;* m: Y b8 A3 v: {4 D
this.RemoveHide(iframe,objname);
/ |6 w( @ `" d! h, c8 S6 q; H }2 S# j* X/ L" R; c
}( U7 o$ p& g F6 x0 m
}( I7 C3 i8 b+ M
catch(e)% Y( T' u; v, ~4 T
{, s2 M0 ?7 w3 Q8 p% E z2 O
if(debug)
5 e7 d; G5 v' H$ K {- {+ w- a, h1 i
alert(e.message);& t' M1 a: ]+ P7 b* R a' z
}# U4 ~0 O# G8 V! _9 m# [
}; v" O& L# H% Z3 }, d
}
* o Y) K* I2 d. z9 N
! a! x% q# ?+ {, r- ~8 N}
% l# _! m" Z! E- S& a
U$ [: k% ~3 e3 N% L, Efunction getRGB(colorString)
3 [% {: Y% Z) Q) S1 W: B{7 y. c- R0 p1 y0 }8 |, N1 J- r
var RGB = new Array;
; o6 F ]9 w# b% X9 v. _# H! | var tempSting=colorString.substring(4,colorString.length-1);
/ L9 P" z, k5 @ var tempArray=tempSting.split(",");
, v7 \% W: T2 z. r" L1 Z9 T+ C8 a
" n1 B! @% |- s6 d RGB[0]=parseInt(tempArray[0]);* V# Z* q$ o% Q _4 K' y
RGB[1]=parseInt(tempArray[1]);7 B" K/ s2 D+ v- }
RGB[2]=parseInt(tempArray[2]);
6 b5 V# \2 G8 u4 j! @, V
" X+ o! m5 Z/ C% M( i- F return RGB;
. W" ^% d! ~: w n1 c}2 J" _& C- h" y7 p* A0 S. u4 P
function keys(evt) 5 e$ M B- p5 M) L/ l6 S4 X
{
* F4 l) M8 P. k/ m if(evt.ctrlKey && evt.keyCode=="81") 4 d3 u2 x* n) n2 t# c1 e) [
{
( x1 _2 a0 \( n' J+ z$ m CleanHideObj.on(0,1);
/ v( I+ G/ C5 q" X alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 L/ e0 I* ]9 k2 s
: q0 ^9 @ i: d. c3 {
} ; h( [5 x! u$ {* Z( d ^
} # u9 b$ x+ l/ p* ~4 @: z, J; B# V. G2 B
document.addEventListener('keydown', keys, false);
9 ]/ D4 F) @' U" @% Y% U1 fGM_registerMenuCommand ('Clean Hide',
" _: a: c$ y: ?- ?" ]function(e){* `, Q# O. H5 r! a8 R
CleanHideObj.on(0,1)
6 v1 w; M+ X7 }/ ]# C0 {8 c+ salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& `9 }5 E. n6 z A- o, Y" U" R. p) I
});' N4 X: Q }0 ^/ Q6 ?2 S
|
评分
-
查看全部评分
|