|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 A: ^% c/ d( [/ \7 L
; {3 h$ }7 Z) ~' T火狐插件,用猴子8 H1 ?. b" @' h4 o, `9 i6 {/ G& q1 }5 Z
+ U8 ^! ?" {, T) w9 x6 t$ h/ tvar debug=false;
4 h+ s+ n' a! f0 u+ g4 Ivar CleanHideObj=new CleanHideClass();( n9 P, _5 r c, D
F _, l7 v/ F$ ~/ x/ Y& ~+ pfunction CleanHideClass()
5 T9 F0 ]! K: }% e2 ^) m1 e{
; H. p4 ^1 a5 Y3 s
: U- j2 `9 Y, s4 Z- a) b: G" n8 L# B this.on=function(id,bMZ)
! q3 w E$ P* k* r% F; J2 r {1 K2 D' y& N* [8 W
; ]* A S8 S7 ^: ^ if(id == 0)% w( i: x$ E- X$ k& v' D
{0 V, J8 P; M; H. Y4 s7 e4 M% P. q0 a1 @
var page=/* document.getElementById("content").contentDocument */document;
$ t7 e: n2 q5 u this.RemoveHide(page,"span");
7 m/ ^; ?7 l* g! ^6 K2 ^ this.RemoveHide(page,"font");
" Y2 x( r: Y3 i; { this.RemoveHide(page,"div");$ J9 f' b' F8 j7 O+ ~9 I7 D
this.RemoveHide(page,"p");
( y9 X3 Y! _7 N! m. W8 V$ b: P
2 y( j( q, e8 D9 K% q0 a9 } }" K# Z) u+ n3 s" O5 A( z
! }) @7 ?* y0 U, C6 N }
' `: g) [' f( j- H9 ^- m0 f9 k this.getobjstyle=function(node,prop)
8 ?; O, G. J; j9 | {
7 A, e1 b/ Y7 }; C0 k: f try
5 x6 H" Q, C4 D0 [ S& `" Z {
: m& V" O& ^' b/ ^4 A: u% n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" I3 h+ q U. E. M6 O }( U" P$ C1 I; i- v4 h
catch(e)) i7 V( m# I$ r! g" k I) O
{2 @6 Y$ g* G8 Q3 w6 a" M
if(debug)6 _' A5 j5 h* t0 y0 E1 Q- h# ]0 a
{
2 O6 F/ E. g. }# q& i alert(e.message);& k& n4 c2 ~3 P) Z' z
}
2 p' T6 M+ R& A
5 H1 b' o% A4 t$ l' s1 Y return "200";; B' a# M5 X i# d8 c
}
8 m6 E2 H' Y3 F3 k }; ?; M+ V/ o* |$ Y y7 n! E
' a- _- i4 k+ U6 _1 y this.RemoveHide=function(page,objname)
3 y9 n+ p) b5 i! y q) n! i {/ ~4 q. _/ V+ H. l: k7 X
try
3 R( D0 \4 e" h6 e9 d! r {
7 d6 Z: \1 q! X var minValue=15;( }% R: B3 ^$ Q3 ?
var objs=page.getElementsByTagName(objname);
/ c# V* [8 \2 ~$ Q8 \' l6 _6 u# ~
1 `5 \4 Z) `3 v. H6 V if(objs.length == 0) ! |' G% u: f e6 s2 H3 v ^
{
2 l% S9 O, u5 ]: c1 O: [$ V if(debug)
# U D3 t: l8 ^ { k& g5 r/ x# h* E
alert("no object found!:"+objname);! c4 e9 k+ Z$ f
}' ?; W5 T! f" O; W" P
}
1 }8 m" K5 z" R# x) J* i- V else
5 W: Y% {; E% @$ _; F4 o. U {& f' g j1 P, Q! }5 l) X
/ O, u0 K% L, m( b, g for(var i=objs.length-1;i>=0;i--) 7 b, q' T; Y8 B- n+ p7 P& D5 [; _
{* J) G% f5 \: F" j# J+ o6 p
var node=objs.item(i);
- `2 L T: M% y+ ?$ Y0 a& H $ x1 C0 L2 k9 f4 Z; k( e- a) E# O' Q
* V" G( I, t/ m
if(this.getobjstyle(node,"display") == "none" ||2 Y2 B! s8 H$ Y
this.getobjstyle(node,"visibility") =="hidden" ||
( E% \9 p5 W: ] parseInt(this.getobjstyle(node,"font-size")) == 0) h1 w& E! J8 Y Y, Y' i& j* D. P" U
{6 f! w1 ^" m. b% R" o6 ]% L; u
if(debug)
; l( Y+ r2 d$ b {& S0 Y3 ~8 K9 E) v9 A1 u# L0 w0 @
alert("remove invisiable!");/ k# j1 o0 k3 M2 P
}
* f, |. x4 K( b! q node.parentNode.removeChild(node);
7 u. h$ }" O/ O$ e
" e, {; ?! G, ~' J }+ |1 H) Z1 P* i" j U. T
else
: {) Z$ k# { k/ h0 k {
1 c8 O j1 y& i+ O7 t8 i! p; A$ u if(node.parentNode) / r- q& E/ Y& Y! w& v
{
% y1 r, y# j8 W5 n5 s4 \0 z1 [ var orgNode=node;3 |6 {) w: }% S& h1 K1 M6 D* F1 ^
var orgColor=this.getobjstyle(orgNode,"color")
% C" S' ]) E' G var orgRGB=getRGB(orgColor);
, l! Z( b# K9 v, f8 R; U) A ; `8 j* y- H' a1 B* E* r# L, A
var parentNode=node.parentNode# W! f8 ]* ^& p, B! c2 Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 i2 F1 N3 n ~/ `, { ; F0 x' E, V5 A7 y
var isLast=false;
Y# P3 L6 i$ ^. R D! B
: N. V; t9 w ^ ` C1 q2 v% ] while(parentBgColor == "transparent")
, i. [6 P4 O) q, B {
* q) n- m1 x, q+ f& M - c4 i* X6 k! S+ x
* v! c% v3 y$ J6 l2 G- G) J
if(parentNode.parentNode == null)! ~ X( [9 \. @6 |8 |
{: ~8 [! Y4 q m7 }2 O( f+ q
isLast=true;
% B% d! L: n. h break; T2 m9 m( J \9 D1 r
}) F& J: A" M- W6 V
parentNode=parentNode.parentNode;5 L7 B S; t; o
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 r `" p) _7 M- k/ x S) b, X( H; T8 J& ~& v
if(parentBgColor != "transparent")
6 J% C$ y: N0 j8 ` |' J0 |. k- @ {
9 l; [# a3 p9 W* z2 z. i# ^ break;
$ U& E& I2 q6 u }- Y. K) Z+ E; q! W8 b% b. A0 R
}& f. u2 g, @) M/ k7 m* J3 j3 _6 C+ y
if(isLast) * \1 T: { o. t" u6 W4 {' P
{" ]: t) y" V, c1 k: [
if(debug)) e& H+ ~* s" m. d9 J
{: @# Z7 Q' o F2 q! c
alert("last!!"); p' z$ t J! t# H+ N7 O7 q* I
}% i* g1 P1 L+ z8 X" ]
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ Q& @7 i8 K* L% U {/ W: |+ }- ?9 p. V$ V1 E
orgNode.parentNode.removeChild(orgNode);
9 F2 J" w A, Y4 o% z }+ b! U( v# L2 D1 [; c9 F
}5 H. B8 ?2 ^+ q4 I. ]4 F
else
9 a" l8 J, w- Q+ t; V1 A1 f {: z- H# d! \. f2 M. x
if(debug) m+ r+ m M! S7 u2 C) S
{
5 ?( @/ J& M) e6 E! z) d! i+ ? alert("compare color and parent bgcolor!");! I9 e& S* c. x
}
; m6 p( V# q# D# _- s ^# j parentBgRGB=getRGB(parentBgColor);
+ M9 y& T+ l+ c- T# f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 C8 p6 H$ y$ b. m. ~ {
7 t/ k7 f! a- Y: D, P+ E4 l5 e orgNode.parentNode.removeChild(orgNode);
~" G/ P9 a7 Y/ I1 L2 ^( I }
4 M8 t2 q2 M2 y% f4 [ }. R; X" |* K, H4 o) L' M
}$ m3 ~* w s! I
}9 Y6 P+ B4 z8 F5 Q
}$ b( Z8 Y8 w. d4 N
}3 R2 P. _, \% T) X* q
( B; ~* ^! v- y2 k! V9 J 6 g2 Q$ r" }3 V0 ?# b# i( L
var itemFrames = page.getElementsByTagName("frame");
) d5 Q: ]' m/ R& O( @$ M+ p var itemiFrames = page.getElementsByTagName("iframe");
. P, J% X+ S. n
( l" ~. c% ?2 `3 i" J var frame, iframe;9 ~4 }7 ?3 o2 }4 P
if (itemFrames.length > 0)) O9 ?, H+ G' t* E; D: h7 T- g
{
. Q/ M' B; H: N2 P5 I7 l for (var i = 0 ; i< itemFrames.length ; i++)
3 S% h/ O$ y. M2 V$ \- x {
4 B& W2 B9 o9 ~; f0 d. X frame = itemFrames.contentDocument;1 k+ w |0 f( U9 @
this.RemoveHide(frame,objname); ( F& T2 f& Q" s9 w7 _* o O9 L% X
}
! |0 X& U$ }+ V; Z/ T, \3 G9 ^8 s; b" y }
* ]. L6 E* n7 X. z, M+ } if (itemiFrames.length > 0)+ W( }& Y' R6 h- B
{
Y3 H: g0 H7 F% f3 b9 S for (var i = 0 ; i < itemiFrames.length ; i++) 3 K; }/ V0 w1 r% V( C T: t' r0 i
{: i2 C$ l& a G9 A
iframe = itemiFrames.contentDocument;
, E5 a: m" `3 f) _ this.RemoveHide(iframe,objname);
5 u7 n$ w5 G5 p0 F0 D" X) W) | }
' n' V, J* ?2 l9 r& B }
( _8 J5 g! ?7 k& P1 S6 w }
. ?; i9 g( l5 o catch(e)6 q% m/ g7 Z. L- k9 K+ _
{4 P& M4 q8 f. E4 o& ?) _
if(debug), S6 P+ @# n6 A" r) g
{
/ Y# r- z7 [3 v D/ N alert(e.message);
/ h- I% ?; A4 [5 i/ W }- D; n9 c Q9 z4 f! ?2 E& Z5 b
}2 l4 ?8 d$ o7 x
}7 w& ]) K3 v1 P/ Y/ x& Q" T7 }
- \: z- ?( X" O1 A1 m
}! {1 j- A2 p2 q) y
* A, ^! j B- f% i% I
function getRGB(colorString)( d- H# _3 x; B
{6 d& v' T7 J; x; p$ |. s, h8 g
var RGB = new Array;
: c5 o5 O. s: W var tempSting=colorString.substring(4,colorString.length-1);
- Y: W: Q. d( o* N5 ]; ?" F var tempArray=tempSting.split(",");1 C7 L# v+ @" ^' r _# ~
4 g; ?! j0 ?1 {6 z1 P: y RGB[0]=parseInt(tempArray[0]);6 v7 A& b6 O. L9 G! ^& b0 w" v
RGB[1]=parseInt(tempArray[1]);
" K$ H3 f2 H! X( D) ^ RGB[2]=parseInt(tempArray[2]);
( i& K) I7 l& F& J; V- z4 f
" ]9 n y$ A6 p; O7 h& [: J return RGB;: q4 u8 Y7 ^' {: q% U" F: m2 Q
}
) z: R; f( J( E' F2 r/ ~4 w7 P# ~* @function keys(evt)
' ~+ [! ^& A: `4 o0 v% L { + }: t& Z9 |) U% l# V' p
if(evt.ctrlKey && evt.keyCode=="81") 7 I" w' @' k1 o" @" I
{
( n2 H, y8 A* P) i CleanHideObj.on(0,1);7 P3 q* [; q) U( j2 X) ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 ]$ O) S/ F/ T# x/ g/ G 5 t" E& K, o; O4 B/ i
}
" k* B0 E, a s" @3 b } + g0 u9 K: T' b* g: g
document.addEventListener('keydown', keys, false);
( i2 G4 e, O% u4 x* y8 r; hGM_registerMenuCommand ('Clean Hide',
7 c. k5 `- L" _3 Q6 O- K) \function(e){0 B2 x" C! w, i) M1 @
CleanHideObj.on(0,1)
% Q4 T* \2 v0 j' J$ y3 F6 B, }' O( C- Jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 l$ @: w8 k; }) U1 H});
+ u5 n+ s; ~" \- _ |
评分
-
查看全部评分
|