|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , _8 \+ E" _$ g! N V1 Q
: E6 ?' F: R o4 R$ ?8 h火狐插件,用猴子' y0 r3 X6 I1 p' o' @
& E$ f r( ^2 K, {var debug=false;
2 l& `# \; ~* B9 Ivar CleanHideObj=new CleanHideClass();) q# Z9 c( k7 s, t" c! p
$ ]/ N* _' z6 ^/ Q0 h
function CleanHideClass()
& ~7 u% O( @7 `" c8 K E _# d7 T, u{
- D5 s: \( S7 u - p# u4 x* n8 T4 `' P! |
this.on=function(id,bMZ)! N5 X! s6 W+ n0 m) }. h5 \
{
& O8 a+ P4 G( z9 Q+ z D9 F# }8 J9 H/ p
+ f' O. Y) P& s7 o if(id == 0) z5 A ^' o* O0 D/ O4 S- f* A+ S
{
( }$ A+ S$ y: ^2 w var page=/* document.getElementById("content").contentDocument */document;
' G' ? Q* k9 k r4 k this.RemoveHide(page,"span");3 Q& H0 L4 C& v: _% d
this.RemoveHide(page,"font");
# N5 K: h4 a+ m this.RemoveHide(page,"div");* n2 R' O* l( ~. x: G: c
this.RemoveHide(page,"p");
% \) I! G; Z \, h/ k4 r3 I
) `$ s j \9 @/ ~ }
" L3 X& E: H4 a! i
, q6 S# z0 ]! k4 K D }' s! x# y, \2 q3 b0 F2 b
this.getobjstyle=function(node,prop)
% G+ o. T$ N- {9 T e# F$ l3 s {
; Q3 P' r g8 v try2 _" O6 q- [- n
{
: u4 d) Z2 U% B. L6 x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 }4 J" k& u4 I2 Q }$ ]& u) e, M! w; H* V. d4 J
catch(e)" [4 E8 t/ }" y T# o
{
7 y. i2 j% @: x# U0 _ if(debug)
8 R) K! v! D4 A, W4 C5 @0 R {
, q/ z, H6 M: ?, H" T6 y. U& y. H; X alert(e.message);. q9 p# g) z; b9 D
}
. j/ a6 y5 j) U& R2 I : ^6 a# T9 `! U) y9 ^. w
return "200";; f( K0 k/ G/ ^
}( Q( B+ ^: \: ~4 |1 p6 O/ ^- r) q
}
" ^' R& v) k ?( @9 d 7 E! h3 C0 p( k4 q7 c- ~- r
this.RemoveHide=function(page,objname)$ [+ T0 A# Z' R
{( V$ X: C+ `' K1 _$ a9 c9 o& [& w
try$ n+ J6 @( r8 t- P, k7 X, m9 |
{
! [1 h% Z9 p( ~; I var minValue=15;
6 Q" w7 b8 p2 W2 q9 {' p I var objs=page.getElementsByTagName(objname); ) E) ]# G8 x! s6 J
! d9 z# d, p S+ V6 }/ J
if(objs.length == 0) 0 A1 o/ q) g& }% r$ T8 A' N
{
$ ^% j' ?2 ?2 K. k1 f0 F if(debug)4 A3 {( I2 B; k4 {& _
{
: E& k9 z& M, E/ x alert("no object found!:"+objname);1 v* ^$ j/ Y9 E' d
}, z" D9 V' Y4 r* U
}7 l! D t4 D/ [* k
else
2 t; L. T2 w( W {
& R4 k" H A# { r; I$ y
% L/ ?5 w) N3 U$ m d6 p for(var i=objs.length-1;i>=0;i--) 3 a. M+ p3 |8 R% r |$ v. n
{. p- `3 n( ^: E
var node=objs.item(i); 6 t: _1 o2 U. N: I
n9 v$ L# _; c- U
9 k! k+ p6 |$ g% T4 E4 }( J& [
if(this.getobjstyle(node,"display") == "none" ||" l) i1 o4 C4 ?5 S" Q
this.getobjstyle(node,"visibility") =="hidden" ||
0 t) ]+ T8 b1 j% l0 r+ h$ w ^ parseInt(this.getobjstyle(node,"font-size")) == 0)
, ^3 M7 N3 A# F& O0 k4 p; E# I {
( q1 G8 ~0 ]/ d if(debug)% b6 K2 O: }+ c7 m
{
! m% M9 W, P4 b/ o# Q9 V* e4 N alert("remove invisiable!");
3 u0 J6 j6 N3 p8 H2 W/ H/ X1 s }0 R6 e5 B1 |- ~0 b
node.parentNode.removeChild(node);
2 F, J# Y$ m+ S- O * G" G+ s- T7 D% v/ Z, l( @
}
- F# I6 ^/ V: T* t) i else " M3 e8 j" F% q; J B- X- X$ R7 \0 [
{: Q" n! V2 ?# o6 Q
if(node.parentNode)
* w& m' o' z& K6 c {$ O' Z: o, G9 d9 K/ C& @
var orgNode=node;
) m2 g2 B% ^9 L8 Q& @# B var orgColor=this.getobjstyle(orgNode,"color")
: X" w) w6 {. f% h! `. u var orgRGB=getRGB(orgColor); 0 X; R- t8 k) L$ @ O1 D. O
# n. w. |$ T1 I+ i var parentNode=node.parentNode
/ r1 b0 G/ `+ W% d3 u2 X var parentBgColor=this.getobjstyle(parentNode,"background-color");/ c( x+ F! b+ M0 J
+ t- k2 h O# @8 r9 z) X var isLast=false;2 \) j. h# B# F s/ H/ \, _ [
8 @5 R2 Z, S/ M7 t6 n while(parentBgColor == "transparent") ' T' l8 q/ J" w# B9 U! B
{; K$ N6 y& B: z1 T
5 i0 i5 G# Q! B* Z
$ v' ~4 ]- U/ `/ F if(parentNode.parentNode == null)3 D4 {& K% H4 f# ?
{
) b; q" S/ n4 j4 {' B9 G4 |, s @& o isLast=true;
" f& S8 V! z5 ~# d6 `. y- _ break;, {3 m/ I, S* t7 Y0 f( F" ?
}
1 c& }8 r, L8 M+ G- O/ l; g parentNode=parentNode.parentNode;
( B9 v8 v) ]4 H) |! F9 j6 @ parentBgColor=this.getobjstyle(parentNode,"background-color");
, U l$ z( ~, i* T3 H8 w! R; d S% D1 y6 D _. |$ I
if(parentBgColor != "transparent")
) u2 C& {( O9 D1 R. f$ B2 K4 U {* A/ a3 |" c7 `* z
break;
: u# L0 D" l+ o# f1 G }
( E) M \$ @9 i/ l1 Z9 h5 Q9 S) h }# v9 g$ W0 ` v' m( P) u
if(isLast)
% k& E L2 U2 @4 }0 v; C& F {
, h+ x. z( j, }& \# u7 a if(debug)
; ^' @6 y0 u; j# G. P {' k7 ~! _5 C4 f' G# @' ^; t; `
alert("last!!");
) {% I4 k" t- v- G/ | }7 A2 f1 ]; c, y, Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% o- Z1 t$ B; k( }0 @9 B8 Q: J2 n { H6 L( B. `( G: s- E% {
orgNode.parentNode.removeChild(orgNode); ( C* u& v; h& H X1 n: t: y1 I
}" O. X" M7 d! J. i
}: P) g: W+ A' c. j y: P
else
/ {; U. r3 t9 ?% a7 H" @ {
: t% L: n, N/ P! V) K& } if(debug)
& G0 ^& v9 i. S1 ~ X. u% L' b- X {
- r* Y/ c! b+ q: U/ l# B/ X alert("compare color and parent bgcolor!");
6 ^* @# G; c6 t$ w# | }
. ~$ c6 w$ D8 }4 {! _+ _( V parentBgRGB=getRGB(parentBgColor);* H; e8 E; d( v" h1 T( R5 W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ R7 `* P1 h I* v' A* Y, g
{
- p/ T4 P. [# H: Q+ z orgNode.parentNode.removeChild(orgNode);
8 j9 i8 m" U2 h }2 y$ I3 ~7 |: P4 Q3 M: K7 ~
}$ M7 F/ i7 h, l3 j7 L
}4 p6 j7 c; G( [
}
0 ^5 W7 i+ [$ d) V }
# m P# T7 H% Y0 [. n$ @# k2 \ }6 T7 n6 b% v4 U: M |6 E9 z) X- P
3 }: r0 m+ C8 U- ^
; e- G4 X$ G- }8 i var itemFrames = page.getElementsByTagName("frame");
: k9 w2 Y( m' B, a var itemiFrames = page.getElementsByTagName("iframe");
) x5 T" U% l. e5 ]( J
# E4 T: @6 f w8 u var frame, iframe;" ~" X6 [2 F" k9 `' @. [ p
if (itemFrames.length > 0)7 J' N% p7 T$ F) \" m
{
_( M( ^' |, {- C% x9 i# ` for (var i = 0 ; i< itemFrames.length ; i++) % @9 I$ S" [" ^# j
{* i! }2 c4 _1 \" t5 b, X1 ]
frame = itemFrames.contentDocument;' D& t1 I3 s) @" O$ S3 J+ H
this.RemoveHide(frame,objname);
& c. `7 N& a9 L9 O5 @' e) Q: ` }
( O) A. W# k& c5 y }% ?! o3 U j; f1 ~
if (itemiFrames.length > 0)
! ?4 x, a3 [9 P; p4 c2 `3 T {$ [1 f. C. o8 f0 j2 Q) ?( I {+ F3 d8 E
for (var i = 0 ; i < itemiFrames.length ; i++)
9 l4 x K8 j; _+ i5 f {5 g Z: q3 F; s# [1 O* c( c
iframe = itemiFrames.contentDocument;' h) p7 O; K! G4 x3 m# v: U: }% T
this.RemoveHide(iframe,objname); ( L4 e g: N6 G& r( }
}
6 z2 U1 {2 h: b }/ e. q" U! z9 L- k
} F8 d# K- ^ X+ L: A2 i, K
catch(e)/ e7 [* v) b# `9 \' n- h1 |- h$ E
{4 c% W2 H$ m/ f- j
if(debug)# q; }: {3 Q5 I$ Q: s
{
7 k' c. p( ^! K0 C1 g) b alert(e.message);$ T: M2 t' ]8 b
}6 Q# t' m |% j3 t
}1 O' @! _* f+ S% O4 F7 i$ k0 l
}
4 M2 L8 Y# f* t4 f' j
( e; K. ]! P9 _}. Q/ I) [& ]$ P+ f% P) W
, N1 L/ q& l; N# |, A; ^; }
function getRGB(colorString)
U" E2 e* ^4 c{8 n. H( Y0 T9 w0 S
var RGB = new Array;
; W$ E2 D% o$ R! g5 s: e3 u: y var tempSting=colorString.substring(4,colorString.length-1);. Y2 `' u; l; f! z2 I- O
var tempArray=tempSting.split(",");
0 X( x! n' W. k9 l. h0 S y5 X3 y! y
RGB[0]=parseInt(tempArray[0]);
' X/ x. w4 B7 D. @ RGB[1]=parseInt(tempArray[1]);
$ Q9 v! y3 b' k6 ?: V% T% ` RGB[2]=parseInt(tempArray[2]);
E! z5 L3 I D' W& O9 _0 o
9 T7 k( t- l6 ?7 ~ return RGB;
8 k. F" Z- m( _* B' G}
8 |$ B5 o" p. e5 v, b2 K3 Nfunction keys(evt)
" y; n6 f* p" T# L- c { 7 }, c' Y' I: D) _
if(evt.ctrlKey && evt.keyCode=="81")
. U. B' n; H1 O9 W! Q" y O8 n1 T { ) ?2 Y" @4 F9 S( h( H- \! o/ d) @
CleanHideObj.on(0,1);
' F* Q8 E+ U) ]7 B4 l6 y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / B2 {% B5 N1 b
2 |# a/ Q7 P" g } ; R( _& O7 c8 q7 T! O8 T- X' }
} $ X- p9 m* P! e$ I( z+ ?( ^. Q- b4 p
document.addEventListener('keydown', keys, false); & e. b `$ F: c4 O8 |$ y
GM_registerMenuCommand ('Clean Hide',
5 l$ q7 T0 e$ R* S$ kfunction(e){9 M. {/ m2 E2 r# v [
CleanHideObj.on(0,1); B% o1 s# F8 s; P& m9 }; j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 C' H4 e9 O" W5 o: y; _: V/ L* @
});
! a# c1 V& X8 K |
评分
-
查看全部评分
|