|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 b6 b* l5 a2 [5 Y
1 O9 E3 f3 r: P. {; _1 `火狐插件,用猴子! S# a9 {! F- B0 o' u6 M4 i4 U
) P _5 g' K5 `* K, q7 z2 i
var debug=false;
& P, H7 K( ` [; V3 F4 jvar CleanHideObj=new CleanHideClass();
0 h* T {- e1 o' C q) @, Z' Z% |
function CleanHideClass() 4 X. O4 {$ p: P2 y
{ ' L. H/ i6 ]# h; ?
9 b6 U* s; E8 r" `& o this.on=function(id,bMZ)
5 D0 [2 s) w8 I: U6 p6 S6 m {
8 P# A* i9 n% m1 P6 C0 z# } 1 B3 J) S+ q. w" q; l% Y
if(id == 0)
6 Q# l8 Z8 T6 l8 e) l {
2 G# k# S' i' V# b. Q var page=/* document.getElementById("content").contentDocument */document;
! I4 E2 V$ k- t6 |( E$ x- z' e this.RemoveHide(page,"span");
& Y4 j x9 f: N1 h) s, \ this.RemoveHide(page,"font");! G/ P: w! N( _; p" K4 B0 M
this.RemoveHide(page,"div");, O" P6 P( ]* M# N, U( i+ B
this.RemoveHide(page,"p");$ L+ }" j4 {3 y. ~6 ]
' b% P, }* \* u
}9 F* Y" f, N% l" B7 d& {! W
$ h a2 U* V; H- Y }
J2 o' [' X' s this.getobjstyle=function(node,prop)4 R- m' p5 [4 M) Q& _1 O; @
{
! V/ _$ t+ M! ^( j& N( j- V7 Y try
2 V- K% L7 [1 g) U' N { c$ R# M7 J# l/ _! }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. h7 v! j/ e$ g: f+ z; |) A: p' B
}5 O2 T: h, u' p
catch(e)
6 q$ q: v/ z. L3 X& N$ y1 n {
% z/ i! v) n K1 {3 a# J* ? S if(debug)
& G( F( Y" B$ R$ G1 S# B9 J: ?7 d3 l {
+ o( I9 e. x8 I+ D7 I& e) P& U, H alert(e.message);$ h$ j7 K3 Y- m4 y/ b, {' ~) ~: j
}
7 D6 Z2 @" `3 H
6 u+ `/ U, l+ r$ F& O4 t return "200"; v. f3 D8 x; Y& q+ E. Q
}
$ z/ T; R* j4 L; n. c }
6 C# G& b9 h. s: B 6 C4 C$ L8 j0 h' B* B
this.RemoveHide=function(page,objname)# A+ u3 w+ B$ m) u* w$ i
{
4 Y+ I' X/ U4 E! `- }5 v try
+ F2 {5 P0 r4 { {' m6 {4 A8 w+ R: H3 q9 J
var minValue=15;! l8 |. K }' Z# c3 E& t
var objs=page.getElementsByTagName(objname);
+ g9 w8 J t: d+ l- \0 m3 k
4 |- ?0 v! S; j* z7 v; e if(objs.length == 0)
9 ~8 ^- x- q9 B- x {
/ i2 f- n! y' x if(debug)! F E0 v; y) e! Q8 T
{) [, m5 E1 J% `0 Q9 b+ y
alert("no object found!:"+objname);& `7 a+ f( r( I# g0 J. U% a- p
}
* p$ J$ Y- K. d' E }3 z" s! B2 v: J
else
% L7 J; b& V( H2 W {
, X" ~% g8 a" a3 h . L# ?2 @& D ~& @
for(var i=objs.length-1;i>=0;i--) % Q/ @- i2 b3 u
{
$ A8 e. v' E6 e var node=objs.item(i); & y$ K4 |& r+ O9 b9 S) q* s- D
3 {: B3 Y1 y d5 N! Z; V& @# c
( ]5 L- D0 t! F" D5 z if(this.getobjstyle(node,"display") == "none" ||
4 P; Y3 L* D. a: F8 f this.getobjstyle(node,"visibility") =="hidden" ||% L+ A& M0 g: f0 M6 s2 |" p% n
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 }0 Z8 r! s5 f x# Y0 Z {
J% j0 l1 k3 K1 { if(debug)
/ F4 D! h& r5 t: O! u' }* s( D. z {
, p% y/ ?% l. q0 e7 M+ y3 C. [, | alert("remove invisiable!");
' m7 {, A, h, {& g1 \4 p* { }; f4 }" f1 ~$ w7 j- O" u
node.parentNode.removeChild(node);
8 n- q% _" M& m8 f ~3 B
5 M) y9 M( n! u) a3 I }
+ M" y1 K$ c t+ G+ u+ F) c( _! ~ else
' p$ h% J% E' ^6 R( Z g! i# P1 U {
( ` L. S7 k/ ?& L Q9 ^ if(node.parentNode)
' V4 D" r8 x( S7 x+ m' C& f {
) Q8 g2 R4 o! M6 N J) I var orgNode=node;
! N t4 Y4 l7 X5 c9 _ var orgColor=this.getobjstyle(orgNode,"color")! @( ^$ n' u6 S K
var orgRGB=getRGB(orgColor); - v9 s4 }6 Q ^$ m2 u) ~! w2 y
9 U$ v. w6 Z$ t9 P
var parentNode=node.parentNode% A2 y0 J4 q4 n" W. d3 a3 {! U: e
var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ U8 H9 h6 ?1 M# {: g3 L: p
2 j+ o6 h+ J" p var isLast=false;
2 ]1 U/ x, W. S
, D6 k# l% X/ C* _; o while(parentBgColor == "transparent") + [' \- u0 Q. s* \2 \
{
2 m# {% J, o: O: Q
8 N8 }5 B2 H8 G4 b" H y$ e8 X7 g: ?1 y3 u: B7 N
if(parentNode.parentNode == null)
V- t! F, c$ I, G {* Q x+ T# Y+ ~3 K) Z4 L B7 j [" L
isLast=true;
* Q, I8 X! Y5 j( C7 {/ {# m break;
5 O# ^3 O; `( F5 h }
. e: J2 K. M8 H8 G- ^3 v1 w. Q2 d parentNode=parentNode.parentNode;" A$ |4 e# S+ i$ |' ?2 g
parentBgColor=this.getobjstyle(parentNode,"background-color");
% t% Z( \5 H/ m' r
6 Y% }; `5 o7 X( y& z* ` if(parentBgColor != "transparent")
7 J# z8 d* W, A) ?0 I+ K {
" K6 R. w4 B+ l$ S; K. Q- c break;7 d: D5 E- N n8 P! M* @
}
0 F. L# [: E, q3 Q1 y2 u }
* k1 s& `# @+ ~9 I: X) b7 k' E, c if(isLast)
( z0 w7 q% R* u/ n* O {$ {2 L+ ~7 o+ D2 r0 }) u
if(debug): w, D2 T! J1 k. _) d. C
{4 d+ Y. k, O0 [* [) I4 |
alert("last!!");
$ b( W+ l- y$ w% i9 q }
/ u8 u7 W4 v: i. e' u if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' T; m4 g6 ]" L/ B- D. h {# a7 ]0 d/ i% i9 H0 j8 ]8 K' o
orgNode.parentNode.removeChild(orgNode);
/ t6 ^7 o. ^ P( k& T# m2 U* F }
( w. K9 `% l, g) Y& L6 T/ z }: |9 P0 T/ t4 }
else3 M9 Q! R, a0 Y/ Z9 X4 O* f
{
" ?9 l1 ]; N( ] v if(debug)$ g# {1 M, j, S0 c% h
{
# Z5 a, b& I9 d2 {, t alert("compare color and parent bgcolor!");
, J: F6 o. @+ {/ w$ o } f$ [4 ^5 j' p: k) R
parentBgRGB=getRGB(parentBgColor);
& x1 w& S( s3 o1 ^8 B& s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' W( z: h. |3 p% [1 ?3 w
{% G6 i; I ^2 N2 k/ D
orgNode.parentNode.removeChild(orgNode); 2 [/ y2 Z/ N2 D, J$ s' ^/ b$ e
}4 b; r8 W9 p8 d
}% u: n- U5 G+ M: L+ w
}
4 S) g7 K8 W# R, l }! V8 ~: w; I, V: J
}
9 U) D( l' k }1 {# u' |0 T }1 x( h7 ^5 Q! j" }9 F2 j$ S( n
0 Q! o5 p+ W5 E7 _1 Z) P+ ^
) W/ I: Z0 y: g. | var itemFrames = page.getElementsByTagName("frame");" N& ]( y: @, s% U/ \' ?6 j& Q9 h
var itemiFrames = page.getElementsByTagName("iframe");
* v2 C# j8 `; u% m2 M" m) \
5 H$ [5 H) e; \( n1 t) U$ ]& q var frame, iframe;
: Q4 O) W% f, }7 n* T7 E if (itemFrames.length > 0)
( r3 B4 [' o, i$ O {. V# _% e0 v& u" C N9 d7 X( S& s
for (var i = 0 ; i< itemFrames.length ; i++)
" b' b$ d2 {+ T' A+ R# q y {
( B; p, q4 g; w! g( b. J; p frame = itemFrames.contentDocument;
% L7 I. \2 T) k: i1 E this.RemoveHide(frame,objname); 7 e' }; h6 [# A j D
}9 r2 L% z% }" ]
}
4 ^: ^0 _+ Z, m$ R6 E( _ if (itemiFrames.length > 0)0 m6 }5 G. p0 g8 T+ O
{8 u5 p1 X2 S' z6 R- O
for (var i = 0 ; i < itemiFrames.length ; i++)
- s' C6 B$ w/ \! K3 l$ e {( u( H- N2 u7 i% a
iframe = itemiFrames.contentDocument;* ^, R3 e v' f4 h; G' ~! W% Z
this.RemoveHide(iframe,objname);
$ y! W9 z7 ], a$ J$ [ }
& L: U: u. M) y1 Q" s( L3 y }" ?' G* v9 @ S; b) [" ?$ O5 r
}
( X' M! Q; @$ i catch(e)7 H/ J+ D; J* j' C/ p
{) j$ z _! i+ B% j: z
if(debug)
) b& h" F8 `& q5 x; b {8 X. u4 I3 f- L& b' l
alert(e.message);0 Q4 I, L9 S+ v: Y3 T l4 K
}1 M1 `' i- J* `
}
% P8 ~* h) y5 Z3 L+ _ }
! O9 d K2 r7 S, k1 G9 _+ @; w 5 Q/ ^9 k7 X3 Q- B. V: g7 }
}
7 O) p. x- U3 _, B3 \8 c8 n$ }% M6 o0 T+ p
function getRGB(colorString)
' p: h4 @' I5 a5 {) q{; O0 |! C) C1 H* ]/ m r
var RGB = new Array;
7 b- F6 o1 m' G, Q7 B var tempSting=colorString.substring(4,colorString.length-1);) h" Z) Z' E) z0 u( z0 l5 M
var tempArray=tempSting.split(",");9 f! D; a6 c0 H/ a
! @! i8 Q- G* x4 M: ? RGB[0]=parseInt(tempArray[0]);$ A' `* D/ k+ q' P. X+ @; ]9 e
RGB[1]=parseInt(tempArray[1]);" ]9 L! G3 ~" k0 H
RGB[2]=parseInt(tempArray[2]);
9 ?+ Y* b3 a' @6 ]# j* t8 S% s 1 ~; |+ g' i( z7 `8 [" i# i" s
return RGB;4 y h- ^* D1 P$ r3 |1 W: y& w. |
}- e( m! E9 \( u) t
function keys(evt) " x8 Q6 e& \, s& Q8 t8 U7 f7 c
{ , o, H2 \; t3 i5 m5 J& G' {
if(evt.ctrlKey && evt.keyCode=="81")
& h3 K H) g. }1 x {
, U* i6 ~3 b5 b3 \& a- |( ?7 W# J CleanHideObj.on(0,1);8 o2 a) D8 C, n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 y+ a5 B1 v2 F. R3 T1 @; j
& t/ X, A. T9 H X
}
# U' F% K& m2 [' s; D% k: H }
. O! b- U7 J* a6 @- ?9 e wdocument.addEventListener('keydown', keys, false);
, J! U* C9 U0 H- `GM_registerMenuCommand ('Clean Hide',
) d9 j4 H- |# W5 s2 o: Cfunction(e){+ z. l# H* u) E6 H3 h
CleanHideObj.on(0,1)+ ~' L- ^% O$ z- j6 r% ?" B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 a' d- v1 Y# K5 l7 D4 q9 n2 G$ k
});3 z( X& V) b9 m% G& l% i4 R% D
|
评分
-
查看全部评分
|