|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 n, c n9 c2 `$ [) M
' i6 w# I1 y- ]* c6 f火狐插件,用猴子
/ c6 W \8 y& d) Y5 P" Z0 O, u# ^; \: ~+ a/ ?+ O9 |9 a
var debug=false;
; T: E8 S# h( R, hvar CleanHideObj=new CleanHideClass();
2 S6 [- s9 y+ g7 `, y* ?5 n v' ~$ r; q& z0 o8 D
function CleanHideClass()
$ @# J. _% y8 D{ ; o! C& h6 t- k. @: q+ Q
9 K- z3 ?0 a8 ?" F6 O
this.on=function(id,bMZ)* S- C0 D; N" }# `& [" |3 X
{( ]! [! k2 V. J& M6 d4 W& p$ H) a
# F$ D5 ~6 ?. K/ `: W
if(id == 0)
( h1 ^4 `8 [; g5 E {
; M9 j; y6 K3 o% C8 u; ?0 { var page=/* document.getElementById("content").contentDocument */document;
; s) z6 N4 q: U; w4 L this.RemoveHide(page,"span");
/ E; l4 e% `5 u `# Z this.RemoveHide(page,"font");
) ^' d: H- w9 [! D+ U this.RemoveHide(page,"div");, P9 k0 G6 W; ^' Q: Z/ h
this.RemoveHide(page,"p");
5 `- y. U# J+ r& a3 I/ g
0 J8 ~- _9 v! S b" ~- C- b8 R }
5 R: o% v8 ?; g( D+ r' o ) B8 C9 ~- y2 j, g
}
: N7 `: Q0 |2 B" A& _( y this.getobjstyle=function(node,prop)4 v$ f* m! r4 o: j7 Z# J/ l7 ^
{
8 e) j5 ?) [" G/ A" K2 r/ [/ r try, ]! K+ o# e1 s$ @4 e ~) Q8 ^# ?
{4 r1 L9 \$ z$ x5 e( ~$ L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& j0 m) i3 B8 a8 j( j
}
. e! h7 z8 R0 N0 k, c catch(e)
# I9 L8 c* f8 j6 R* ` {% _/ C* g3 r2 m# Q
if(debug)& u3 q8 z2 X7 s! ^
{! ~* z; |' n$ ]4 h" j& ~6 s n
alert(e.message);! R r0 }/ B5 O$ P2 Y! ~6 q* Q" t
}: g l8 D7 c3 u: Q3 T
6 q6 `0 n+ b0 s/ V$ S
return "200";
" o7 G) x1 c7 k }
) n& g3 C4 m; s% @5 M }6 @$ Q- e* N3 o& K1 ~% q
# G4 `4 m6 S% T. n( ~0 w
this.RemoveHide=function(page,objname)& F7 X. D3 Z. l* M
{
, c4 `7 _! C7 l( W& `" W0 P, w try8 ], \. e3 w( D- G V: G! g
{
& a: p# S& y+ ~6 A+ h" E# S g4 `: L var minValue=15;
! B" Y: b, |9 ]( R6 A% l8 z- `8 ? var objs=page.getElementsByTagName(objname); / E7 a4 Q |6 w5 e' `
- y) H& I6 B* @9 k& G. Y
if(objs.length == 0)
; |4 p6 _ t2 D4 y {
. A+ Z& i, Y0 T- l if(debug)% j- H+ e x: f# y% }; O& b" G9 K
{5 L: }2 C$ ]% Z* a/ ]
alert("no object found!:"+objname);" d. l3 `" [* J4 E/ v$ L
}
E6 t- n+ a$ @3 p0 ^ }
! t" c+ F; V6 C( b. i9 i else
2 m& ]! x% D: A- U {
7 s; ^ r- G: b' }
9 b6 h9 h4 q8 W5 | \ for(var i=objs.length-1;i>=0;i--) # {7 R% r% q& {5 |3 q) O4 d
{
, S8 a4 w" J% U6 l var node=objs.item(i); 5 g# o2 l3 C# |0 [- y/ z
$ {2 l2 o) p- i4 {9 W
9 k( e% ^0 ?% G2 u3 Z4 r if(this.getobjstyle(node,"display") == "none" ||
! |, h7 D4 N. ^! Z U this.getobjstyle(node,"visibility") =="hidden" ||1 O: {0 c; ] @. i# E* j; W
parseInt(this.getobjstyle(node,"font-size")) == 0) , b4 B) a) a2 |4 G8 f' Q0 K
{. V' ^; `8 k% H7 O
if(debug)0 G. T9 v# I0 @; V" l# \5 ?
{
( f& o9 A# s4 x8 e3 S% Q9 X- d alert("remove invisiable!");. P/ E2 {! f5 }% G
}
5 V2 x$ V0 ], |& y node.parentNode.removeChild(node);2 {+ k7 r7 \/ V7 F5 p) w
1 g6 h4 I# [, y* j- e }
: d2 o' z! U' Q; v7 n else ) o' |- d8 Q* ^& U
{% U6 v! X9 }9 x. C; L
if(node.parentNode) : q3 M7 V/ F0 G J( m* ] i
{
5 V( H0 _. { M# K# M3 b- S var orgNode=node;9 R+ I# w! h! t; c G: f
var orgColor=this.getobjstyle(orgNode,"color")
% A4 X; b( `0 Q& z* x! a1 V3 R4 \ var orgRGB=getRGB(orgColor); ) c F- Q7 G! _, Q
8 Q" J7 K) J* x+ \6 f, W1 {
var parentNode=node.parentNode9 ~. S8 O1 }+ R% R* B0 A0 K
var parentBgColor=this.getobjstyle(parentNode,"background-color");. P7 @/ F# j# B1 |6 c x. M# C
$ i2 D2 M& a" Z7 j& U" J
var isLast=false;
- Z" Q6 c2 ~* |( A; ?
6 J4 n/ _+ n& w! e while(parentBgColor == "transparent")
% A* u/ s; x" e7 |# L, ~ {
5 b. }/ p0 _9 p+ L# W3 [$ ] a
* X, h( S, m w8 d2 z 8 o! ?' o+ D% c1 j- x
if(parentNode.parentNode == null)% Z Y& T4 s8 k* p9 r; `
{
6 y/ Z& h3 T, N1 C7 w! v isLast=true;
6 ^2 l# M% v* ^3 A4 y1 L$ O break;/ T; t L4 I7 ?7 _
}
U( K- r3 o1 x parentNode=parentNode.parentNode;
' ^: `( T. @% t9 D( o3 i: @3 P parentBgColor=this.getobjstyle(parentNode,"background-color");
7 g: ^7 p6 D8 ~5 { z. @# D5 l5 T
6 ]5 t% T$ p# _3 @ if(parentBgColor != "transparent")
- q. p# S7 L, G% e+ _2 M4 a5 I8 O {
- r4 J: a( Z6 I0 E+ F4 m3 s break;% _7 A9 g- G3 H. ~
} x6 F* E( I F( H" n7 j
}7 W+ j/ Q6 s0 s x1 @
if(isLast) 9 b: ~' D. V8 m* q+ X/ G& ?) I
{ `4 ~. ]# a2 K% n& L7 c. S. t
if(debug)/ d( f7 o& g6 Q5 ~% Z4 Q& s' g1 c. l/ ?
{
0 W4 X4 w% r3 g5 t. Q' T alert("last!!");
" Z* y$ H E5 ?+ G7 d9 Y8 q- C4 z }, a/ P. _. G: @, P4 N: K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). e9 \) H0 _! X3 w9 P2 K
{
1 ?9 ]7 Q4 `4 I2 [ orgNode.parentNode.removeChild(orgNode); # e; p; i. ~+ X
}/ H, Z, w5 K" Y0 d0 ~; O! J; R
}' O1 y. l6 J4 F5 U n
else& ~( \1 j% [5 I: M
{/ d! n# W9 ?& h: v7 p/ E! G% U
if(debug)
+ x A* m3 G6 D) x& r {2 d7 I0 A2 q9 ]& ~$ c0 S. N, K/ z
alert("compare color and parent bgcolor!");
! o I! Z' S8 F x/ ] }
2 ]( T; M/ N- ^& I parentBgRGB=getRGB(parentBgColor);+ z! U& ?, p& T' h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* p5 `( i4 w2 h0 o3 K* v2 w) {
{
. O0 i1 h2 K. G( d4 O. C* v orgNode.parentNode.removeChild(orgNode); / j8 d3 A! E8 p
}" O8 w5 ]- w6 e$ m: I
} j' c8 W& Q2 D6 ?# {
}) y- D! p, }6 F* X. \
}. X( i- a/ F0 p5 e) j% u1 E' m
}( t4 O4 U2 S5 z; R
}
9 y. ~+ R+ n; k! p4 F: ^# P2 C& H ( }- X. w; y& A" d9 T: n! C
8 ?6 M! w5 G B, Y$ z1 f4 ?* G% \ var itemFrames = page.getElementsByTagName("frame");5 J. `, M: F' `
var itemiFrames = page.getElementsByTagName("iframe");
% ?5 ?4 W$ L( E( k" ` ' W0 w0 B. O& c# }3 g6 R
var frame, iframe;. e! s" I6 n. w$ i& r
if (itemFrames.length > 0)
$ X( V1 @3 B0 v* @, c4 I6 E {7 d2 K0 W# I, j( l, m, k
for (var i = 0 ; i< itemFrames.length ; i++) 8 V8 {: h1 a# q2 M5 w
{
6 O1 i3 c w+ L3 M+ h+ m ^" p( F frame = itemFrames.contentDocument;0 ~; Z* z# I. a. {. U/ j
this.RemoveHide(frame,objname);
8 x* r9 F9 Q% l+ W }# P+ E5 x# `* V8 `' {
}
, Z1 _8 }3 w$ r if (itemiFrames.length > 0)
6 p, t& _$ n$ p- m. { {
3 ~* A$ ?% E w( v& Z; y for (var i = 0 ; i < itemiFrames.length ; i++) , t4 S1 {2 f" L9 ], i
{& ^: v0 L% }, o3 ?
iframe = itemiFrames.contentDocument;2 v/ o5 ~6 m! F: C& ?
this.RemoveHide(iframe,objname); 0 ~& @% `4 g" c0 u! D/ k
}3 d: z5 \7 M9 t9 }- @: u
}/ I$ c/ W" S& q7 b
}: q/ V! W2 l6 {2 V( I$ a6 v/ x; p
catch(e)& ~" w0 f( Q$ L: f0 {6 a
{
7 s- g5 S* I9 K" c1 v if(debug)6 C8 N E8 N7 z2 _. q Q7 S
{
* a( V# I# G; K! [4 d+ g7 b alert(e.message);
3 B4 W0 T" p9 |7 N* L* K9 {5 X }
' H% W( _ j: r' v7 q }; n% O( _, d( _, h0 @/ j
}
$ J) L# U6 Y5 x" b$ Z; z: [# V" j
i* Z3 L9 d- b' r}
: p+ e, I$ i8 r& W' H9 e
7 y, R& n, }1 Y- o/ i$ V6 @2 Wfunction getRGB(colorString)$ R- s0 Q5 H6 A) L5 o2 D
{
: A) O: v. l% w" Z var RGB = new Array;
/ }' p% N( y8 h, m& w: j% I; o var tempSting=colorString.substring(4,colorString.length-1);) z/ }* J: @# v
var tempArray=tempSting.split(",");8 j. u+ F. `' @7 E8 Y
# l7 f' [' f; T; j RGB[0]=parseInt(tempArray[0]);/ ?3 y1 |9 \9 Z, ]" P% Q
RGB[1]=parseInt(tempArray[1]);
6 m- M8 {8 Q) v* H2 r4 |, g; J RGB[2]=parseInt(tempArray[2]);1 u: Z0 T: Z6 o% N) m. h
; V/ s4 d* e$ s% P" M8 V+ D# G) m return RGB;
6 \. @% c' S$ l' u3 ]}# M3 k9 s l& X# q9 w& Z
function keys(evt) ) _ `8 F9 ?8 F
{
( ^3 k7 I. N0 ?# d if(evt.ctrlKey && evt.keyCode=="81") , `2 D* M; _- n3 t9 s5 Q9 t
{
- ?/ c* C4 t2 M CleanHideObj.on(0,1);
0 d& ]. b; D, v& X' N% E0 d' `/ u! e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- w. B" D$ S6 d% O " n! h2 N3 b7 T( R* ^9 @* K$ X
} ) I( h; q* Q0 {3 W7 n5 t) N
}
! S/ H3 g6 i0 s+ I/ F) a( Vdocument.addEventListener('keydown', keys, false); . ~$ e1 b9 D; w- J3 s* B
GM_registerMenuCommand ('Clean Hide',
7 _3 o& {5 t# b; bfunction(e){' G% B# q- F: q: G% k6 F$ n
CleanHideObj.on(0,1)$ e/ y$ h( k1 [! j# f# {3 L; `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 V h+ F3 c6 V0 U});
0 h# g- @) r/ }2 Z) s |
评分
-
查看全部评分
|