|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , N- J% t4 z$ K# U6 p2 J
% M8 ~7 Q5 [" ^9 w0 B1 J% f
火狐插件,用猴子4 c& [& [ W" b7 q
$ f7 V! k% R. y. o7 u; G7 l* {- o
var debug=false; ) a' e# H6 V9 V, V% e, c2 _6 B
var CleanHideObj=new CleanHideClass();3 }0 j9 k; k7 n8 Q( @0 R
) [8 N3 ]; x, ]* L+ G7 Q. afunction CleanHideClass() " c6 o2 x2 X% C; G) @- x
{
6 L* H; [6 c; b5 T+ G
8 Y! P4 @7 A& A, G this.on=function(id,bMZ)1 T; N& L9 A# _2 y2 D: Q) ^: ]
{
( q2 s6 n/ r' F) r! n # W S3 l# @* C Y+ b, D
if(id == 0)
- t, Y2 \) c# p4 y5 V1 _+ M7 ^ {
# e) I( C& L; T6 w3 @4 [7 B" k var page=/* document.getElementById("content").contentDocument */document; 1 b9 J+ G7 E& t3 n* X
this.RemoveHide(page,"span");5 j7 H- p; E" r% I
this.RemoveHide(page,"font");$ z+ Y6 F& N1 N7 s
this.RemoveHide(page,"div"); b3 ]% s0 v# K# I% @9 J
this.RemoveHide(page,"p");
1 t% L3 T' G' @0 S1 W 5 f% F. q* [/ t; r8 R' S" a; i3 m' g+ W
}0 i/ ^9 x% z+ d9 i
7 w1 a" L( e! q. l% k
}
4 v0 u) n" V- j. U N7 A6 d1 ` this.getobjstyle=function(node,prop); E1 _* |+ v% q4 L6 H. f& e% B
{
& g% @+ H( t# ?- ~) M4 | try1 o H& r# C; h9 q4 A% ]
{" |6 b; G: N/ D( u9 l9 S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ P S% p" p: o# d; `( |
}
! O: A" ]8 s/ w7 B catch(e)
! ^; B' m" D# q) z0 I1 U' W {
0 C, D8 Q2 K M: o' { if(debug)
% L; ? U; m# ?4 ~3 @ {
( G( N6 ^4 r: ]+ i6 c alert(e.message);; A' g7 F5 s Z3 U( V. G
}/ }+ D$ e [6 h/ E( m2 V p
1 ]/ H3 D# f' m) |* S
return "200";
5 h1 W6 @% P/ n; Q2 h* ]5 q }2 Q8 z) v6 L! u/ u- T
}4 r; j) I" s( V( J u- [9 ~
* o& f( q6 g% o0 `9 p
this.RemoveHide=function(page,objname)- L. Z* J' l6 h7 `. u; G
{
( ^0 V) B% A. h% E1 E7 s* ] try
9 M3 \( G! C1 G% ? {
# q: A) F7 q7 K9 C+ [ var minValue=15;
8 ^% `( L1 n% J6 A var objs=page.getElementsByTagName(objname); ( J2 O+ v- Z$ Q6 _ G
! G' E% \7 |. l& M# d if(objs.length == 0)
; D' T* G/ D1 r/ @' i0 _* P1 f {
* r9 e0 n% m( p7 s, Q if(debug)
* h; Y' p4 g/ o6 g {
8 J; K+ C% ^2 r* X9 x alert("no object found!:"+objname);0 x# _: I3 o1 I7 b ]5 @8 Q+ A, I
}
0 ^, m9 K. s/ E6 C i, _- H+ {' w }
/ |: @7 `4 _2 W else
0 e/ A+ h' d8 i0 S& o {
2 z. u+ c7 [% B8 l: C ) f/ a. W5 O9 @( s
for(var i=objs.length-1;i>=0;i--)
) s- s7 g/ K6 `% s5 a" h0 u {
" |7 N8 _" U+ w var node=objs.item(i);
" ^% m9 m1 I, A9 T. `+ c' B4 S
/ [* B9 U; s( h4 f& r
, [# f+ U% i# U$ j8 }& A if(this.getobjstyle(node,"display") == "none" ||
5 b5 X% o g1 ~* {6 @( F this.getobjstyle(node,"visibility") =="hidden" ||
, t+ D8 e N# A3 X1 ~ E$ ~ parseInt(this.getobjstyle(node,"font-size")) == 0)
, S0 Y# F( F! A3 x" c; _; Z {
+ b, |, A. P% y+ O t, ^; m7 N) y if(debug)
5 O) e, j% F7 G' Z5 P, y; z1 j {/ o* v8 o( A. ?8 F w/ |# C
alert("remove invisiable!");( R+ P# D5 y+ z( N# B0 f8 l) G* u
}3 w% d# z. q! S
node.parentNode.removeChild(node);
, w/ \( O2 x) y8 b$ Z2 q 4 H' S* ^2 K5 v( @% f, b9 v
}
) o# U$ A* U5 D% _ else
! } t6 @( V- G+ y+ W {/ u" H: P/ q+ n& W' i) L! B2 c
if(node.parentNode) # C/ Z& R$ n3 h6 }( T1 h
{
4 k6 C' i2 f3 Z) ]4 r6 b var orgNode=node;
5 t9 {1 E, @0 ?& i8 Q4 q: J& ] var orgColor=this.getobjstyle(orgNode,"color")9 h0 k6 o' l4 g6 M6 ^3 A8 l& W$ ?! e0 [% q
var orgRGB=getRGB(orgColor); 8 l: @! R& z5 Z- J% x: f
7 [* `0 g0 E6 ^( A/ V8 ]) B
var parentNode=node.parentNode
2 ~( v+ B H8 K; X var parentBgColor=this.getobjstyle(parentNode,"background-color");% M5 p9 W, S. L2 J
' y i) F6 \9 ~, H; l9 B1 k( w+ ?
var isLast=false;
- ^7 l0 l, x/ f u 0 i; M1 X9 ?& [( n
while(parentBgColor == "transparent") 9 D8 g6 A6 L& [5 `2 V: Y2 R
{ e4 l/ ?" F9 T) S4 s
6 ^0 N% T. e4 h$ I/ L S. F- M
4 M, v* O7 T2 E, D- h I1 N! w' I if(parentNode.parentNode == null)
% T" n# ?5 z7 k {
4 O, W R1 C5 q, r- X4 l, o4 k& o9 x4 \: h isLast=true;
5 F. q9 ~) F) c5 U8 ? break;* w. w5 w' _# A, r1 y/ m
}$ v* b' l. ~, M6 e
parentNode=parentNode.parentNode;2 T7 b# P& k0 b' g; ~
parentBgColor=this.getobjstyle(parentNode,"background-color");) Z S9 \$ D, ~" |, `% {
5 ^/ H4 K! Q, E( [$ Z
if(parentBgColor != "transparent")
% @8 n% U! h( D. v4 S" t3 s! R7 u5 ~ {2 N) j6 A, J+ V
break;
9 {% F/ T" G8 \2 b8 E! N$ f }/ a! U+ o. q# X' A* z* s3 Z# W$ J& F
}5 A+ E- [% r7 S& K) b2 ?$ f
if(isLast)
9 P# Y2 p+ S/ W' k {
7 p+ ~- ~. R& F6 u0 u# l) w2 p+ Q if(debug)5 ~2 ^- r4 s& b$ r
{
! `$ z2 o# A% i: C# |7 H( n alert("last!!");
" Q: L- e: e) P R }" ], S/ W: m$ [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* G4 F* s0 R( r& y
{5 i2 d9 C8 K3 B3 I
orgNode.parentNode.removeChild(orgNode);
2 V4 y/ u3 g$ [, T5 P3 T8 b% I }
Q- `. `/ ]2 c1 y) p4 n$ d/ t0 w) Q }6 Z1 \% u* n" S; u% O% C
else2 H2 L0 f+ N E2 x6 i
{
4 I1 Z* n. L( g1 J if(debug)5 Y$ P8 }# _4 i1 Z+ ^/ f
{ ?& j7 p, e5 a7 w1 ~2 p
alert("compare color and parent bgcolor!");8 c( N. N J" ]/ [9 j: j
}: q: b p+ E2 D- U' \6 y+ y
parentBgRGB=getRGB(parentBgColor);( L1 O& k8 v' ?' P9 M6 N
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' K& |! l& v# O4 ] {9 ?- R# B* W9 S5 m/ x G, p/ J
orgNode.parentNode.removeChild(orgNode);
6 Y" T( a4 x" E1 U/ P3 Q9 I }
& Y p% U' c1 p! C, `# p }) V8 c0 f5 ~+ ]7 N
}2 X+ P- A+ n4 }" t' H
}! J( q9 N& Z* e! t, J+ _
}
4 q. Z* H. L% C' J- D& U }
( d' B# g# \( k& B0 a; N
6 g2 M6 ]) J' z3 Q4 P ( ~# ~9 v; @+ D$ q
var itemFrames = page.getElementsByTagName("frame");. e) T5 A5 N* p+ i: b" l0 p
var itemiFrames = page.getElementsByTagName("iframe");* D' M: V- h Y; C
. I, `, ^) G( F* {2 \0 O
var frame, iframe;
4 o- l' s5 E4 y. }5 Z1 S9 m if (itemFrames.length > 0)0 E) }( g: J9 [8 d- g
{
( @. E8 D, I& R for (var i = 0 ; i< itemFrames.length ; i++) 0 u% Q" t/ Q- S0 D5 z. Y% X8 K
{0 a" O: p) n/ ~8 Z2 r; Z0 s4 Y
frame = itemFrames.contentDocument;
& W0 E7 T5 F: \7 U0 G/ R& v this.RemoveHide(frame,objname); 1 V- j9 E9 ^& ~0 b/ V1 x% q/ ~
}
* N$ P: @( N+ _2 W* |7 ` }3 S! L; M3 m3 l+ r; m
if (itemiFrames.length > 0)
+ F, P4 r- _+ Z7 [& X8 ?9 @/ {5 M {" w4 o) E, E5 i2 N5 z. G) X
for (var i = 0 ; i < itemiFrames.length ; i++) - ~1 X$ D {9 E( w% ^) I
{3 M) C& j$ Y$ Q9 q* u
iframe = itemiFrames.contentDocument;
. `, d' k7 }3 |. R6 ] this.RemoveHide(iframe,objname);
$ z2 M9 Z/ I [$ V V }2 ^+ E5 u1 M9 T7 [
}
/ n1 {' |# C1 x# c M8 B }, G% N1 f3 W- {3 N8 ^1 W
catch(e)
, C7 ^1 X. g* F {* d9 E1 S: K- j. w1 m2 j5 ` X2 g
if(debug)! d+ j6 d* q, F6 Q2 M
{' v, e ~8 Z% _2 Z+ Q/ @
alert(e.message);% R% _* A8 u# v' \) b
}
2 z9 V0 B& J6 j0 O }
' l. l7 Y, @1 v2 n' f }; z% P& y( z, q8 _) d
) U$ L$ @; Z2 w# K/ w
}
" d7 o) ~- }. o5 ]. @6 M$ V: v$ z3 U3 ?! F7 o, A
function getRGB(colorString)
& ?2 |! r4 I( h$ b{
& P5 o) f& \* Z* r4 u var RGB = new Array;
9 V( m0 p& M# p6 U8 K8 Q+ H var tempSting=colorString.substring(4,colorString.length-1);
6 p. k7 N+ [# R var tempArray=tempSting.split(",");) e/ m* ^# i1 }6 X5 _
; J+ Z0 l3 G* ~& x) h2 _$ @0 m
RGB[0]=parseInt(tempArray[0]);1 H$ w6 {. U3 [( |
RGB[1]=parseInt(tempArray[1]);8 Y2 p5 [$ b3 \' A/ q
RGB[2]=parseInt(tempArray[2]);
, O1 J( s6 P3 K" n! B/ m9 d" \ + v' z1 G# h4 K
return RGB;
! {! ]5 l: _) R2 |}
3 T+ R& f+ O# U. C$ `2 ofunction keys(evt) " ?$ @ b- \8 l
{
4 s! v! D& c9 v- N, q5 Z if(evt.ctrlKey && evt.keyCode=="81") 0 M8 C* I3 W8 i' c8 G0 ]
{
- [% t5 o0 K* ] CleanHideObj.on(0,1);; }" G& I* Y7 e5 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
@ b; ~ V" k- Q( J
' L U* ~" `; R8 p: B% t } ' ^7 l" C" h+ C- ?
} : v, c' e7 s! ], K% E6 r
document.addEventListener('keydown', keys, false); . f5 w/ E% @4 I" ^) s( }8 S
GM_registerMenuCommand ('Clean Hide',1 t/ a7 H9 r9 [6 r2 b0 I
function(e){
( z" d3 _/ T4 `' _1 t, `CleanHideObj.on(0,1)( H) M( \$ `. f- C* }4 j* R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 c$ G+ P1 g& M5 N5 L});
. h; M8 w, i$ o2 Y |
评分
-
查看全部评分
|