|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 G$ p- B* Z. U6 U# _
! T" ]* \0 m1 O* g; M火狐插件,用猴子; J) F. q- T. A
" H( }9 z! i( Lvar debug=false; 0 P/ ~# p5 ~3 g M* w
var CleanHideObj=new CleanHideClass();
9 _5 r/ k% K4 ?9 a* l. A: Q2 W9 b* k. I4 x* `+ S% C$ ^
function CleanHideClass() 4 b* j+ ?1 Z; Y0 ^9 E
{ . z+ Y; E: _! l& N: A
3 q. k( f* \, O this.on=function(id,bMZ)
6 {0 l9 q! w+ z$ A$ S! b {# w( y' F3 m( x( X
' t3 V( k$ O5 F) j; x if(id == 0)
0 b5 t. j# E; G4 r6 V! G {( }# a- B# O8 S" U+ k
var page=/* document.getElementById("content").contentDocument */document;
\- [! J' C# s$ R7 n this.RemoveHide(page,"span");$ M9 s6 z4 Y9 B: Z8 f# u
this.RemoveHide(page,"font");6 z+ U/ e/ e% X0 r% F! _) i/ _6 c, t
this.RemoveHide(page,"div");
6 K- E8 P$ M: N- i5 ^/ P6 P2 [' ? this.RemoveHide(page,"p");
; }" j: b! W: O% m& d* C$ B6 E5 L 5 T- I% ^% N5 @$ l
}
! }$ C! Z' S6 ^' c+ N! U5 p8 h
0 f9 F/ u- E$ v6 y& [. O; l# M }
: i8 t1 O( h! `( d this.getobjstyle=function(node,prop)8 u) O8 z! }" N# g
{2 y0 ^7 o# X( w5 ^0 T) o
try3 d% _! K! a1 _% ? y% i
{; `! R W" `7 h' p1 c3 u4 o
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# A1 o+ Z# R* B# E8 v }
+ B9 e6 d3 y; j( ^6 R* J6 M catch(e)* e6 D8 {0 s; n1 O1 R
{. ^0 x5 u3 P$ g* e: c, j- {8 S
if(debug)( n/ ?! M) n, d T& d" s
{
1 ]# C: D" @ H! Y! V alert(e.message);7 c5 B' c! \ ~# _. j
}; C0 {" o7 z: C& a) b+ H
) [" [, ?' p1 H( l# Q$ e: U) d S return "200";
3 L1 l/ A4 |9 \ }4 u0 g6 P* {) G% j/ M A
}5 `# o; j8 H: G3 J' l" x/ ?
. C. @3 d+ u, ~) L1 S0 t this.RemoveHide=function(page,objname)
0 x+ `5 H$ @, U {
2 Z# F# h% W8 s: {9 I+ K0 N! d try( Z; R% R- V0 x; E% l' ^
{
" a" g% t: t* V# g! `, K+ n I var minValue=15;- c; E8 m9 i* K# _6 o
var objs=page.getElementsByTagName(objname);
& p: u3 w. L8 q" w7 p, X/ ?) ^: M7 R2 ~! ^8 o9 z
if(objs.length == 0)
8 Y: h6 j3 A5 A {
; {! _ W7 ^$ ?# i7 { Q if(debug)
. X. b" s8 Z/ O9 h3 V* P {! Y% t2 W% \$ B0 d& c- I
alert("no object found!:"+objname);! O% Y5 f% X" A! K. K
}' `& E4 g1 u/ A$ R& {- o1 }/ h
}
9 C9 T& t* D u T) y0 j/ O' E; e else+ M) [: |. s9 Q& c4 J( o. B
{2 |4 V- m+ W5 C n- T
# A9 X" ^) a5 Z* M8 S% ]: K5 }
for(var i=objs.length-1;i>=0;i--)
* f& p; B: N0 M4 T. n2 r {
( ]2 ?3 M+ Q, g* |# T' {$ J4 k var node=objs.item(i);
% {$ x. E; t. b
C! _+ p. ^- j, Z/ ?
9 B# J) v. S* r if(this.getobjstyle(node,"display") == "none" || A! J7 c" }: x; z; l) [9 x& \ s
this.getobjstyle(node,"visibility") =="hidden" ||( P: @- D. T- K/ D/ p, D( K, b
parseInt(this.getobjstyle(node,"font-size")) == 0)
& d* C9 \" G! x( P1 r! w; z' i+ z { W* e' ^6 G8 P, V: L( J- ]
if(debug)9 ]* H* h+ G" d7 O; d7 }
{3 U# m. j: s+ N
alert("remove invisiable!");- X8 _5 o+ |3 Z( j: z! ?
}
) D" G$ k5 c8 j node.parentNode.removeChild(node);/ B% Z6 b* V: [$ K6 n
7 A7 B6 } p: D1 V }2 }1 ^6 g2 \# H
else - q5 W4 h/ |; L0 I( c1 H) n
{
# M# J, c3 g5 s3 I- @7 @ if(node.parentNode) & D T4 ]4 R2 }2 E M+ U
{6 M& B5 _ s* D; v' X( b+ ^
var orgNode=node;
. q, I0 _: I, J% ^+ r var orgColor=this.getobjstyle(orgNode,"color")
8 U$ ~: ?& K V4 G$ \4 G var orgRGB=getRGB(orgColor);
/ `8 V( ]; y9 l* m( f. ?" O5 X2 I8 B- z
% U4 c9 R+ [3 Z2 p: C var parentNode=node.parentNode
2 }* U) R& c& e" X var parentBgColor=this.getobjstyle(parentNode,"background-color");8 @! I) ]7 i- A v& y
" }( _$ _/ Q- o: \. W" N# {
var isLast=false;4 e' F* A4 _- P x
/ K6 P% y, A1 H8 C3 C& t$ S while(parentBgColor == "transparent")
6 i, L: w+ S9 D( w6 M8 b {8 n3 p/ n0 D6 g; I5 y+ {1 U
( c5 Q8 C5 r; m; B p, @
! l7 ^# u6 D- |& t3 Y: t5 Q9 Y6 ~; s if(parentNode.parentNode == null)4 D+ l7 u' ^, I8 n3 ?* I+ z, B
{& x: _- \% b* n8 `
isLast=true;5 |7 B# s( @* x1 J; W* P3 m* C
break;0 Q! N$ i& C: n( }6 y5 [) ]/ s( }, z( X
}
! i( U' s: m1 M4 G! S; ~/ I parentNode=parentNode.parentNode;
; q1 y4 R5 g1 p) B/ h6 S% f parentBgColor=this.getobjstyle(parentNode,"background-color");
& \$ d$ U( D. l9 c! u0 D, r& a
; J" q7 f8 t' h) T if(parentBgColor != "transparent") * y' N0 R- k1 \+ q$ ?
{
' o9 E# f/ ^! W% \/ L# x% D6 ? break;
8 h% Q5 Z; {/ r; W& m }: _. W9 \& b5 C0 H$ O; e( E2 M1 T. t' U
}
/ K1 h; e; }5 `. x if(isLast) $ x" {) o Z7 z) j" R
{1 [: J9 N+ h/ N
if(debug)
# x. x6 F1 I' d$ i# j) {# ] {
; ?0 n1 B, q( B2 g alert("last!!");8 s0 H6 f- h( Z0 J; n5 J
}3 w; W) }, H3 _( Y9 P* N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 W. f* ^# @% g0 J$ G, \ {3 y3 B$ u7 ], H' h0 D5 S
orgNode.parentNode.removeChild(orgNode); 8 L \, }8 [; w- |& A1 O
}/ T& L8 t7 y8 a% \5 J: i
}
. U1 I' `4 y9 b else+ `5 ^0 s1 R# m/ Z
{
3 \* E# ^) T1 G. @5 N7 ?6 r* h: m if(debug)
, w* H& s# s6 M, F- p0 | {
! I7 g. F. u' j+ ? alert("compare color and parent bgcolor!");
Y" f) E# s9 k2 j% Q, x* {1 m }6 m$ Y7 @$ ]0 L5 G1 D. ?
parentBgRGB=getRGB(parentBgColor);
! _( t- ^6 w5 P- \0 Y; z5 j. ]' c8 u if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& T m" V# m# u3 D! x {# H0 a$ e W. r! ~; Q1 [: A$ R, B
orgNode.parentNode.removeChild(orgNode); 6 P/ o+ p, J# } P
}7 @# }- ^1 b; s
}5 ?0 a$ M; G( ^
}
3 j% l+ }1 B" b/ a9 v }
- `4 l9 ~& Z9 o7 f! J: X, z! O }
3 H- C& Z |! }1 d! X. ` y }5 Z5 n g0 I8 b4 [; y6 n
3 J$ ~. ^0 N. J; y9 T
/ F% Z4 M3 c3 ]$ T var itemFrames = page.getElementsByTagName("frame");
# O9 G% A1 p. I4 e0 E2 O var itemiFrames = page.getElementsByTagName("iframe");
3 }! S- k! }+ \9 R4 u& \ # x0 a2 \1 {+ _1 J8 L& a: u2 u$ I
var frame, iframe;+ Y3 o4 s, Z: W& ^1 o& V8 G4 Q
if (itemFrames.length > 0)
. o: R, Y0 }9 |# C( N1 l. v {
( ]' [2 l5 x/ a% R( z' K for (var i = 0 ; i< itemFrames.length ; i++) ; `" g Y8 d" i. g
{
" q2 I, R; F: n) ^ frame = itemFrames.contentDocument;
$ U+ X, y! g9 O3 g$ Y* I6 y this.RemoveHide(frame,objname);
+ P+ z* {" e1 [5 X; X# [: V# u }1 R8 R& H' b( v# S3 e# Q/ G
}/ j: H4 V/ w4 N2 W. B
if (itemiFrames.length > 0)
5 ] p* f# _) e {
U/ L* H( A; N8 L+ u+ s* @ for (var i = 0 ; i < itemiFrames.length ; i++)
* x5 t2 s! W% g' x3 X" f% r: R {# @( y; G% y) p9 l* }1 v
iframe = itemiFrames.contentDocument;, f/ Y7 n' J; B- t& S2 [
this.RemoveHide(iframe,objname);
. ?5 a& ]! \0 J: M }
^# t1 j C4 A3 H }& j3 |; ^! r# B* b; ^, K
}
5 u* W1 E" j0 C& H" d# L catch(e)
4 U3 Q8 k" Q# h1 D( f1 O2 _. t {
3 p6 v8 z- b9 }! ~+ l if(debug)8 ?: e* ]- O# A8 p0 {* G6 c
{
, f4 ]6 `* m/ W: V alert(e.message);6 [! U7 @3 E0 w; p# q q
}7 O7 D0 K* M' U6 m) [* C+ ^# ~
}
: Z4 s. O0 k% h, K& {, o }
- M! L$ e3 F& Q8 U . B. x" D% V1 |5 b* s9 }: ?
}
' Z9 O q) m) j
* d: c" M" w. b, \! Qfunction getRGB(colorString)
# L3 }7 O6 k' L5 K, S{
9 Z( q6 T/ E+ j6 N8 ^ var RGB = new Array;
& f0 b( N' ^4 m1 w$ y/ o+ b; e+ s var tempSting=colorString.substring(4,colorString.length-1);" Y0 n/ A$ u( I; A5 n+ @
var tempArray=tempSting.split(",");3 { N" G% |0 E4 b
$ `8 M$ x% }2 o2 c
RGB[0]=parseInt(tempArray[0]);
9 ~7 I0 K( ^( J) Z. ^( Q4 D RGB[1]=parseInt(tempArray[1]);$ J v! O- H7 [0 x6 h5 i
RGB[2]=parseInt(tempArray[2]);
) l1 P$ X' I7 \$ n# N 7 F, z* p8 B" f. {( |( R7 C
return RGB;
# X/ d; k2 h, T# |0 T}
& w% i$ n+ f1 x, {function keys(evt)
* F- E1 S/ A0 W2 T; P8 R" j$ j {
7 J y' j8 `" l: O7 X% H if(evt.ctrlKey && evt.keyCode=="81")
8 h; k5 S& n% Y5 M7 O$ B { 4 f. S; @, M' O, l' u/ Q
CleanHideObj.on(0,1);2 m9 N, p; V0 E$ n; j ]$ v1 w% a4 T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, |/ K9 u2 b# W' }+ a
8 ]: q- b4 S6 X) R# [: ? } 3 X u- S2 s' X
} 3 O8 P! _4 M0 n* g0 D
document.addEventListener('keydown', keys, false); $ e( h+ [* _, e" o: l, J' H
GM_registerMenuCommand ('Clean Hide',4 u6 k% D$ Q" T5 D
function(e){# M8 k5 H3 H: \* U; i
CleanHideObj.on(0,1)
& O; ]' O R |8 Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ A- z1 I0 n( }' Z
});
: j0 V9 _. n: V |
评分
-
查看全部评分
|