|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 x2 A9 J f9 s; d
5 E" Q* M2 C F& [火狐插件,用猴子
; N8 o& f' e" N% W( W; [$ ^; d" \: k2 Z f
var debug=false; / ~. K: j# y6 Y; d2 }- }
var CleanHideObj=new CleanHideClass();5 n5 Y1 R J p8 V$ W
- ?+ d0 d: m- V# s' N- ?
function CleanHideClass()
9 d c7 V' M& F7 C{ + [" ?+ R# Y' j9 g
, h5 q" C! \; ?- s8 |3 c this.on=function(id,bMZ)
* n) w) q* ]4 r- P+ @9 Y; z& K+ A {$ V) ~( q" |2 N- y7 x, U: z/ l* W" w
8 o+ S' K* H( C6 @4 h if(id == 0)4 b: _: }5 B2 y( s. z3 p! n
{
' ^' j" D* d* h! n7 e2 Y5 @ var page=/* document.getElementById("content").contentDocument */document;
8 X- |, F% H* ]% B7 Y this.RemoveHide(page,"span");6 b5 n8 O: d% X9 y) E
this.RemoveHide(page,"font");
0 ^2 }+ ]( c* D5 r this.RemoveHide(page,"div");
5 p9 [: X3 j. Q" u5 ^ this.RemoveHide(page,"p");
# }" R- f6 F( v2 `/ t5 H 6 H/ h5 X' p" V
}; ]5 g5 ]0 z' G$ |, k
9 A4 E8 X8 S, r& _6 p) w* {* H }& z! r' w+ e: N2 v& G
this.getobjstyle=function(node,prop)
) ?9 y, U8 L* I {
8 J' x( v7 k; g- D7 w try; I* k; M& ?; M9 K$ f$ G2 D- k: \
{ K+ L7 T$ d J2 M9 n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* G% [8 C, s% O, t% L$ F }4 r& m" l1 c$ M( r5 [
catch(e)
; d$ O% n- H; n$ U& ]) h2 r" F/ c7 y {) L( e- n! R0 }% h
if(debug)% A7 ?% M7 k& u0 C) `+ {( `! G
{* x! w. J2 V/ d6 L: |7 e
alert(e.message);
# t, j8 x# m- ]) k }
1 L+ c5 I! y4 U) `% c6 X
% J: A1 j/ e" n# t: `# y return "200";6 q1 s: g8 J' ~& d) x* f* @
}) O1 P" F6 G' i3 s# E
}
; `: W5 x9 d9 q
2 o: n" i; ^+ K- R$ Z/ F this.RemoveHide=function(page,objname)
$ h( \6 L, q/ {( g0 z! I {
4 J+ _8 s3 f" F. k try% N! _6 H, W) C
{: C ~7 r* O' I/ D3 I) V+ y
var minValue=15;4 ^8 s$ [! n7 k9 d" _( d9 l+ m
var objs=page.getElementsByTagName(objname);
" K: ]2 p: m3 ^' [; H/ s7 t6 P3 P% v1 e8 u- A M
if(objs.length == 0) # [ c& O+ m) U% L8 B
{, i& e$ \" C/ W8 J
if(debug)
0 o1 f; V. B- p2 @% G4 r2 z+ s+ q {- f; T2 I. [+ D9 t* z' q
alert("no object found!:"+objname);
$ |) R/ o$ P2 a6 O. X6 {9 K }$ R& v, r, O& w1 V1 I( J
}
( |# f* z$ l1 f4 C& _( e% @& a else
& l4 X0 ?. m3 i; h {
( h; _- e0 n# a" @; ]+ _
4 _% S# H9 \: E5 Q for(var i=objs.length-1;i>=0;i--)
; I5 [, T" ^/ A! `( Y# b {) I+ F6 K+ D9 g3 j# z' w7 k
var node=objs.item(i);
$ K7 m, h# v* D) h, d' r; N+ A : t" n3 ~# V8 G- v' J
" o/ ]/ l5 ~3 O7 H0 o7 R6 g if(this.getobjstyle(node,"display") == "none" ||
: g9 ~$ N8 n! u H+ u this.getobjstyle(node,"visibility") =="hidden" ||
* U8 C5 w8 N3 @% j0 F, _; V parseInt(this.getobjstyle(node,"font-size")) == 0) * ^8 C8 f, q6 k, u( I
{. U; ~ n1 n: A, v& l1 p* X0 z
if(debug)8 z, M5 j) b: { B8 P
{3 k( b) b+ o, Z; e" d
alert("remove invisiable!");
7 A L9 J# c0 }3 [/ L+ L; E }
' e! h# F; K3 r6 t0 V: {- j4 t" u/ P node.parentNode.removeChild(node);
( U" C: g9 j" A# G a ; N5 W, E3 M$ _& ]/ c" j
}: {. x' J, m% J/ P O$ @
else
: f) U! |* n% h {
" M. a o6 y3 A& N2 k if(node.parentNode) + ]) v: P8 d) P. O0 E
{7 T) M8 Z& B- t d% B j( J* [
var orgNode=node;
2 M! s; N6 k( q+ K) d var orgColor=this.getobjstyle(orgNode,"color")* d! Y. i) B# d" ]0 M* l( p* P$ k' P
var orgRGB=getRGB(orgColor);
9 P1 E2 @- e4 R) ?4 V
# c$ O) k5 ~* Q! ]$ `6 W var parentNode=node.parentNode
" O8 z3 x9 j% z/ l# e var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ z7 p6 L2 p e- F# y, W) f
) S, e0 `2 ]' S" C' ] var isLast=false;
: M4 u, h7 ~/ P" {, p 5 `" w8 a/ p5 i6 V! R; c: M
while(parentBgColor == "transparent")
4 F) C" A( d4 H& I! c& _+ ] {
, Q: Z: {0 A1 f2 ~& V " R2 ]4 \$ v& o, h+ Y6 ^6 H w
; q1 X4 r5 @3 }: t- z; [8 k if(parentNode.parentNode == null)# z0 \' w3 ^% }" l
{
# |1 c _/ _8 r7 R( @$ d isLast=true;
' v/ O" D2 R) U4 h break;
; Q6 J# x$ C9 D& m/ O. T, w }
3 b9 v) Q) \2 l8 d, _3 V7 T* |: `- ? parentNode=parentNode.parentNode;
) _! J* ]: T; S0 d8 F parentBgColor=this.getobjstyle(parentNode,"background-color");
1 t7 s5 S) l ]- ?
6 t4 ?1 D% H2 `: N# K if(parentBgColor != "transparent") + U/ i) k8 o( _$ |! G3 H6 u
{& c3 Y O4 G3 K
break;
& j. k' x) _* x: ]* B- j; S V }
( M, b3 k- k% o0 @- ~ }
9 [7 Y9 c! p3 b' p1 X( W4 x if(isLast) 1 D8 Q1 O4 S& P7 D# K
{
6 A2 ?% v" ^; V1 {9 Q* t# S# X if(debug)2 a) Y- D/ Q0 }" N7 {
{$ \3 _* O: f: d3 ]
alert("last!!");
+ O2 u4 j0 T' h' ?, C }& _; s) C* R! V. i3 j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) b2 V& a, e. j. z9 g
{/ }3 S, s' y0 Y7 G
orgNode.parentNode.removeChild(orgNode);
3 e; S$ q# g0 ~$ ~' k2 W }- P$ F' W# w: @4 |4 p
}: }0 p. h" F- [# n6 P& g1 F$ j
else9 s% A7 W9 K I" d+ R. D
{, h. M" [: s" T0 E+ F9 y" s
if(debug)
J; @5 k7 o0 i- S$ m {8 w {% M1 k: k2 z. R( d
alert("compare color and parent bgcolor!");3 \# w- D z- B) s2 @* Q( p
}
) q! s! `/ Y/ d parentBgRGB=getRGB(parentBgColor); z$ `4 f. l E8 K
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 m4 L9 D$ ]) M1 C" b u
{
" t5 H' x# z; n- u orgNode.parentNode.removeChild(orgNode); - t1 D8 N- }7 V
}+ T% z8 y1 ^9 b8 F
}1 I2 F1 K5 I$ c g+ t5 Y) x
}9 K4 L. X7 H: u( E' C( E5 i
}2 K' t! @' H6 v/ p' e W5 Q a" X
}! U: A( j! |' A9 s+ F! X" h4 v
}
" V- a% U7 \+ s$ ~' D [8 Y7 J2 c+ s* O
7 ^9 K% v0 N( b% c1 g
var itemFrames = page.getElementsByTagName("frame");" K& G% W7 Y, R( ?3 e8 H, {; `
var itemiFrames = page.getElementsByTagName("iframe");
6 E7 h) Q* z3 `& y+ p$ C
, r7 a4 x/ Y( ` d var frame, iframe;
+ a' l9 Y7 d) u' r if (itemFrames.length > 0)
' h( R( ]# \. D8 N: S7 q3 l2 p- x {
. B3 c9 m0 [5 P2 y4 T for (var i = 0 ; i< itemFrames.length ; i++) 6 }) q! g d3 ]$ P5 T
{
# |+ i, J' B8 o frame = itemFrames.contentDocument;5 Y, d# u/ w3 P" k5 t
this.RemoveHide(frame,objname);
% Z" g5 c- M% c. M }
+ D' k/ L: Q' Y2 @; q5 H9 _ }3 w: z4 W8 b8 U
if (itemiFrames.length > 0)0 a$ m8 l; ~) Q; [9 z% `
{+ E* u x, B6 {* S6 X
for (var i = 0 ; i < itemiFrames.length ; i++) 9 w( P2 a2 P* {5 n( \+ c, d
{
T( w- f: z% a$ @ |) | iframe = itemiFrames.contentDocument;
( V2 G' O2 ^$ Q6 O this.RemoveHide(iframe,objname); - z. O9 T& R2 ?) |% {
}
! P' ~5 M5 Y7 y4 ^) | }, e# M5 Y5 [; ^! W
}
6 D: L% b' A; P% ? catch(e)
- J& b4 @/ E4 M! K7 k6 j {
% z/ I* p, j3 p( C/ I if(debug)- m! c2 {( f8 e8 d) E2 T* O; J
{* a" W% _$ ?8 x( J
alert(e.message);, j( b: [% a! O' S* X! L
}( }/ X; i- D: C' }2 x# }# u
}% b% i" j, I7 Q- C% j4 X
}* M0 F1 C+ D; C- h
. Y. _9 v2 C6 Z' A1 O0 @' S) c}+ d6 W+ ~' d3 _: p0 Q2 A
1 n4 b: T. K5 U5 Cfunction getRGB(colorString)
9 i1 B5 f. x( ` J% j, R* `{( ?3 U. i9 ^/ z( r- x0 W8 x
var RGB = new Array;) r$ `4 r9 ]4 k1 G
var tempSting=colorString.substring(4,colorString.length-1);
7 f- U+ a* a# `/ F var tempArray=tempSting.split(",");+ N' r- S2 a! ]' q) @7 H( C7 [
' [; D J5 A4 R9 A& D
RGB[0]=parseInt(tempArray[0]);. q" p/ T6 _& |( K, q: v
RGB[1]=parseInt(tempArray[1]);
1 X# f* m/ F; a9 B7 |. | RGB[2]=parseInt(tempArray[2]);
/ R" D# m. Y' {( c O & w) r5 j- |6 u( s( n
return RGB;: ^! ^1 g7 M" Q- _7 s
}
4 r S) E! Y' F& g0 Ofunction keys(evt) 6 w& t+ x9 f1 i' z7 k- m- l- J
{ 6 i9 n6 }" N# g4 k
if(evt.ctrlKey && evt.keyCode=="81") / U6 x2 Y& y+ ~* T C2 q* ~2 L
{
+ J. K" z8 `3 k4 E) v: k4 X* X0 f/ Z CleanHideObj.on(0,1);) ^/ ?+ ~, c* y; `& A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ G; \+ R1 c5 M2 _8 U
5 ]" Z/ Y' h1 p+ P' _0 }5 D
}
0 }' O; j! i5 l, g3 e9 d } + Z2 Q7 H& f5 B5 {
document.addEventListener('keydown', keys, false); + A8 O) l' ~ b3 ]
GM_registerMenuCommand ('Clean Hide',
5 b4 O% I, _" Ifunction(e){
1 F2 V0 y% ^: y! L7 uCleanHideObj.on(0,1)
% ]0 O8 o7 L* b/ i* Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 N7 ~3 v6 C; y) K: p- n* Y- A% q
});6 Y8 B& x2 R% K- v* x4 k- b7 C! k# c
|
评分
-
查看全部评分
|