|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: Q" g& s; d: `$ w2 J- [: x' W0 `2 {5 `1 Q& Q: e* ?
火狐插件,用猴子
3 m; t |) N" \$ J7 N
! ]% c2 i# f; i6 E- X! D4 L! W; w! Hvar debug=false; ! v. Y3 S5 G# C& w1 w, Q
var CleanHideObj=new CleanHideClass();: B& V$ t- ?' b$ y$ w- l9 S
! S) ?; T% S# V" d z6 B1 Zfunction CleanHideClass() 5 b* V7 u* w& @+ }* K4 \' E8 g2 C
{
* Q/ x! {% v4 {0 c! y
9 c' ^' j& c3 U- V( G _4 M this.on=function(id,bMZ) L) x Q/ R' z$ v/ I
{
2 V0 @" C! Q/ w2 m$ H1 e9 n 8 G+ C) Y* A# X* c8 q5 |; w5 s+ z& l3 L
if(id == 0)
. ]% U8 o' d3 B. D' w$ ] {4 J* h1 s: r! t8 ?. g- c
var page=/* document.getElementById("content").contentDocument */document; ( l+ t5 c, F; a/ l7 ?
this.RemoveHide(page,"span");; ~" I9 \1 i! [+ L
this.RemoveHide(page,"font");
' j$ B0 P0 T* ~% ]% [ this.RemoveHide(page,"div");
8 @* M/ a$ ^/ I* Q m$ p. L! K$ h this.RemoveHide(page,"p");
! i# u$ Y/ G5 P ) x. U/ B) ]$ @! v/ E- q | C* \
}. g; ?! x& ]' u' ^
2 Q) W) h% H1 R) T( @1 Z" j7 d% I1 t+ l% P
}
) A) m5 _2 U3 x, {0 @ this.getobjstyle=function(node,prop)+ A% k P: d( w" i6 }
{; A& Y: H! H# J4 y* I+ B* K
try
1 s: [: _. ]4 L: A {
1 n) |/ U5 R) A% r5 J+ n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, c$ X- A" s* ~ }: Y- q: t4 J9 Q4 R4 Z, J
catch(e)
6 ?3 J% i) A4 `/ g \5 _ {
! k- D" a) q* O7 m if(debug): d0 \4 ~) }, J3 }5 n" ]0 D
{. _. P' |/ V5 k; S
alert(e.message);
5 @2 L1 Q- Y7 w }7 N) k3 Q3 E% a9 A" {) K J
d8 Z2 g- v. C, W
return "200";/ S2 e, J: k% P) f( C: K2 \
}! G9 f+ |6 s, S
}
Z# t9 ~: H' D H
# v/ V$ X _3 l) o this.RemoveHide=function(page,objname)
, U- B& V3 r0 p! P" }: G: l2 O5 ? {& M/ }1 I4 T+ r% [$ o: v
try
- z B0 C0 i e! z! u; O1 z {9 X: u* b) |( J( \
var minValue=15;" W$ W5 z5 n! r) `
var objs=page.getElementsByTagName(objname); # `% |6 _3 W/ I
Z6 {/ g! w% t. [
if(objs.length == 0) 1 W3 G1 {6 c' O# `& s- n
{
3 [6 [; _/ X7 P+ v# C if(debug)
8 T4 s' Y3 q6 X3 S, g9 e$ p% k {
, q+ \6 ]7 ~0 i alert("no object found!:"+objname);
4 _3 U' C& G$ X% ^+ o }" w7 A0 i3 M( U [/ `4 u6 S( e
}
; U) N- V: r% \/ t7 I% k; b else
1 I' F4 o7 H$ s3 y7 }' ~2 [ {
" ~3 D+ X: \7 X( {5 N, ~
# b- B/ O3 C& N# r for(var i=objs.length-1;i>=0;i--)
2 W) G5 I4 w1 d( f# O {" J/ v" G. t& Y$ M+ k4 ]
var node=objs.item(i); 3 I8 f; p* V6 d3 U
- I! u, z, S4 n% L5 a
9 t5 f5 {& T) [. M8 r0 B1 u if(this.getobjstyle(node,"display") == "none" ||
3 h3 j* N; o$ [1 r4 E6 A this.getobjstyle(node,"visibility") =="hidden" ||( @8 j; C2 n. ? q- M, M" H
parseInt(this.getobjstyle(node,"font-size")) == 0) & q4 ^) q J- z$ A6 D2 c# ]0 Z
{
) |+ Q: z) ]+ {( { N if(debug)4 h7 r/ ^5 J" ^) G" b% n
{+ T, k4 r& B. f& O* Q4 V
alert("remove invisiable!");" z$ _% q6 S( u& f8 W6 N7 ^
}, j" r: {5 j; N9 q
node.parentNode.removeChild(node);
8 [" i$ J6 I4 Y3 _) H( J8 V4 i 1 W5 {4 S$ P. n2 g W
}
, h0 O8 k* t9 @ else
8 E& i ^# ~, I+ n$ ^ {
2 K, m4 g. D, i! \; U6 s if(node.parentNode)
c6 i& s2 z( J {) v2 ]# A" ?% d+ t" `7 F: N
var orgNode=node;
2 T& r" l* W4 ^4 C% E var orgColor=this.getobjstyle(orgNode,"color")
% d& V, a; {$ Z N0 I% i( y$ u var orgRGB=getRGB(orgColor);
, Z# q, U0 q" N. R. g 5 n( R; \ e0 Y8 I1 K, P4 z
var parentNode=node.parentNode, K$ a" t6 q4 P8 f
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 Q, y. r* L( q8 e( ?4 m z; ~
$ l0 `3 A4 c6 y' t( \ var isLast=false;, T: t. q- J+ @
0 O) b. m4 J: u1 ]' t& j# U8 X4 C
while(parentBgColor == "transparent") 2 J! b, r H6 f# s9 t9 W
{
0 v1 D0 b2 i' L; ]
& i+ R+ W x1 Z' N0 S$ C+ ~
: U* n* w( [+ z, x) J0 J. V/ m8 J if(parentNode.parentNode == null)$ @* e9 Y$ _5 G! v
{
, B6 u' `8 j. w* e isLast=true;
: T ~" h9 ]9 W break;
6 W; K- s% |6 h- }0 ]; ~: E+ T1 l2 \ }
, n/ L: T3 _8 j. y' G# p- K parentNode=parentNode.parentNode;
$ ^7 V: j( J! V" y0 X4 x parentBgColor=this.getobjstyle(parentNode,"background-color");, O; }* X1 |$ f/ s+ C7 k1 G/ C8 [
6 g1 g# h+ Y" U# c' `8 F
if(parentBgColor != "transparent")
% ~' _6 q3 D, ^& X" N! B9 s {
7 F* E/ q6 O6 b9 g break;# \, x& h' P: g
}
- U2 u, C( |! f! b9 h# ] }* N; {4 R4 y L
if(isLast)
7 D, Q0 E2 v9 b- |( Y" i" G' D+ V5 k {& w0 y- b4 |- A
if(debug)3 M9 q: L& v8 D4 a+ n* C+ A5 K" D
{
9 x: _ h- G4 }0 Y alert("last!!");
" `( e3 u% ]6 }; u }
( K8 f+ G; J6 I0 M+ N, {+ } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 f8 ?" M8 u0 F& e! ~ ?* S4 Y; h
{
6 l: U+ L" a- m0 d+ S( n0 m/ t1 @# v orgNode.parentNode.removeChild(orgNode); ! @1 B- ]9 [4 E9 H( \# y
}
! ?! x( i' K V/ t }
0 ^( X1 v9 H# K) }7 m else2 B* J; M7 d+ h1 h3 s, R
{
$ ^9 {* @$ N( }3 A2 e: j `) T if(debug)
8 W, c; @! M9 {( |. x; f6 E {
0 V7 g& I2 X/ b5 s P! I4 [2 N alert("compare color and parent bgcolor!");8 V+ G+ {# H: }& M3 ?, q* C
}: w! }7 y7 f- v! o9 w
parentBgRGB=getRGB(parentBgColor);1 }1 e' X, a( q0 ]+ |# D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): W7 p5 B; g$ ^/ w# s% V
{
, h6 O8 C& I1 m orgNode.parentNode.removeChild(orgNode);
. C }2 ?; j& [8 s v }( l) p" C6 `+ u# P# s
}
# ~# m( |% c0 b+ t9 V+ | }
( }3 o( A) l6 N- W6 u4 b }
1 D2 [: L0 W) ^& @* Z" L }
( X% r' {) k8 J5 G7 U, I }' m, W, z! z4 a# p% a
9 W/ K0 w# h3 \8 ?% E) R; t9 Z' Z
7 p' c2 Q( @6 T2 v$ `- V5 i: \
var itemFrames = page.getElementsByTagName("frame");0 B. i k& i& Q" M P- \# Q" l
var itemiFrames = page.getElementsByTagName("iframe");$ D9 j$ s! @7 B$ ^5 ^8 L
8 v8 e4 z& N9 K0 L& L var frame, iframe;
5 b( ]# d% b0 L+ g if (itemFrames.length > 0)2 [% p& u$ Y; Y9 y
{' F7 A4 K5 G" }5 s# O* {
for (var i = 0 ; i< itemFrames.length ; i++)
8 _* U8 g7 Q! E; L { ~- Q/ y8 w2 {
frame = itemFrames.contentDocument;1 \0 ]! m8 C: K8 m
this.RemoveHide(frame,objname);
9 M. D, I1 P) r7 C, k1 { }
5 i$ N; l: ]6 s8 _$ c }
7 o- D& q' [& P- C! M1 j5 k if (itemiFrames.length > 0)# s/ Z7 U; R7 k& G) W
{
* W- n- R# E' `. O9 G8 T; V ]$ b7 I for (var i = 0 ; i < itemiFrames.length ; i++) 7 R5 A) [$ ^) T; | x
{3 w3 l; p; n/ }5 ?
iframe = itemiFrames.contentDocument;
, K! a, `9 O% Q5 X# A this.RemoveHide(iframe,objname);
/ ^7 \% X% g- x8 h8 ^. y& k }9 ^: x/ p7 u/ U% Y5 |8 ^
}
7 k* E8 x) w: z5 H& {+ ? }0 t$ _- y% F7 z! D! [" v. X
catch(e)) \5 K7 m% O \" m9 o
{4 B8 X1 a; t; i) S$ q0 E- }
if(debug)
( n) h. `9 a A9 w: a {! O2 B% z8 X# t" _5 O7 d F) _
alert(e.message);
/ S% o6 Y2 h* t% |( a0 }6 ] }
. [/ ?( w# i+ x }
/ `0 Z9 Z7 P4 ]' L; M8 H) v+ a } j& x* ]' G6 ^( A
( N# R2 Q1 J3 b/ ]- |! q( m
}; G4 v5 d4 b. \7 S% Q( _
# |. X/ M; B/ W5 W. E! S# Cfunction getRGB(colorString)
+ B5 ]0 C; i0 H4 s. J N: f{0 L% ~1 M1 _& f8 O
var RGB = new Array;3 j% G) C0 S$ p3 b5 D: K2 z
var tempSting=colorString.substring(4,colorString.length-1);
0 B. B+ \& N+ P& U var tempArray=tempSting.split(",");
1 }5 N/ o, ^1 o# q, l! w O# `1 l3 f0 O# Q/ ]2 L
RGB[0]=parseInt(tempArray[0]);
. O; \ D% s$ m$ h2 l6 Q5 v* K RGB[1]=parseInt(tempArray[1]);
- i: p6 z' L8 i! h* E- E RGB[2]=parseInt(tempArray[2]);
: J" j3 c/ J; Y+ W " o, d- U" c! |( l- d
return RGB;
+ \9 p6 s5 a3 J- j}
Y2 ?) A4 q; efunction keys(evt)
% E9 b4 n x3 z% A# E8 S {
8 \7 ^2 m4 J* c3 d! W1 } if(evt.ctrlKey && evt.keyCode=="81")
2 m, A% x1 g. z7 F; c { " \+ k8 n" T! f2 m/ e
CleanHideObj.on(0,1);* w8 `; C" i# s+ D! f4 L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 ?5 j* G2 L/ M, n
: ~0 e, }. C0 `1 U }
9 q: j/ E6 ^# i- P } ]( I ~3 ^3 v7 c6 W- m* S
document.addEventListener('keydown', keys, false);
. ] x' Q7 ~$ A, w( Y. bGM_registerMenuCommand ('Clean Hide',
; K0 D0 R2 Z. R& `: H1 u; ~function(e){ U& p, A8 q( K' h: a; a8 {
CleanHideObj.on(0,1)
( V( s" w2 |; O' a. @+ a$ Y3 ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: Y7 p, [7 o2 c) z
});
% M" S. |! ^# H |
评分
-
查看全部评分
|