|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . b1 U0 |( K4 I# u+ ?/ {
9 v) `9 K( w% T. ]4 ~
火狐插件,用猴子
7 a; ?" u) M3 I) e3 e1 L) g$ F
6 F- M+ ]. m( }: }( a9 avar debug=false; + B( I9 U# D, U8 H1 `9 q
var CleanHideObj=new CleanHideClass();
G! V2 i9 _5 L% b$ J
1 ]7 M# h- M, ^function CleanHideClass() / y0 D; s* l5 U$ f. k5 u
{ ' h2 E7 i9 O* O( t
9 f, J# {) ~+ M5 R& Q
this.on=function(id,bMZ)
) ^- m2 z, m+ G: d' r Q5 ]7 t {
& Y4 B3 n) U8 t6 m0 O. f
) f" Q s* C4 M. [$ U if(id == 0)
9 o5 i! {( {7 s {
. c2 q/ T+ N j5 S var page=/* document.getElementById("content").contentDocument */document; 2 s. D/ R1 e$ p- H
this.RemoveHide(page,"span");2 o( x9 k: b& w' v0 `6 {: S
this.RemoveHide(page,"font");; V# G/ ?* @) c8 C# \0 H+ V# M
this.RemoveHide(page,"div");1 s: @7 [2 J; n. U6 C6 _/ s+ t
this.RemoveHide(page,"p");
7 U! `/ u# t C4 G8 T( H ; { v9 x1 d7 i7 |0 o
}8 t# T9 i& G- ]5 s* U" u
; W( ^- c: j1 \
}
* w6 A8 k" J4 Z/ d2 l this.getobjstyle=function(node,prop)" Q7 \& K4 ^6 `' G
{( A! |! M g; q7 ]& r3 S
try& j' h5 _+ ~* E1 r2 J/ t+ E
{9 [& g" E! B9 x1 C! Z6 w8 H8 g
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; R4 s6 ?1 l6 Q# D! @
}
, Y3 u' f0 w2 `+ r* C2 O catch(e)
! {/ D5 @; n" I {9 Z& Z' @" c- k. n# e
if(debug)
# l6 i' e: d! y {
3 n2 y! F$ g8 L# G8 C' ] alert(e.message);
1 c8 M! S) f3 l- C( E8 U; t }
7 Y0 ~) @0 i6 x- x. [" C, G7 q
: J8 c4 }1 z4 N0 i! F) I, } return "200";
8 {- t+ z1 K+ J0 q. r }
6 o( W! ~( s; [4 r5 P' Z }, d& y4 i3 c2 w0 ]/ ?' E: M2 P0 n
( g7 L/ |# H# B1 G this.RemoveHide=function(page,objname)1 i9 Z& t! e% T; e5 i. q
{, u' g( I! g/ z; X; W
try
7 v: J2 g1 M. t3 k0 N" \+ s {; b2 e+ q2 e: c' k
var minValue=15;
) g8 `1 }2 W8 C; H5 k var objs=page.getElementsByTagName(objname); , t. p0 z! f2 A5 g4 S
( N1 \ g g4 C, G: Q* t if(objs.length == 0)
; t6 J b' `) M# F+ v4 l; X J {/ E* V! F' W) C- u C8 n: J' V1 g
if(debug)
1 f; j+ L& t$ I5 J" x {
+ ~; Q9 N3 ?5 \, ~- W. s alert("no object found!:"+objname);
- ?6 P# {, E2 Y }) V2 T P( a6 J
}
( R# o* _* f' V else
9 r- [, S9 L( `% Q# [# q2 {0 G {
1 m+ x% v1 Z4 s! y4 q- E. h. u
7 V) ~6 V% k! u6 b M5 @1 @ for(var i=objs.length-1;i>=0;i--) , R/ r9 U) Q0 g/ W. X# N
{
& W `) {) T( |/ c8 L! a var node=objs.item(i);
t- n& @# z$ y) T! z : J& ?. ]9 v. \7 S6 M) a
M; Q1 r$ @4 z7 s: k8 R, s if(this.getobjstyle(node,"display") == "none" ||" c; I% g. }9 l2 p
this.getobjstyle(node,"visibility") =="hidden" ||: b. ^) C5 N( f* B, j
parseInt(this.getobjstyle(node,"font-size")) == 0)
% K% i5 q1 P {( `% K {$ {' J+ F4 [2 E4 v" b6 [1 f
if(debug)
) r: ?- z8 d4 h$ K0 ^9 r {5 ~' \7 G: x( ~1 V/ r& E
alert("remove invisiable!");/ j8 M# J- r( R2 s7 Z
}0 h9 k' I- g% d2 x% U( C4 A
node.parentNode.removeChild(node);
! `1 V: D4 q% I+ m' B/ S
- k6 @& ^' F2 j X# }+ v# f }
9 A( a" t. L% ~" N! j else " x1 W$ t* d( \
{
5 z9 g8 ]6 O2 q& |0 o if(node.parentNode)
' [/ S- _% t D0 ? {
: @2 D; c; n+ b9 t% z var orgNode=node;0 \) x _, x2 A( d( U
var orgColor=this.getobjstyle(orgNode,"color")$ L( g/ b" b1 y
var orgRGB=getRGB(orgColor); ' a6 d' o- N. u% E
: o# Z& r H. _: Z- S7 R5 |
var parentNode=node.parentNode" z; I, e- s. y: H+ d7 k0 i
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 v1 U8 t2 d* ]- D - }. {8 ]* v2 |' H" o
var isLast=false;
9 Q3 y8 b% Q. m) ~; W$ i7 m1 }- @ ) X! H% Z( J2 J) |6 L
while(parentBgColor == "transparent")
# p# ~% W; S" \# ?6 ]0 y {# n7 @' o* g3 S0 S- p
" S1 p4 b2 n! S! ]# B- D
9 W; e+ a+ S# g7 q8 u+ U$ W8 x if(parentNode.parentNode == null)2 W/ q3 `% ~8 q$ P- t
{- F0 L! `' b0 n$ R' m
isLast=true;9 p, S+ m5 S' [# u4 w+ ?' H) t
break;
# V7 m `/ N, q3 t: V2 N }+ R- |# X4 R7 S8 R
parentNode=parentNode.parentNode;$ ~4 t$ `( ]( x4 _
parentBgColor=this.getobjstyle(parentNode,"background-color");# \8 Q* E& b: v0 w$ b
9 ~- |5 ^1 D. _- l: U& M
if(parentBgColor != "transparent")
5 T, |- b/ G& _, |! m; l {# l$ c5 z( C9 ?: p) T- l+ E
break;) J/ q) W& Q' _1 y. v
}& { I/ q# V& n. \' p( ~. c
}$ H0 e2 s2 A" c4 ?' A# c, { i
if(isLast) 0 O0 S7 L9 c: L
{
! p7 i/ Z% i: A. i if(debug)
4 ^1 }4 v2 \& q% N( [ {7 I+ N, q$ n6 Q: Q; L3 B1 s
alert("last!!");! h: |$ H- f3 v( a
}
- E/ w* k% B4 |; Q/ J: q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); r2 {/ g$ C7 s. U
{" N2 [: u( f; F/ R
orgNode.parentNode.removeChild(orgNode);
O6 }, F& g7 P# {* R }4 m! o2 w6 a3 t
}
2 j+ E* m; b0 J; b else
: O3 f5 j8 A( {! m- P* x, K {1 m( R8 q; U) w/ H
if(debug)
, U) e3 r0 p7 W {
6 M$ S2 ^3 O" E' L& `7 m alert("compare color and parent bgcolor!");! i8 h3 ~2 F* M4 }
}
) B$ J+ V1 p. `7 A/ ~/ P" g1 v parentBgRGB=getRGB(parentBgColor);
! X6 B' T" i1 S8 X6 D2 O! j# M2 I if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. y) x3 _5 [, q/ M {
8 j" l& V, l( \7 W9 S: g$ G orgNode.parentNode.removeChild(orgNode); 6 T$ i8 F+ u2 B/ T, H+ q+ m3 `3 L
}
4 c" x0 U) K' E5 E! I* x }( Q% ~+ l" N9 `6 s& t' @
}
: I/ t; Q% a/ n4 e* H }. [/ b+ A1 `( Z# x2 M
}
; l6 B2 B1 t' N* }4 c1 u% s: O9 H }8 a& M2 ?& n; _& B# q# O
4 E9 x- @7 }" F: }% |) m
. y9 H! y3 i6 `& Q# A var itemFrames = page.getElementsByTagName("frame");
1 {/ D9 G" y8 B: x d var itemiFrames = page.getElementsByTagName("iframe");
9 s- ?; I. T0 D+ Y2 c y( v 6 Y9 H2 R2 Y* r0 P# ^# |- @
var frame, iframe;
. l. C9 n) c7 {2 n- j4 ? ~ if (itemFrames.length > 0)
! _: ?% E4 R% }5 N; m {
; P" Z7 R. N, |. _5 I4 j. h4 T/ a for (var i = 0 ; i< itemFrames.length ; i++) 0 y2 q! M5 P$ D
{
. M3 v1 Z4 @4 s$ x$ H frame = itemFrames.contentDocument;' W3 E8 [1 s( k
this.RemoveHide(frame,objname);
/ S4 {; J* o5 N& }. b& [9 D }3 x) ]% C2 c Q. \; N4 T
}
3 f7 l4 p# ?( o v0 g if (itemiFrames.length > 0)
9 {& V6 k# X6 n0 O1 j {6 }, n# N: e* l% `# u- Q% O
for (var i = 0 ; i < itemiFrames.length ; i++)
& \6 b/ P- C- E: H( B {* \7 R, P/ `' i
iframe = itemiFrames.contentDocument;- [4 z$ k3 A+ X( \% |- T
this.RemoveHide(iframe,objname);
2 o1 R7 U4 }+ P2 r# H4 b" p" N' i. f }( r( k! P( I; ]1 ?
}: m: W1 w; p+ Z4 [) a) ~7 U
}$ _, v9 J, r. n8 `6 q; s1 ^# j1 E
catch(e), @0 J# H2 m, J4 Y q1 n
{
3 t, ]4 \. Y# R4 h" z0 c$ l; J" q if(debug)
! e2 v1 ?0 g; z0 C9 o {
+ p# x0 Q- m6 F. N+ o5 R( c alert(e.message);
2 k( W) D) n% n6 z2 H* t }+ K m) e: l( M) E, W6 \
}9 D# b8 j9 `: U- @
}8 ~3 H, O& |: `/ b! q
. ^; a8 A5 I s4 E4 t- @6 ^- r
}/ G, F+ X4 C% V$ r* {2 P
4 [/ i d- M; z3 {5 M# c$ I qfunction getRGB(colorString)3 E: @6 V1 O! y
{
0 q+ X# W/ Q; r6 L6 _/ H) u! M9 i var RGB = new Array;( @7 g2 o. D6 D( U0 e6 i' u
var tempSting=colorString.substring(4,colorString.length-1);( b8 Q; M% a7 }0 E" r8 J
var tempArray=tempSting.split(",");2 ?* T: R# s: B E9 o8 }& k
1 ?% T0 @* l( ]) j/ j5 n RGB[0]=parseInt(tempArray[0]);
( s( @& B( h# s7 n: ] RGB[1]=parseInt(tempArray[1]);9 ]/ c) V. w. Q# l: ^) |0 F
RGB[2]=parseInt(tempArray[2]);& A9 f8 @/ g5 h9 f$ k" c' f8 c
* a. L8 Z+ t; H T0 D: I
return RGB;5 _# J' T2 e; R
}+ K: o' K6 X. Y- D/ c+ J/ h V9 {
function keys(evt)
6 A9 g" u8 _ ]3 w0 L M/ M { 8 p3 W1 t: {$ u5 U' o
if(evt.ctrlKey && evt.keyCode=="81")
$ r8 k. ~; N/ Y {
/ U3 R2 l0 E, N( o4 | O CleanHideObj.on(0,1);! r# W6 m s% M H2 W* A9 w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : Y! v, c2 q) {7 L: U
/ H8 @0 q2 I! @1 k/ k }
' a! k8 H! O) y } . t: `. c5 E/ |$ _$ D6 h
document.addEventListener('keydown', keys, false);
# p4 K2 H- t% x( Y! l% L/ KGM_registerMenuCommand ('Clean Hide',
. J l2 C. c$ j2 u+ T& b r- e5 {function(e){" g. M( H" d, q5 U' A
CleanHideObj.on(0,1)
) C! V# I3 \" j6 J6 N9 \: Ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 u+ {2 V3 e* n3 `1 Y});7 `+ U: m' t5 ?, Y
|
评分
-
查看全部评分
|