|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
H! C: i2 {5 \4 S6 s2 e8 w6 L2 H: A1 @3 U0 l
火狐插件,用猴子
- T0 E+ x, I Q j7 [; ]2 b7 A0 ^+ Q7 u2 k2 R: N: Q! O1 P8 `' C
var debug=false; , P5 r$ _* q z4 W' j( T
var CleanHideObj=new CleanHideClass();
; e$ W( C% c1 }: s. D4 ?7 H% { A5 h/ {5 j6 ]7 I
function CleanHideClass() / ]8 A2 I! ~# c; i7 O! a' N. d
{
; @+ J5 Q, ~* ~/ w3 u7 H ( P9 W: [, a5 f: a! ~
this.on=function(id,bMZ)$ _/ ?6 m2 T; I' O8 y
{( {+ P& V, R" y: e( y
2 e! @4 k* L- }' f8 Z2 d" p- l F if(id == 0)- p( c$ }% W s* y4 U
{1 O4 s) W! l8 m p1 k+ j
var page=/* document.getElementById("content").contentDocument */document;
2 Y+ d! ?9 ?1 w2 V+ `( `4 ~. [! ^0 f this.RemoveHide(page,"span");2 z" Z7 \% H& o$ V
this.RemoveHide(page,"font");
; a* h6 l* w( _- b# [ this.RemoveHide(page,"div");
2 X, u: G% B4 p5 S/ } this.RemoveHide(page,"p");
' [2 z4 l8 f* Q d7 S( L
/ l% ]6 A( u! E' ]5 S# U }
) e: e9 q$ r7 U& e, y+ S 5 F1 h( |" n2 ~0 @% W% W
}
' m4 a9 d, L! B( E/ F+ Z: @ this.getobjstyle=function(node,prop)8 I$ [5 O8 b3 v6 {, G9 V/ g
{
+ V! r, I; f2 G try
% A! _* ^! i! E; g {
8 g. Z! f; v/ u* x9 ^! ? Y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ h- X& @( F& ?7 Z. r$ K1 l/ I }
* J5 P" B6 t" A, v$ ~3 Z6 o catch(e)
+ C( v2 p) y* `# k4 c* m: w {) `% T. u' N$ a5 N% h0 i7 d3 C
if(debug)% q; ^" b/ \; }$ v
{
" B7 i8 O" f1 i* E+ i+ u6 { alert(e.message);" o A0 O' h5 Y# w2 t- ~: w* l: J
}
{1 I9 ]6 n8 a 0 A3 X, V0 ]$ E- J( c
return "200";
+ c2 [) r( R4 }* X# t }
% ?/ ~" y' Q/ k' z) ^/ l" ^# z }
- @- B) H l9 y3 U: {) u
6 U1 l& [4 h, ~! R this.RemoveHide=function(page,objname)3 x( f2 I5 M# L4 @) M
{9 J- v/ T+ R: s$ x- Z5 r2 q
try* X# y: z5 c7 `, @
{
4 t# W, y2 L% b0 L" |) L var minValue=15;
4 ~, x: z) q( z2 ^' F, }$ g/ o' K n var objs=page.getElementsByTagName(objname); + r, W% Y; Y& R
1 @) U) a" a8 e( s- K
if(objs.length == 0)
& p6 y. S& T7 @) Z2 O {+ d& S! Z {/ r% Y3 W% i9 R
if(debug)6 K0 u9 r4 V; z" ^/ Z3 ?' K
{* a; j# `5 b9 e5 Z. [ J. G
alert("no object found!:"+objname);
" }; O. ?( c0 p( n3 o0 j0 l }# {9 @3 N7 v' C; b+ q' W
}
2 Z5 ^" s0 H) h' l else4 e" r% Y% n9 `% Y! j) E1 Z1 P
{: n5 G8 f' ?. @, I" S" l" h
, }/ X7 s, `3 h9 D, a! _ for(var i=objs.length-1;i>=0;i--) * _* M9 o; m1 H6 z
{
# G. G3 b" J9 D/ W* j var node=objs.item(i); 2 ]* s3 N5 w3 S+ ?9 _& D4 i
- g6 X$ |: G9 l. [) D
. \2 v0 R" u$ j, F* M. M if(this.getobjstyle(node,"display") == "none" ||3 M3 R) b# }4 J$ F) Y Z; g
this.getobjstyle(node,"visibility") =="hidden" ||
, b6 v2 _% h: o8 N- |$ } parseInt(this.getobjstyle(node,"font-size")) == 0)
5 ^$ O% `: p9 c% e {' v" x7 C/ c8 J. ]1 ~* D5 r- t
if(debug)4 I, g0 @# k3 ^; a& e' C) Y1 @
{; ?# i" R* h f" C
alert("remove invisiable!");' Q7 n& M0 u5 @+ m3 D" s
}, u. J! P4 D7 y4 c6 D3 u
node.parentNode.removeChild(node);
! G+ u( u, E3 x: J / v A/ ]+ Y& T; C1 c' k
} }3 v6 ~4 S" m6 f. s/ w, c- ]( @3 }& s
else
0 o8 `4 N1 [3 l( _ {
7 ?$ F* V0 W/ s$ _! I3 ? if(node.parentNode) . D; X- B$ o* r# ?
{
( ], ?6 D2 R% X. N' l var orgNode=node;
+ w, d& i; I* u' O' W j var orgColor=this.getobjstyle(orgNode,"color")
. m. H- p# a! @/ q$ H# Z var orgRGB=getRGB(orgColor);
1 Z- ^+ W {" ^/ K 8 n; V% L: Y" x9 g" Q6 s
var parentNode=node.parentNode
( b8 i6 b& W7 ?( l8 e var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ v# o0 Z- W' R2 f c' F % ^, r! }/ L$ l1 Y
var isLast=false;) v/ u" o$ F) ^( t8 {0 ^
' E7 z2 ^7 p6 l0 Q W
while(parentBgColor == "transparent") & g$ A \2 _5 a7 t
{
9 l8 r5 c$ K \% u0 [4 A) W
2 K) i$ q: q7 q6 n% j
4 z9 V% k5 I9 A& \0 p9 T# K if(parentNode.parentNode == null)* |& \9 A7 | X* o- X! X6 z
{* N6 B2 B" o3 Y" C
isLast=true;% x4 ^" `. ?; e1 w* K6 R9 r* t
break;
2 U0 [( M i+ w6 I/ G8 D }! A: t4 u, m" Z0 R! f
parentNode=parentNode.parentNode;
# B3 B6 F, Y X* V parentBgColor=this.getobjstyle(parentNode,"background-color");' L$ h7 Y2 b; I: Z/ C4 d6 W
' h9 X% Z7 b5 H0 Q, C" n" y( n: ^ if(parentBgColor != "transparent")
) T# ?8 M8 b: t& I, f; ` {1 a6 `' A( }0 D1 }
break;# L0 {% r: x; l5 p. V- t: f1 e
}# s0 m8 z& j2 U; D/ ^
}
9 S( o0 \. S* X2 p1 N if(isLast) ' b- H. {" a1 c0 }( j
{
: e$ @; A1 }1 f5 Q( v if(debug)
! n9 C0 k2 z+ n$ L; E& W1 ?+ t {
6 ]/ W! y1 E: h' @. n z alert("last!!");) N8 y( w4 J, U9 _" q
}, W* o; L6 W& }
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 M' |' {& T( x9 U4 g* f {
1 g$ }% e" [5 }" o | orgNode.parentNode.removeChild(orgNode);
! `! V. V4 z4 c6 ]2 g }
+ C# ]/ l+ I' y: t, ? } q- N! i) k2 e. w( |" I
else, `. S! J% v; K0 t. |+ {' a
{
7 M+ x6 ^+ ?) K$ i* R/ L if(debug)& z( V* z. ^* @& t" m6 T- m3 _
{0 z6 v; }0 z4 |5 u
alert("compare color and parent bgcolor!");% x& `- S# u) a
}& \1 m. g3 K6 K' Z# W4 A
parentBgRGB=getRGB(parentBgColor);
3 O8 }/ i: p) u; O* M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 Q, I0 `" F8 }% F6 A' j/ N- ?+ v
{
2 k' ]5 |% m* V, x2 p0 j5 U/ _% _8 k; c orgNode.parentNode.removeChild(orgNode); $ W+ u- _# W- j5 z% F
}( s$ F* O4 z" D6 t7 _5 c; `
}
; I* _- R- `5 c }* [1 g4 c, P3 C6 S* J( M" Z
}
1 i$ T# R2 b9 f }
. P+ D1 M1 w; z8 }6 Z& t }
! S! ?% ]0 x* @, L, \ 2 }* V: t' O: V0 a$ u
3 {( s- l9 W2 u var itemFrames = page.getElementsByTagName("frame");
0 ~% }8 E, w6 A8 L: `2 q var itemiFrames = page.getElementsByTagName("iframe");( v8 }/ H( U ? Y. ^- `5 G
, _8 t8 E( R. d# _+ K- p var frame, iframe;( B( D7 I/ P- j# l. j, I
if (itemFrames.length > 0)
1 c- S8 x) u9 S; }/ U, | {# l/ r( d! {9 @" W% z, ^) }
for (var i = 0 ; i< itemFrames.length ; i++)
1 G) F* A% ?7 r {
/ g* R3 s$ {! {5 P+ w3 X frame = itemFrames.contentDocument;
" T- m' G7 {; r1 o F# N; _7 b' r this.RemoveHide(frame,objname); ( J9 h0 X. I) r7 e
}
; z4 C, k4 R9 p! } }' s* |+ A# y6 M
if (itemiFrames.length > 0)) ~ T6 V' @" [( ^3 D( ]4 O
{( S0 [3 p+ _: R7 }* q
for (var i = 0 ; i < itemiFrames.length ; i++)
- P6 A+ f* ~! L& i$ S {
! v V0 D7 B N8 k. N0 o" d; C iframe = itemiFrames.contentDocument;1 T; c8 k+ J! {' @$ a8 ?" u$ e
this.RemoveHide(iframe,objname); # a/ I- b( B# ?- h% P# g5 m
}6 \6 h0 }6 j. U
}& [2 p6 E D5 V* V* \, D. W
}8 q7 l4 I1 A D: N: n. F
catch(e)* z3 j8 w) F* t0 w) ?
{
6 \% o4 v3 l/ c$ s, m$ S if(debug)
# B+ s: ` ^7 z+ L4 @( N {# \- |& U0 L/ N1 F( K- b
alert(e.message);- U! I* p! s8 ~( _' g( t
}& b) p. y; g) _$ n R, M
}
+ I6 M# m: p8 N }8 f& p# Z1 Z) ^1 R) B |% T( e
0 ^' g: P+ S& k! G}
z+ c( T7 g* h6 N8 H
4 k' k6 \& G) K6 cfunction getRGB(colorString)% t5 z9 h+ `, D3 k* P
{) k; i( t( k7 R1 `4 |0 Y4 l
var RGB = new Array;7 ~. X% i0 c1 F: C
var tempSting=colorString.substring(4,colorString.length-1);! Y+ ]7 c3 v h! k2 V; p( L
var tempArray=tempSting.split(",");
+ n' M; [% U0 e* S" u5 b8 Y1 M; l3 U7 p/ d( Z1 H) D
RGB[0]=parseInt(tempArray[0]);2 y# Y8 _0 i0 A9 Y7 A. V* ?
RGB[1]=parseInt(tempArray[1]);$ `: L2 i; e( |
RGB[2]=parseInt(tempArray[2]);) @# k- v5 J% t5 H
$ d% y! K) [, m* ^" d return RGB;/ a( G* h, s6 Y2 O6 y
}
$ |4 ]* w# [+ S4 U; u0 x' ifunction keys(evt)
8 a1 O9 s+ e) Y0 x { 5 k/ U6 \7 ^0 M( R2 x
if(evt.ctrlKey && evt.keyCode=="81") 0 m1 j5 P8 J) Z( h
{
5 o, }' S' _" M3 R; W7 h# g( t CleanHideObj.on(0,1);
5 r1 k2 U8 y+ D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * V B& H5 U0 I" c. t
$ j$ ]. h5 ~5 |, P) e, x
}
e4 Z, `) {+ O$ ~" x6 m } 4 U5 t# l# X: h9 V
document.addEventListener('keydown', keys, false); 3 D2 `; {; h) g3 W4 m, L8 i$ u6 y
GM_registerMenuCommand ('Clean Hide',+ w [- ^; \2 z4 n, h8 `
function(e){
6 Q( i5 W& Z0 }5 d8 R1 ?6 GCleanHideObj.on(0,1)
5 w4 o$ W3 T# ]$ { {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 Y" _: d& w$ u
});1 I5 ~0 u: o: v6 X( h1 Y
|
评分
-
查看全部评分
|