|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 T; R/ ?. |3 F, R' q/ @5 T7 Z1 Z4 N' Y* k
火狐插件,用猴子/ {! z# J7 C \' h- i
/ J" N( Y5 | b3 ?var debug=false;
/ ~ c- H7 I: G/ \, r: jvar CleanHideObj=new CleanHideClass();$ I4 [* c# c$ W: s* z M& z1 B
6 I, k y+ g2 f! H0 b4 n' @7 Ffunction CleanHideClass()
& c; E H0 D1 B& W! l7 q{
9 p& `$ s! n$ R3 o) K % R5 T9 Z* k# J5 ]$ P/ ?* R7 r
this.on=function(id,bMZ)
9 n9 p! z. d, v* j& x9 x& Z {+ V& V" v2 w2 R, \5 W$ p
6 S) l; ?4 g+ q# A8 m9 q& @/ n if(id == 0)
6 \9 t; a: P* ?: ~ {7 _2 H- Z7 M; `5 p2 Y
var page=/* document.getElementById("content").contentDocument */document; ! G; I6 E$ c1 A7 x, Z
this.RemoveHide(page,"span");
, h. I0 H+ T' E' d6 f1 G this.RemoveHide(page,"font");
* @. C/ b( W/ I: I" u! O8 N8 M this.RemoveHide(page,"div");
. s( l( O* L! P this.RemoveHide(page,"p");
$ \! `7 |7 f3 C! m" q O' _. J X) G
}, N. p2 H: p$ ? p6 A9 v3 u
6 X/ V5 z' ]/ d/ C
}
) J$ n& {4 I q+ h% `9 s) ] this.getobjstyle=function(node,prop)
" P4 b% l, u! m0 `( Y9 Q {
1 P6 |, _ r* H" [& } T try+ [6 w+ b: o9 \" r
{5 }5 J- r5 n1 h6 z/ V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# S1 {4 K6 }- I
}
* i# Q v5 X I# q8 i" H catch(e)
* Y# M9 `$ a( C- | {
& f8 V. F$ i* H0 M. C if(debug)
- U: J2 L1 L# n; q: a3 V+ G {
. `8 W5 e! V2 V1 o" k& }, v5 |$ T alert(e.message);) U, a* Z0 @7 _1 k2 A8 d1 z
}
5 L5 R# O) q0 }2 e8 v3 V7 g; r 8 c) T) h( ^2 c. l& y/ _7 e
return "200";- b# f, \' [6 H3 ]" K
}0 \& r. p) ^% k3 ^, X$ ^
}3 f5 d5 {, K/ @& C
+ S9 K' C. y8 \/ z- u
this.RemoveHide=function(page,objname)# `2 J' z2 d' s& }
{% \. X7 h8 I( o2 M: {0 ]% ?6 E
try
0 y7 H! }& y6 r; @( f {2 B) P4 [9 {/ P0 G' K: t) r
var minValue=15;
8 b. r, S$ H) ], N; ^( o: N var objs=page.getElementsByTagName(objname);
9 a, K: x8 k! i& v: ?* x, _$ `' J' H' v4 ^
if(objs.length == 0)
; j' ~" W; B1 l; [ J {* m& H+ X0 A! W! Y9 J
if(debug)- ^ R5 t5 _5 V7 F
{0 x$ t9 I9 N, r. `
alert("no object found!:"+objname);$ v" C4 ^! @% ]1 T6 V6 n
}, ~5 k( _+ R0 X T4 i
}
, x e b1 F3 E else
4 M5 p$ }0 X# Q O" ^2 p8 C {
( S+ `# ^' L8 j
* W& s; v7 q: p for(var i=objs.length-1;i>=0;i--)
& R+ s# q' n$ h- h {0 h: @( G0 r# A5 ]. Z9 U0 y
var node=objs.item(i); 9 q3 b5 n# k0 T( q% Q
+ g& L2 q; S; A! g) R! R
B3 u9 x' V+ ]' z t! C- W- [ if(this.getobjstyle(node,"display") == "none" ||
' ]% e( U& q8 ^: S# A4 Y this.getobjstyle(node,"visibility") =="hidden" ||
* M9 U# ?9 p" H1 g P6 L8 t parseInt(this.getobjstyle(node,"font-size")) == 0)
4 q9 H1 I# _0 F) { {* Y: c) q1 W1 Q% i1 v6 R# B( I4 y
if(debug)
u; X1 P4 F2 R9 l+ i {/ {0 g$ u+ ?& H6 I6 V: S
alert("remove invisiable!");
- X9 g' i( a6 M9 N$ c5 ^ } C5 }. X$ _& E* c, l
node.parentNode.removeChild(node);( m. Y6 Y( b& s0 q3 x" J
) [, k- p% F7 Q0 X( `/ ~" G+ B
}
$ q2 } L+ J) Z0 k1 a9 R' ?4 l else . b U6 q2 C: J0 i, }7 h n l* y
{* u6 U' G, U& D# q, R) E
if(node.parentNode)
, e/ ^7 j$ i0 E! z: o {8 `% v, H6 g+ r
var orgNode=node;
: C! h! [" P) p t5 P3 s! B6 I7 R- L var orgColor=this.getobjstyle(orgNode,"color")
4 M; g9 [- h! _& v5 L" c7 ] var orgRGB=getRGB(orgColor);
1 B% l0 d6 O$ x% b * q/ N8 D1 b# n' {* B
var parentNode=node.parentNode
" L `& r& e2 v$ M8 e! ^) E var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 x2 ^& T; W7 G; S) x. e
* m4 L1 p6 I$ d5 B var isLast=false;) C% x3 ~' c- U
; ^4 r; k2 L6 F: Z( G/ c! J while(parentBgColor == "transparent") ( ^2 T ^* F! {% W* d+ e& O
{7 w& C( ^7 h; `# ^# t# \
9 }7 L+ k$ p6 V0 H- Z& S
8 b( s% w/ {( i
if(parentNode.parentNode == null)
" J1 y: B+ z* Q' i# {) \ {
! I5 P. n* q' f! I# V! u7 `/ T isLast=true;: b$ |% A/ L1 o- P7 U) M
break;0 a4 \& x+ z! @8 G; V) y0 X: |
}
7 }& r5 b' m4 Z+ g* r4 j parentNode=parentNode.parentNode;) o; S# Z% V4 G) u$ f+ f
parentBgColor=this.getobjstyle(parentNode,"background-color");
& T {1 h( Y7 J9 c0 R K- A
, j- P' A; i# t2 X6 E! j if(parentBgColor != "transparent") + f4 A5 `, k/ A! i% y9 B; A* {
{
# U8 x" ~5 J9 l0 r+ `% y break;% n4 g8 _, d" y$ ?6 {5 D
}
' f, r# {+ g! H% @0 X }5 |( w6 I& \, f
if(isLast) 7 U/ K1 a# v1 n/ }6 l3 x; \# g
{
! \) E5 q7 F% A" T if(debug)' b* O) e, o2 a; t+ c% k, M$ O
{, ~0 N4 q9 K1 B: x- x" l5 ]+ z
alert("last!!");
; A, [; |" N4 u+ Q9 { }
, K# B" T/ G! W; N7 S8 | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ X* n+ e( A2 g$ P3 ~
{
3 `7 H- q' n0 Y$ V1 E, e orgNode.parentNode.removeChild(orgNode);
% j) a$ m7 ~9 C1 }. [- g9 c }
4 } n; e4 D; }0 l/ _& N, R0 M }
$ J" D; B0 i! Z" [8 W' p) U7 @: J else a9 V" s' n' h1 O( f @+ ?) |+ ?
{
" x5 G2 C: _% u0 B9 ~# a2 c2 d if(debug)
1 }/ |3 F* T* w% Z {$ z( @7 S, l( N% l
alert("compare color and parent bgcolor!");4 J' n- k. K+ O4 A9 d
}
) R- M! k( `/ W. Y. @9 T parentBgRGB=getRGB(parentBgColor);
/ ]4 {4 }: Z( {; |* X& } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 A5 N' O0 d. ~- k {0 x2 ~/ J1 Y7 f8 r8 y+ S7 T( i6 Z! ^1 h
orgNode.parentNode.removeChild(orgNode); ' Z! y1 {9 e$ n7 U8 e3 Y
}3 \7 o- D, X T6 b4 `
}
0 m! P! D/ W. S. T* k+ U, l3 _9 j: s }
2 `6 W* z* U: f% E" S }) q, s9 E& h, t* h2 n; ^4 g
}2 Y9 t) O9 `. y. `
}9 k/ E" Y: ]1 `( N6 ]+ @0 q
. m) _5 `$ u: d S7 q s3 {2 _. I ; S" a% i2 x) k
var itemFrames = page.getElementsByTagName("frame");
- X" }7 W" ]! e2 P# s; V. b; _% D var itemiFrames = page.getElementsByTagName("iframe"); w( z# O9 |8 y- w$ D# I5 ~
# u( c$ [% G# L1 i( d, O, p
var frame, iframe;3 g5 b% `# O. U
if (itemFrames.length > 0)4 X: V: I! e' V1 ]- C
{/ L+ v3 t, F7 Q" v( s8 s% O: b
for (var i = 0 ; i< itemFrames.length ; i++)
3 R! j4 {/ B- U2 w; E1 ^ {8 e6 w8 D) L# Y$ N, U: |2 T
frame = itemFrames.contentDocument;
8 ~1 o! V& Q. I6 V8 C this.RemoveHide(frame,objname);
0 I, A: G8 w, S& I. ~ }
2 ]: g" t' N# \1 D/ d; @! i; v }
8 Z/ g; j- w+ O1 f8 f: ] if (itemiFrames.length > 0): ]4 |" V: W* Z/ f q/ A7 @ K x
{: h+ S) U* V' l" c& Z5 w
for (var i = 0 ; i < itemiFrames.length ; i++) 2 j1 ?9 S, _+ z/ X' a
{/ l+ V6 ?0 u9 o5 w$ M- X
iframe = itemiFrames.contentDocument;9 b6 Y# {! G% k
this.RemoveHide(iframe,objname);
$ x4 K% p% g) O }
( |' {5 `+ q4 \ }' K4 t/ c9 d9 b, H6 ~# E' v
}
; ^ d) p: H5 q) B4 n9 B6 T9 `5 D, x catch(e)* F7 V1 @+ s3 @
{
) T( h, b/ w+ |+ r" r if(debug)
) M8 A/ {. M* n9 b* a4 V {* H1 E+ _6 s/ V; d9 X, Y# Q/ k
alert(e.message);$ m4 W, e) F0 {/ U" u( o1 ^
}
! A6 ]( O3 {9 O3 f/ e9 W }. g, u; k' s! I3 S8 I
}
$ t+ K, f4 N, F# K! k4 p4 z. H
- X; v, g$ g1 s! X}$ V4 z2 {' G; h" z
/ m" O. |2 H- P% B+ ]& Jfunction getRGB(colorString)- F3 z) p& Z k1 N; p2 G( `
{
; x6 `9 r* [ T. n( Q var RGB = new Array;) P, }( r/ a0 h: r5 I
var tempSting=colorString.substring(4,colorString.length-1);
) V: T4 _$ h' M( R* A# W var tempArray=tempSting.split(",");
* T) t( L% t! A1 N1 A/ o& x' {6 R' w' @( t
RGB[0]=parseInt(tempArray[0]);
2 Q; |* y/ w( L RGB[1]=parseInt(tempArray[1]);- C. c' P# h! W
RGB[2]=parseInt(tempArray[2]);
+ ], W+ f. w- Z& X+ u3 J- a ' K8 y, ^$ Q0 m% o( O) F& h( `
return RGB;
; Q" u1 p& x0 j. j0 d6 W. C) }}& X: n5 p. H9 _9 ]- `1 c) I" Q
function keys(evt)
" i( C- {! r* ^9 \/ | H8 A- k N2 G$ S { 7 d, Y9 D( \8 @/ c! x* r( J9 a
if(evt.ctrlKey && evt.keyCode=="81")
% h1 K$ I% E/ v: n8 \8 f { 0 C! n7 ?0 S& |
CleanHideObj.on(0,1);- Z+ J/ _1 a2 w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 w8 L+ [( T4 q# i 8 h$ ?$ V) W: \6 F! |* `7 Z
} - A( N2 |8 p, ]! }+ x
} , d. s, F ~. g! w
document.addEventListener('keydown', keys, false); + F9 c8 i" ?+ Z% J
GM_registerMenuCommand ('Clean Hide',
7 J& j9 Z. ?; C+ @function(e){5 |* v0 O4 m6 _) e" B
CleanHideObj.on(0,1)
4 ]1 D' ]- C$ |6 A( l+ u+ s$ Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 O/ R2 Z0 C9 L6 P# q2 e- ?});' H1 b. R' t" M8 ?& S
|
评分
-
查看全部评分
|