|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: D8 m0 {7 W5 t z9 d. J8 K& q1 h2 w* ^
火狐插件,用猴子7 O0 d1 ^: x9 u% P
2 _! w/ u: |" ~ Kvar debug=false; . x) W( S4 @7 f ^3 D" B
var CleanHideObj=new CleanHideClass();
' J' G- v' c/ \) d9 W6 W$ l# Z+ m) T7 ~- m
function CleanHideClass()
$ W+ b R2 w. M$ J% j3 ?1 }) ^4 H{ & F; z8 N3 D; t$ P* U& A8 y. y
( M! p+ C, y+ w2 W; L6 o9 ?$ _
this.on=function(id,bMZ)
; y( ]7 b: ^( L" M; u0 V" m {9 `6 S9 w* M( e, p: |) b
0 W3 D: D* V; N0 ^
if(id == 0)
3 }9 c* j0 K) A( P0 S l" V {- y) q. ]2 t# ]3 i9 J
var page=/* document.getElementById("content").contentDocument */document;
* V; N# y w. j: `( C2 g1 C" K! b this.RemoveHide(page,"span");, z+ T( a( z) A/ n! }" G3 \" G
this.RemoveHide(page,"font");8 f* ] H4 r! ~) p) @" c
this.RemoveHide(page,"div");7 _5 Q3 k3 @1 G5 b) `, {
this.RemoveHide(page,"p");
- _: e3 N7 c1 t0 Z* ^9 L & k2 E: K# V. e/ s( O: } C. w) L; W
}
8 M* Z3 G1 O5 S% _& H 2 Y1 p- j, j( D3 f6 v/ G8 v
}( F$ N5 P6 {1 ^' ~' l4 |
this.getobjstyle=function(node,prop)
9 T& A, Z8 [( y/ ~7 A7 D+ V {8 g$ u8 n* a' J7 B5 ^6 g& h
try3 N" x2 f( n$ `# t& C4 y/ m# p7 Y
{9 \9 Y' H$ ~5 C1 F
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 m& C; U$ [+ ?% C }
. }6 o9 N- _: A0 d catch(e)0 c k8 }9 ^$ p% B9 t
{
8 h- P6 q: X; B# R if(debug)
* t4 a) ~& k8 P/ E( ~9 s# V {" P f/ r. v* U, V; l
alert(e.message);
2 q1 S7 Y1 v6 l8 \) K- M9 l0 y- a }
$ d o8 W' |* L/ }- E 1 D# |' X! B. j9 n s! o6 B, T
return "200";5 @9 b' y6 Y2 C( r: ~7 S
}; X$ O0 _7 v4 X8 ^6 m5 j- l. b
}0 ~2 ]' d" `' P) d; i
% ~" F" n9 M3 S& G8 B3 D this.RemoveHide=function(page,objname)
- H( G3 e0 I2 ]2 T5 k8 l) x N {
. t' Q. ], @( K- m6 K. t3 M try
- G, Q# s2 S/ u4 ? {! ~8 g* a8 Y: u" v7 d; Y
var minValue=15;
" L3 Q3 J% d, o$ o/ u+ G9 t var objs=page.getElementsByTagName(objname); 5 O. y7 S1 ^ Z1 A
; L5 l ^' D. ^/ v) K# v7 ] if(objs.length == 0) 7 z6 F; x2 e0 s9 ~; S
{' S& d/ F D+ x" O. d; P
if(debug)* r) x6 W3 I* P8 h
{
0 b7 h, s+ h/ f: w$ D alert("no object found!:"+objname);
" V& U( r; ?1 g7 n }6 c: u) R8 q! e8 X
}9 D" Z7 y) v1 i; G; t
else9 S, X, [) ^* E* m' x5 i5 S* i
{& K5 K- N p8 K' n
- T' W8 k! \4 i- C- G; p for(var i=objs.length-1;i>=0;i--)
C7 H H4 _5 p8 ]3 E {
% K% i0 p( [0 b# v1 c$ {0 L var node=objs.item(i); ' F8 y. L9 q: Q! h: q
8 u- x8 Q% y- ]
6 ?3 q$ @* r2 B6 L3 P4 _ if(this.getobjstyle(node,"display") == "none" ||
3 Y9 t# `9 o- R# J+ u4 |: { this.getobjstyle(node,"visibility") =="hidden" ||2 D, b. ^$ U% S. c, r
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 U; D. ?7 S0 j0 `' k8 s
{: H0 E, U; _8 u. D8 j; N; Y% O! S
if(debug)+ i6 x, s4 ]* l- X$ }' P! b
{0 q; G+ x! Y6 y7 `% @7 v. i
alert("remove invisiable!");
0 r5 D- Y- w/ g' t6 q& c- e }- m; _- o5 {* k9 ~' ?# O5 K; m
node.parentNode.removeChild(node);
" Z& M6 b9 C2 q7 X3 u. W
9 N9 [0 T. u& [( K! s. u) s } e. h5 D4 a* ~$ A. e
else
# D' p$ [ o6 a4 @9 w& j { E' Z" [- B6 Z) n6 c. W
if(node.parentNode)
4 N6 x& c2 O; ?5 z) Q% P {- g+ L# Z& ~. I5 Q- O) k
var orgNode=node;
3 _& b- K2 q4 B) }% y var orgColor=this.getobjstyle(orgNode,"color")
0 K2 [! ^9 r3 {0 O var orgRGB=getRGB(orgColor); 1 I3 F: Y+ R$ ~, ] a3 X6 \
* s# \: o" [1 m ]! v
var parentNode=node.parentNode
6 x0 n) G3 f% g$ g var parentBgColor=this.getobjstyle(parentNode,"background-color");
' v1 D! i0 v' W/ V. P1 X
3 n0 I& ^, l$ C/ ~" u: g/ U var isLast=false;) j! y& n" E! l) S/ D* N
9 l6 k2 G: |* [( i1 | while(parentBgColor == "transparent")
. X' e8 K) ?2 T. L& l4 r {
! W, v6 v; n# {- d [- N2 s: y2 T " O5 k9 t0 d8 \, d. {1 H
# y0 i' A8 \7 F. n# n( ?( t6 ` k if(parentNode.parentNode == null)1 b" p2 o3 S t( F
{
- `7 I: ~: G/ p- a. P# [1 x isLast=true;. ^2 q9 o- s% i1 o
break;
8 _ f8 N+ _4 _0 U5 ~5 J }
! }, G/ o \2 Y" G! ~& W6 g parentNode=parentNode.parentNode;& o Q. r. V- q
parentBgColor=this.getobjstyle(parentNode,"background-color");
( Z: [; [ K. M: C1 v# D9 ]
0 j6 g0 h4 F: ?( |, p if(parentBgColor != "transparent") % C' ?/ i+ j4 y. J2 s) S. r
{; B, K0 [( i0 P( w3 ]
break;4 s P; ^: C2 G7 O
}
7 E. S( {7 t, B, s. w }8 J1 U6 }4 T( i- s' N( Q
if(isLast) 4 Q5 m. K$ P, V6 Z: q5 S% Y8 c J [
{
* M$ g4 s& P8 p; T- M if(debug)$ H; t0 n: ]4 f% A0 g* `
{
4 M% n Y5 R/ T- P" t9 v8 D& _ alert("last!!");
8 G8 G% s" [/ H6 I1 w1 @ }5 Z0 A$ J5 M! H4 c$ z1 n9 A" c
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): o9 j% j4 \& g. C) p& d
{
# U" J+ H4 D8 R orgNode.parentNode.removeChild(orgNode);
4 a+ w% v3 u! `* H) W8 ` }
) h. _; ?! h- t& j+ H4 a$ N+ } }+ Z5 Y0 ?! q g( F' J# [0 G$ h% }
else
0 Q4 o( e0 V/ _! K {
" i6 e: h. A% M3 h if(debug)* {0 o, |. c4 @' {) e
{
% N/ v: @; J5 ~6 @9 Z alert("compare color and parent bgcolor!");' D( K) Q+ b! @2 \2 ^ B
}
* E5 w. H' C* d8 \ parentBgRGB=getRGB(parentBgColor);& X1 f. L- T" v- P6 [, [9 R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' H4 Q( d: B! b/ \1 Q# d3 |
{3 J+ C; Z, ^; m- `6 ]& Y. W
orgNode.parentNode.removeChild(orgNode);
' J5 k2 `6 i y }/ m# R+ e7 X& [" F8 R! ?* q! n
}
1 S9 m U2 S& r, I' A4 b& A }8 t! B/ G& ]' S; F
}; O( ~* W4 m$ \, j) ]# d7 Z4 D
}
I" C4 U( C, U4 x7 v6 T" Q }5 u' p( Y) }! N# h$ `
3 x+ ~2 m2 X9 Q6 u( Z
% X$ Z8 m- p' B var itemFrames = page.getElementsByTagName("frame");
2 }; ~# a& g q5 Y, \) i var itemiFrames = page.getElementsByTagName("iframe");
1 z6 L& K/ T8 i1 w7 W
7 y5 y$ F* `8 b$ s; n% T var frame, iframe;6 U) G# d$ n* V4 a7 I
if (itemFrames.length > 0), m* `) n/ g& \/ k, g
{6 n8 _% } ^& ?
for (var i = 0 ; i< itemFrames.length ; i++) ) r0 c, T0 V/ i$ [( F
{
* l5 q1 B5 q) p5 Z* L( D; x$ b frame = itemFrames.contentDocument;
; r* A# _+ [7 \9 v) h- ~- \( H$ j this.RemoveHide(frame,objname);
. v& D$ w \2 G# W9 r }$ }( H3 S" M% T# a& Z
}5 F/ K2 S4 y. P& V" ~
if (itemiFrames.length > 0)! X+ ^; i1 g4 f, O4 K2 {2 I0 E
{( Z1 C$ w9 M/ L& d `8 ^. D6 }
for (var i = 0 ; i < itemiFrames.length ; i++) 5 a8 |- f1 Y9 C1 S/ \7 D
{
- ^2 D B. V3 E' p iframe = itemiFrames.contentDocument;
5 ~6 y7 D; C- C6 J' J3 F; k; J this.RemoveHide(iframe,objname); , m- g* ` ]& {
}
( b- P0 A0 P5 C+ @ }' g+ c" o! f; o$ Z$ ~. a; g* v- l" c
}
2 H+ f& h6 X4 W catch(e): ^. W+ F8 K) V/ a: ]
{
3 \' J! M, ]+ _1 P if(debug)# f5 ~( |9 l- T/ \9 D, [
{9 u/ p! P+ c0 B! U
alert(e.message);
/ I8 z+ V/ C7 B- |* I" e }
& {( A1 r/ F" O, h8 X }
0 Y7 \0 Z: _4 h0 X: ^ }) P g' B/ w7 i# ^8 T- A( u3 u
( _0 k5 N, ?- M0 V, a
}/ g0 S/ z5 Z* ^* F
% p+ f5 i( q5 Q8 R& H% r
function getRGB(colorString)
; ]: j9 F" g9 r7 T" O0 T" e7 ~{
~& F" k4 h; r2 [. J: ~ var RGB = new Array;2 J* c8 C& X9 [0 D) v3 r
var tempSting=colorString.substring(4,colorString.length-1);, |+ a, o3 ]/ g$ Q4 U- _0 m* p/ W5 ]
var tempArray=tempSting.split(",");
) y; @; k3 x) g5 K- M6 F$ T. Y8 ]- |/ p4 A, n2 `
RGB[0]=parseInt(tempArray[0]);3 D0 m; @& D2 T6 N3 D* {& _
RGB[1]=parseInt(tempArray[1]);
4 O" ^/ o- T$ _7 S( u1 d7 t RGB[2]=parseInt(tempArray[2]);7 @ ~& I- k0 x0 { p/ r# u* ~: e+ x
3 n/ R) A; a2 V( d E- ~" ~
return RGB;
, W8 P! F) M7 O, v/ v" Z. N& b}
: M+ t+ H0 R6 N% K* k$ Ffunction keys(evt) ; M6 u H0 j9 K, Y; Z& |( C4 o" d
{
' [2 a3 b- C7 B; q* r* @: s; L9 c if(evt.ctrlKey && evt.keyCode=="81") 6 q- g, T. h# S! h% c w/ {5 f
{
+ r/ E- |* M4 c CleanHideObj.on(0,1);% V& n( f- h$ _( a( A4 Y, a# M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 l, m( F) }, `1 I! n% N0 r
4 ^# V* n' O! O. O( s: W5 Z } " X( V; a2 p. a
} . n/ {; t# ^; A! Q3 U& x
document.addEventListener('keydown', keys, false); & V5 t. B! s7 u- C3 y
GM_registerMenuCommand ('Clean Hide',
' w* U+ x [6 _- z* f, L* F8 w/ Ifunction(e){
# t3 V0 @: E+ B" v o/ |CleanHideObj.on(0,1)
8 `( o! s' `" O# v; Yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 A* X; ~# _& `# S" m& t( K});: L1 A' {; E8 O) x' C1 c1 L4 n
|
评分
-
查看全部评分
|