|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : ?, j" k6 u$ Q) m5 W/ x1 S- G
9 ]5 w9 [( Q' L) |. ]& |. M火狐插件,用猴子
. K: u/ V3 n/ c2 F
: ? A' R' ?. n" p" R0 @9 k8 avar debug=false;
$ `8 Z$ \+ t; @var CleanHideObj=new CleanHideClass();
+ M! W& `+ P( ]/ Q4 V; e
6 ?8 a x9 X7 T4 Z" sfunction CleanHideClass() ' i5 Z1 G$ G0 Z9 M
{
: U& T) B( p0 W/ U- y% x 5 S4 G- `, ^7 q) I. D
this.on=function(id,bMZ)% f' k, y4 R1 O/ t" A
{
1 j4 V2 W( o7 @8 ]7 o) M
# I; B' f# |9 s, K9 T if(id == 0)
) @9 D) i( j) `+ x1 @) R& N( @" t1 O {
/ X7 w- {9 R0 h; Q( h4 L" v2 u) y var page=/* document.getElementById("content").contentDocument */document;
[) B- \! n- E! h0 B this.RemoveHide(page,"span");
" ?: L( H2 U3 f- M: z8 X$ B D& } this.RemoveHide(page,"font");+ a \ V, [# B* u |
this.RemoveHide(page,"div");
7 c3 q/ n! N2 r9 W4 C7 y( H/ A this.RemoveHide(page,"p");
- [' I* y( s. b3 a
0 u. }- m+ I( M }; {2 x6 f% o, O J( i: |
. X8 Z4 t2 Y0 f1 l9 l# ]
}
2 m& g2 O9 R X" P this.getobjstyle=function(node,prop)
* X& o/ R8 J, E" g9 ` {
8 \5 c8 E1 [0 h- V& q+ k6 L' _ try2 }# Y9 h3 ~/ f- n- x3 j5 O6 l
{
5 L0 F. ~- d9 ?; F1 V* r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. h" t w% Z2 B7 f( ^' X4 O7 \7 B4 q
}; P8 {. c* @/ p" A) `$ p
catch(e)/ A0 V) \ X" F% e
{$ @$ Z9 L. ^2 S" U+ H: T6 W T
if(debug)
* ]1 F- w7 q' `* _: u* e1 x. u {
' Q- D) _1 a- y5 ]* y alert(e.message);9 `) q7 k+ e+ T. r
}0 M: H7 O7 s+ T7 K
/ o Y+ H6 E$ {8 ~6 u d: n return "200";6 L* H% g$ _5 F& R) i# M) z% }
}5 |. |* @1 G9 d) b* g
}' F5 [9 r$ N6 ? {
! _+ p' Q& O; e0 U
this.RemoveHide=function(page,objname)
; T" ^+ M `9 e! U {
2 F* d4 t( P ?2 K q( [, H try( u6 c2 S: C1 K: D7 h& A
{
l% _8 m5 L; G; C( D var minValue=15;1 x) V" [ K! R6 Y2 L( l4 x+ w, d" G5 k
var objs=page.getElementsByTagName(objname);
! [) d& J3 O) Z$ b1 o6 O; o' a/ c' o( q- a
7 U! t! j8 a6 ?0 Y if(objs.length == 0)
4 o9 c7 `/ ~3 ]6 U5 s {
! ^3 @2 B: ]8 T9 O! t }, I& V if(debug)! U `4 Z- q% M& J
{
' G" Y+ V( g( ~# V$ s6 _" Q( N! z alert("no object found!:"+objname);5 u) I3 Y" M4 S x& C* e
}/ [! E2 e8 h* a+ G: Y N% Q
} ~% y0 Y# j( c5 e
else
& v" I' K/ n. Y( o {& t* T$ J, t$ f1 O% ^) z) n
: K8 l, N: L7 p6 M
for(var i=objs.length-1;i>=0;i--) ; `+ h/ h1 A$ _4 A
{
' _+ U$ g3 P! \. f var node=objs.item(i);
( x8 D1 w( H) d h& d! P 8 j- `0 x' c1 \" s9 y; Q+ }1 E' |
/ X& ]# d$ D; p: G if(this.getobjstyle(node,"display") == "none" ||
$ Z1 E4 v" |' F" s% E this.getobjstyle(node,"visibility") =="hidden" ||8 A8 r* w7 C8 U& v: T
parseInt(this.getobjstyle(node,"font-size")) == 0)
v$ w0 O% q8 O, s, U+ X {
' _, k5 ~' j' U8 [" \ if(debug)
$ F6 G M. S! v {
4 R% a F& ?. {6 _. @) N P alert("remove invisiable!");" i4 \ k' k1 [; O) g
}
7 D: w9 I7 N; u/ w) e0 [4 j% p* i node.parentNode.removeChild(node);* h' j; k* m! s# i) h, l
) H. z7 ~( `9 \7 B1 F/ s/ \ }( V0 @0 h( {. m/ s! c, R, a# F, r
else
' _, o' z% h5 S5 ]1 w4 ? {+ c5 A/ t: a* D H- c3 D
if(node.parentNode)
4 J( m: W& [2 \& n {, S! B' V' d+ h) r. ?; T9 k
var orgNode=node;3 o& d( z( `) P- B
var orgColor=this.getobjstyle(orgNode,"color")
u3 ]' V3 z' l var orgRGB=getRGB(orgColor); 8 Z3 L+ n/ G+ U! D# Y) W$ Z
, y- d4 y2 U5 ]$ q& g9 W& a
var parentNode=node.parentNode2 q* X1 T0 z& q+ }, F- ~7 L4 o9 j
var parentBgColor=this.getobjstyle(parentNode,"background-color");# ]2 g6 }: v% H5 d/ } @; h
9 ?3 V( Z! b/ W
var isLast=false;
* t3 E" W! ]0 b" Y& c 5 N6 k! E- l# O- E; A. P2 ?2 Z
while(parentBgColor == "transparent") 6 a2 U8 \+ }9 o/ r! @ R( ]2 A
{. s! B$ q8 F J
6 w1 x+ D* o! Y( U
% @% b" W. K! w: r1 E; L if(parentNode.parentNode == null)% P) t; p; {. H Y
{
' n# F( o' L- r" r) g0 J3 F isLast=true;0 H: P6 Q! r9 k' Z1 x7 V5 Q
break;
9 q. \, L6 H+ w }
; A q$ p. b/ ?. E9 _' I8 H parentNode=parentNode.parentNode;
, K- V3 v7 d/ E; s' T: j4 M4 L parentBgColor=this.getobjstyle(parentNode,"background-color");" d) E" Y: y% }$ }1 J
1 G7 w6 \' ^0 F
if(parentBgColor != "transparent") 0 i: x! p' j& J+ y$ V/ f
{
2 \% W4 F0 n. n break;
' K& i0 L3 F' M+ U! q4 {3 U. c- r }1 A6 z6 K& q, `5 P" X
}
, m: e& ]. z) m3 W, F, V3 Y if(isLast)
. U( ?# X2 e) L2 e( z {
: Z. r( U6 S, p" } if(debug)8 g7 R" J' e6 L1 Z* ~! q. q
{' n" @6 y7 V7 |1 p7 \
alert("last!!");
6 T0 A/ D$ O- D; S }
+ H/ {& y, }& [3 K% a" N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 C8 Y) m2 U) l) D E$ d
{+ r; F1 _' w, O
orgNode.parentNode.removeChild(orgNode); + U0 ^7 r1 ^ ], V, O
}8 \+ M+ \. V/ K" B
}
$ G1 S+ _5 `; J$ @5 s else3 a/ R! P/ M! @) ^1 u" d+ X
{
" ~+ L# }6 \5 x9 g" p if(debug)* Z ]5 l. r2 [- b: A! W. |7 T- S
{( ]: p: w1 Y6 _) r+ W8 ~
alert("compare color and parent bgcolor!");
) x2 ^, ]* z; _* ~% s8 h7 I }
; k& E- A" i3 G, S" I parentBgRGB=getRGB(parentBgColor);
# M. \- q" `8 l if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. z- [& G9 j w8 x( } {
4 g1 x/ H A9 v, E: h# u$ x6 Z orgNode.parentNode.removeChild(orgNode); , Y/ B2 C" c' T& H! |( x
}+ F- B8 `8 y' g3 w5 ~8 O
}
6 Q. K' w& [1 n7 f- l: N" A }$ P, C; a2 \/ [4 y/ f
}, U/ R) H; s! Z0 l' T+ y$ Q5 f* F! J
}0 {1 u4 U3 U& i- A6 A$ K
}7 O4 s: Q, R+ j) \; f9 u
a1 _- A& J- |! t- H , D; M( H) Q1 G: \, P$ p. V
var itemFrames = page.getElementsByTagName("frame");
8 S' s# | }6 s var itemiFrames = page.getElementsByTagName("iframe");
- D; r0 K$ r1 r- ^* | * m( Q& V, p" G6 A9 l4 F8 v
var frame, iframe;
# I1 t$ j' o9 j2 s3 a if (itemFrames.length > 0)! _; L R* T: R: [* y( @
{; c0 r( e% ?, Q, w
for (var i = 0 ; i< itemFrames.length ; i++)
1 x$ J$ Z# O$ ^. x/ m- U& g {) S' t* m% J8 @: q
frame = itemFrames.contentDocument;
5 W% P: n& u, b+ Y" U this.RemoveHide(frame,objname); 4 Q- a' ?9 W0 c2 k% F
}/ w; P b6 q0 s3 i
}" _ v1 ~9 Y% L$ X/ q, q, M
if (itemiFrames.length > 0)3 H5 M9 W" z1 I* Y
{
# S/ D0 X9 _! n r$ l e/ j M( p for (var i = 0 ; i < itemiFrames.length ; i++) ; W# \, I6 v, u; c$ ^% A9 @
{
6 Y3 Y( Z3 b3 v' @% V+ M iframe = itemiFrames.contentDocument;4 P' V. O- i0 K; ^0 q
this.RemoveHide(iframe,objname);
$ [( y, ]& Z/ M1 } }
- N4 A2 p9 f) P5 y I* |- Z+ L }8 k8 y0 F# ^6 r) ?2 F
}) D( ?4 e0 r" f2 \" U! }' T8 Q- Y7 ?
catch(e)
8 p, K4 e7 D$ h- T6 \ {$ f# o. v! g- L( B
if(debug)
! ]3 Z h7 j* B, r! d( L( o: {' D {; Q( |) c" i2 o3 u$ M
alert(e.message);
$ j, K, F& f' K0 a }& R5 i% X) Y& D
}8 D' X" T$ j# `6 [3 j$ o
}
% _2 h" X2 e$ `( V( X# J0 b
2 w, q. g/ h7 V( l3 W# |( W}
* R" n: ]5 \* c: u# [& m/ [7 X, { g. O `* z) |7 ^% ?2 q+ d
function getRGB(colorString)( ?. n2 B4 n( _, G. H
{( R \4 y2 M2 a# h. Z
var RGB = new Array;! u9 t, L+ \) ]: Y( e7 K
var tempSting=colorString.substring(4,colorString.length-1);
$ x$ k/ H+ @ u4 _. D! Y var tempArray=tempSting.split(",");) _# w/ T& r9 ]: l; Y3 N" q
, [! B/ S) [& P: V8 z# W7 }# @
RGB[0]=parseInt(tempArray[0]);9 Z: X9 v0 N' i( h0 e5 m
RGB[1]=parseInt(tempArray[1]);/ x! j# D7 O- f9 p
RGB[2]=parseInt(tempArray[2]);
L8 o4 U( @; p/ y8 i) j
% Q9 a j3 l, t! g return RGB;
' m) p4 P$ i% e* Z/ |}
2 P9 U) [' _8 g$ i0 v @0 r+ \function keys(evt)
& m5 _( e* S, b4 _ {
: t4 ?; Q+ A( L6 s ?3 A" J+ t if(evt.ctrlKey && evt.keyCode=="81")
) b. o5 _9 E. \$ k( Q {
+ ^/ u5 Y8 s, x- g, X2 ~& z CleanHideObj.on(0,1);
7 x# w) Y& w4 s3 f0 l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % [' j0 n$ B& A7 J) ]' ~; \2 Y/ v
- c2 t1 q0 ~* H4 O& v7 {) ?" {
}
7 I/ z. y D* L } 0 z- N; i% M2 N& s6 d" N. N! G# V
document.addEventListener('keydown', keys, false); 7 t% S2 W6 `2 k/ j
GM_registerMenuCommand ('Clean Hide',
, O" D- [. U' h* D( v3 U" v2 mfunction(e){
9 V6 j6 t! X! M1 S& PCleanHideObj.on(0,1)
- t9 h6 z' `5 e- galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- F5 D( v* e7 D5 V+ I( M% |
});/ Q( Y) p0 t- v% a: _4 i5 r
|
评分
-
查看全部评分
|