|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! i7 K3 M2 e, t. u% Y) p# n0 M- _! x
, ?) D2 x y6 B1 G火狐插件,用猴子1 O1 O5 `' p. A) y4 b+ p
5 \& W7 T6 @' [' s# }5 _8 |6 c& F' zvar debug=false;
$ s" _; ^6 k2 T+ kvar CleanHideObj=new CleanHideClass();
: h9 j8 {6 B& Q3 p: c0 d5 z: m7 F. ]$ N& L! n
function CleanHideClass()
3 w$ O- H0 h! T{ / X( s9 @6 B2 n3 K
3 [% d9 I" F* |! {$ b
this.on=function(id,bMZ)
) v: l+ v& }$ @! u! b {
( Q0 ^9 D' @1 x & d6 {5 H& ?: k) T, l
if(id == 0)' {' x' H- c# E; y9 K
{) V5 s: w5 @9 f! X$ C6 S
var page=/* document.getElementById("content").contentDocument */document; - j3 C4 h ?. O. J# G
this.RemoveHide(page,"span");, I/ h, M% b! I) n' |! K5 R
this.RemoveHide(page,"font");
# p5 ~4 w' A( d9 {6 T/ I, V, o this.RemoveHide(page,"div");+ ?; \$ N d5 r
this.RemoveHide(page,"p");& x' @6 Y* J5 a. v# u& _6 c
4 s. T- }' j- y( M F }5 j1 S: R, P. P( C- ~" d) A( t
4 ^" L: }( e1 `! {1 d% w
}# p+ S9 K( \/ j/ l* X; O% f: N' r
this.getobjstyle=function(node,prop)
0 i( L4 v6 G6 M6 E0 A6 w {( ?( O R" n# y& Q1 F
try1 B$ \" B1 `0 t
{
! h$ \0 \$ D$ ]7 N# U2 x2 a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& h# x' G- I. n; t( N9 Q0 a
}6 n0 ^8 U& Q3 s+ X
catch(e)9 e( E# u7 \ z+ H
{
; C: j* t$ v4 }2 ?! p if(debug)! d4 O. E" [ c- J6 ]
{' `& l" \ O9 J' L+ v% H
alert(e.message);6 V0 V4 d5 D3 J+ d
}
9 }/ P, ?& J: s5 g) I! i6 p/ S
# r1 m3 `1 m7 } return "200";
; i! |5 ^' J5 L; N }! ?& d T4 E' F$ W) k
}9 Y3 M8 X, x, }" r( E+ N
% K, O o" Z3 T/ N, h this.RemoveHide=function(page,objname)0 _4 \" i& ^" g8 M1 a/ m
{* E+ B% h d* v, m* V2 o+ k
try
9 x& q: X( {$ C3 R7 J {
/ q- O' Q1 O ~* r+ R0 O. L- P! y var minValue=15;
% U% O7 P7 z- a; I9 N3 g7 S* O var objs=page.getElementsByTagName(objname);
' U; C/ R: O9 E0 p. X9 p2 Q6 R* s! G# w, q7 ?, G8 V& b N0 e
if(objs.length == 0)
$ R0 y2 X/ a$ e; t {$ Z- g* e0 V8 O# P1 M
if(debug): u: X4 v6 m" G5 r' a3 }$ b4 [2 m
{
# z9 f3 H- g7 a alert("no object found!:"+objname);9 H5 G' F7 o- `7 f4 Q! J/ J2 I
}+ e, A$ G) ?7 }( d3 U! a9 h r
}0 {" k' b( q9 D+ F! q# @% `
else; m) x$ S" E; B1 m1 y8 ]1 }
{
p* H) s+ {7 Y \' n7 M) Z , q' {4 B3 B( L; C4 K- O! L3 e
for(var i=objs.length-1;i>=0;i--)
, ?1 z8 Z! c1 Q% t$ b+ _ { M' q1 g1 Y) t# N' [6 J2 A* X
var node=objs.item(i);
, h) I N5 R0 b, J/ { ( ?4 A# d3 W h7 B
! p; h: Z2 j1 {5 t0 L l8 }$ R* B
if(this.getobjstyle(node,"display") == "none" ||# c( z7 |. X1 f3 G
this.getobjstyle(node,"visibility") =="hidden" ||
g8 R! ?7 N0 S parseInt(this.getobjstyle(node,"font-size")) == 0) 1 S6 j8 n# N. M6 m7 w( S- k
{& p+ }0 Z2 @& m$ z: U
if(debug)0 d7 u4 _/ |6 s) n; o+ @
{
# H1 h; V; \3 \9 E alert("remove invisiable!");
3 C: ], ^( J* S* X4 ?3 a }
5 F' `1 n0 x) K node.parentNode.removeChild(node);
# e3 y" d5 y$ ^6 [" V @8 y 2 p2 n6 e# }1 W* a; o: }. q
}: h7 {9 R% r6 i" y7 F, p) ~ b8 M
else
# j6 F. L, r2 M% `3 j0 A {' i+ n9 K6 E: |" T: A
if(node.parentNode)
0 F3 T1 q7 o. W0 |4 k3 U% h {$ y" g$ H/ n, x: p; [2 _1 f0 I8 x7 m i
var orgNode=node;
! I M; Y; O( J# B% y$ b var orgColor=this.getobjstyle(orgNode,"color")
, R1 i: X m d5 _" g var orgRGB=getRGB(orgColor);
9 k3 N c! _" n- Z8 t: R 1 |* u# K/ V, R5 ~0 X& x r+ e
var parentNode=node.parentNode' A/ `6 Q! k/ J* d- R2 y- j
var parentBgColor=this.getobjstyle(parentNode,"background-color");
5 s3 r# e; V" _- F: I( Y2 Q
" B7 j- l0 W. P var isLast=false;
# v- K. E6 G/ B9 P$ w4 q* V/ Q& |/ t; g 5 M1 g7 c7 T. I+ O! @
while(parentBgColor == "transparent") e8 h V5 t. ~
{' q6 s W& @: L1 I. f
1 [5 ~2 M+ [! p8 H, o 4 l) p5 C3 @5 |7 |1 t
if(parentNode.parentNode == null)1 E3 D$ D6 U8 L: v* {
{
4 p+ D+ @2 V/ p isLast=true;& T' N9 R& s9 F7 ?
break;
4 s, i' e; M' { }
, u; u4 s1 m8 ]- i* U1 } parentNode=parentNode.parentNode;' ]& |: D$ L* q( ? c
parentBgColor=this.getobjstyle(parentNode,"background-color");
4 t U( |* I; b/ y$ S4 f* P0 B7 T" B; I4 q0 v2 t. f' o: {
if(parentBgColor != "transparent")
6 Z0 a0 |7 q6 k& ~& n {
7 b0 }3 [6 L. _% B2 E5 Q break;, G8 C3 i/ d g! ]; e
}
7 e U& F( S3 J( S; _. }) g5 X }
' V9 z1 T; H9 c7 [/ k if(isLast)
6 w4 P3 x3 ]% U6 r5 L# p {! X9 \. a6 @& v2 r) W
if(debug)
0 c/ ?' _5 t1 T0 e3 w5 p, p {
; D6 E% f% Q- } alert("last!!");
6 y1 o* t# _& E }9 f4 n1 o. a6 E+ I- M% f L8 I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 L( c$ N/ Y) f2 h {/ l* `2 X- l& L9 f
orgNode.parentNode.removeChild(orgNode);
8 m1 g F/ r5 G( `' { }
- G3 A9 s% C1 V# w }
: g4 t" { n3 _, W ?! | else
# q+ l4 h. @6 G" l4 u8 J {: _- D/ W. e) a2 R1 q) A6 f5 h
if(debug)
y" ^+ R4 y- s1 g9 K {5 D8 R5 d7 _: s$ m, p
alert("compare color and parent bgcolor!");
0 |( c2 c: G# E+ x: } }
4 x: c7 S* u- t! D* X' {+ Z parentBgRGB=getRGB(parentBgColor);2 Z. E/ l. C* ~. |. \, g4 W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 [$ w5 C- |" L. u- W+ O
{
0 Z* P; m6 T6 v/ h& [& \ i orgNode.parentNode.removeChild(orgNode);
$ q- y! F* Z; h }
) [" C9 Q) m; D# D: S2 [7 P9 l$ n- s }
: q F! Z7 \: I& H, S! x }
! w. ?3 d7 D& N- l }
% T/ s( G- \% x+ J( N9 a% ] }
% ]) {1 ]% k5 X& O; u! C }
2 F0 I! z, z6 I7 w0 L+ O
) J! L% D1 F6 m$ Y, q! F4 X3 q* Z# s: j 5 P, H9 u: ?2 X8 c
var itemFrames = page.getElementsByTagName("frame");/ C( { A0 O% R: O
var itemiFrames = page.getElementsByTagName("iframe");
# U P! j! q( l7 o& j1 ~
& r2 N9 U" o' Y9 }4 [8 ]' b var frame, iframe; C5 n" n z8 ?" F1 U
if (itemFrames.length > 0)8 V( `9 ^ y6 h9 ?$ E! r
{/ _2 c9 r5 T0 i; Q! D3 y
for (var i = 0 ; i< itemFrames.length ; i++)
% d8 \) P! f3 }' P0 z {
R) z# x# e' K1 I- \ frame = itemFrames.contentDocument;$ W [' b. v5 B! G( R
this.RemoveHide(frame,objname);
1 m) F$ m/ J) a }' `" t/ H; N) B! D2 d( z
}
# i; n# D1 T( [: M) n if (itemiFrames.length > 0)
9 M' n4 s2 C4 j/ f- x {
( V- b$ c9 Y3 }% r+ H for (var i = 0 ; i < itemiFrames.length ; i++)
! G% m$ x. q* q# N% V' g; x {
+ ]* B. ?1 q. y iframe = itemiFrames.contentDocument;% k3 ~; R5 [% a! n
this.RemoveHide(iframe,objname);
9 _+ K- k/ x9 S) d, ?5 k( B% ^ }
' C, k/ p# v. n }
V7 ^' t/ f( v/ G: k% Q }/ X n( J: }( I1 s- g
catch(e)' \5 c! m' u( e# o) G
{: y7 T7 P& ^; j; U4 N/ X
if(debug)' h4 k( D" R) ]% Z9 {& a8 B
{
2 {2 c5 ?. p5 [' H. A7 ^0 X( V alert(e.message);
C# l+ M0 p3 C: B2 \" b }- I, K& N# e" {1 g9 o8 [; i
}
/ F" p5 }4 p0 j% K: Z }
( ^% j# |6 Q7 z3 I! K# d
+ D1 A7 Y. ?1 \/ Z}
' Y- a/ U& U, M# Q$ Z8 H
6 ? I. S, O) v! o( }+ p; Pfunction getRGB(colorString)
1 V0 e6 B4 T4 P% y: p2 `5 d% W4 Y2 }{/ H+ Y* d, K/ Y* Y
var RGB = new Array;/ i2 c. W& _ x+ N$ r+ F# ?( [
var tempSting=colorString.substring(4,colorString.length-1);
0 ]- D+ `' G; o9 Z* a3 Z4 ~, G var tempArray=tempSting.split(",");/ P& G9 ^4 z0 C; s9 f7 Q/ i+ o5 P& ?
" I- _* F8 w3 W! G! h
RGB[0]=parseInt(tempArray[0]);
- s9 b8 S$ D0 c$ ^4 I RGB[1]=parseInt(tempArray[1]);
1 W5 ?8 Z3 `7 k- V9 `/ Y RGB[2]=parseInt(tempArray[2]);$ a! ]! l0 _2 P' b2 M& W* ] b
5 @" f& y* W ]3 P$ B4 w, j/ g% c! R
return RGB;; |; e2 \$ [: k; l
}2 k7 C0 Z0 X# T4 R
function keys(evt) 2 t; |1 r- ]( M2 a$ o3 b0 f
{
) ?( s1 k3 A, q9 s/ t4 @ if(evt.ctrlKey && evt.keyCode=="81") . L) [( W" D9 W2 `6 B/ e. ]2 F
{
0 c$ ~7 i1 V0 o! h* c9 U' [ CleanHideObj.on(0,1);+ B8 k4 r8 X0 |) n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& T0 E( C1 A0 Q4 O9 @4 q
7 m% G A, m2 Z; v* X# O! V } 5 U; n7 W; f5 g
}
7 q* o+ }8 P- Q! Q. s( [6 O6 Tdocument.addEventListener('keydown', keys, false); . S# g7 V$ ^$ w7 g2 \. Y
GM_registerMenuCommand ('Clean Hide',( v/ m% q' M' i
function(e){1 c+ J, _9 n, ?2 {& l
CleanHideObj.on(0,1)3 C8 k. g" b# G$ y* r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' w, O! ^% P J' e});
! A) }4 B% q5 w, O6 A% K |
评分
-
查看全部评分
|