|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% G( f& u! D4 A5 o1 {, V& a# g W+ C8 k, }0 t$ N4 f4 K6 n% z! l5 `
火狐插件,用猴子
9 s$ n7 j4 @2 p" s2 ~$ _( ]- d$ X2 [/ Y! Q& }( W
var debug=false;
V& j/ @ B: `% l9 \3 S6 ?var CleanHideObj=new CleanHideClass();
) A l7 W% B6 d3 ^5 ]0 s" X- H
7 l) I( E B0 j4 Kfunction CleanHideClass() 5 M, _$ J `5 u" H. R
{
( T0 x, W; ~+ Q: X6 [, s 6 Q; c5 c# T. {8 S
this.on=function(id,bMZ)
' c' a, a# y/ U( g$ J {
) ^1 w7 K6 `) o, e
: g! ?. K$ d1 l! k9 g: w if(id == 0)
. q) C) f6 s- w0 P" L, m {
. T" ~2 O$ }9 N2 o" j, f! s* J var page=/* document.getElementById("content").contentDocument */document;
! H! ?3 N3 B' _' M' f f; {0 h# ~ this.RemoveHide(page,"span");
# o" n6 J3 f" m this.RemoveHide(page,"font");
* S# x! @: K H U: ]8 X this.RemoveHide(page,"div");
) f# e1 a' N' F# W6 r! { this.RemoveHide(page,"p");
# |4 m8 o8 m( |9 R4 h5 s - x' u" s/ M# s* M( V
}
- k: Q) m8 [2 b3 o, _ ' a" V" w+ z1 ^6 n5 U( c
}
3 C) a1 m" }/ G/ r this.getobjstyle=function(node,prop)
1 [3 v1 A h2 S) h% l! I {/ C' L* W& o' H1 d3 v$ _- q
try' C5 `" A8 e* [" c8 H) |
{
$ {& B" U& x7 i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" u( S( r- l E# C( g) K }
" j& L$ D6 `0 k7 x9 J0 @ catch(e)8 {( c9 I7 t' u9 T0 d
{4 c1 O; C" P9 ~; h' S/ N4 s
if(debug)
' H! T+ w, G" o* e, V' S {
: C% l# N L0 _- w5 T5 X- m6 H" J% j alert(e.message);1 V% M2 [& n. x0 _7 d' I
}
9 r' p0 u. x& u4 m# C : a2 n7 |, g# o" y; Z
return "200";) d9 [% B/ n" y
}
$ M4 E7 C: y5 t! n, J }
$ F4 f+ l+ ]4 W! N9 s( `/ l/ K! z
; v* R. j$ V" u6 J9 B5 U this.RemoveHide=function(page,objname); W6 @' h; R' U1 @) M9 q) k
{
& Z, q( ~2 l+ N) ]# j1 W2 n3 B try% D: w! R8 u% X
{
D5 z/ ^0 B& {8 C; T4 O/ g! v! b var minValue=15;/ @- [$ }; n$ x' H2 _' T) c
var objs=page.getElementsByTagName(objname); - j6 F" Y0 g6 ?4 t& f# e# _0 `
9 _4 D) c& U$ P& ^9 E8 U
if(objs.length == 0)
( b+ ?; {5 A6 e {
. W- p$ X0 {* B4 ]0 Y if(debug)' T ^, c1 h( J) H, D" Y
{% T9 a0 d* q4 E1 N( D( A6 T5 c8 e6 O
alert("no object found!:"+objname);
7 b7 m, o. E9 N- i* u5 D0 z }/ y4 o( j _% k5 W
}6 W: ]/ R* ^4 F1 W
else# S7 ]4 a6 g' w0 e
{; y. M& f# V, [9 u4 W0 o: x% L2 ^
[5 x$ A, u. T4 D& y2 @) S" w
for(var i=objs.length-1;i>=0;i--)
7 J1 R9 ?7 u3 I; T; t& O/ B- B {* m9 E$ j3 } P2 N
var node=objs.item(i); ! G' e+ J# }9 p
) ?' I* m* c0 L, `- y2 K U7 a8 o
3 T+ Z0 a3 x* ]. x4 G! q if(this.getobjstyle(node,"display") == "none" ||2 T, D1 |( Q; t1 T; k
this.getobjstyle(node,"visibility") =="hidden" ||
. ]% X% c3 ?0 n D7 B parseInt(this.getobjstyle(node,"font-size")) == 0) $ l3 l& E9 C1 W' ]6 `( F
{" y/ r; z) H2 m+ W6 d3 L
if(debug)
* P/ Y" ]2 t1 l6 j. U5 `# P5 n {
& D1 @" a; t' Q7 x" S alert("remove invisiable!");
5 V& `1 m$ M; w S8 [: | y% J$ M }
- `- U3 X2 K) | node.parentNode.removeChild(node);
- p" L/ ^* d4 I) [" i, N4 k
( V4 B% Z7 ], v9 p$ F }' I; x9 y _6 J: Q1 r
else # Q% \0 f2 Z( C1 N' K, A& \* E
{0 F& }3 D. [6 D& f$ Q
if(node.parentNode) ) z( \+ G7 B, K c% A2 M; A
{
) E1 p2 G6 |' E var orgNode=node;) N3 |6 b* g' _1 S. ?- s' y& K; D
var orgColor=this.getobjstyle(orgNode,"color")+ R9 L# z4 |7 p3 V) T
var orgRGB=getRGB(orgColor);
6 l M- \4 w& d1 q
6 c! F) {5 C, h( m var parentNode=node.parentNode2 ~" l: w- a: a' g/ `
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# m. n! }5 l1 h! H
% L/ ` u- R' x var isLast=false;
/ M$ x4 H3 W! O7 Q; W1 F % S! h$ X1 ^" O4 }) B. g
while(parentBgColor == "transparent")
1 j6 T- _# C5 L; H {
s+ I, y7 l1 e+ R. F' i
: l" h5 ^, `6 S/ a
" k( w/ M2 ^3 v; U0 L if(parentNode.parentNode == null)2 E+ C. M ?$ k+ Q9 P( p, q, S9 u$ ^6 _
{
: e6 I" I% D. `% m( h+ l, U3 o isLast=true;
& o0 k* h/ Q7 T# u ^ break;
6 u8 {. B0 y& ~1 i0 C2 U }
" |8 |. R' V0 {( s/ M- l parentNode=parentNode.parentNode;
3 {" ]' n% f: g& S2 u8 K- z parentBgColor=this.getobjstyle(parentNode,"background-color");
, D u _& L& B! C0 w6 c0 `* n# F
9 D6 \/ K. o! i! G% e& X0 F if(parentBgColor != "transparent")
r7 c" W. Y3 D* I {1 G2 ^9 g+ v( _4 X8 [0 u# `. L. e3 v. Y
break;
1 m" x$ r: F' e$ i0 @ } {5 ^! f$ J7 t2 @7 N( c7 M8 D. \3 [
}* u6 X! y( {0 G$ g& E+ P# H
if(isLast) V4 D1 Y- w/ F% e$ |
{
8 h+ q" i e, g0 T8 d; t$ ?; ` if(debug)3 ~& a- o$ \/ R& @
{* S& j. [) r" ]/ E- p ]4 V$ ]1 x
alert("last!!");
9 ?: T0 ~& I4 [9 v4 j7 C }
- L. W% X$ |: P1 S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 U! @8 } y- m0 a% s6 t {
" @: F7 c! }2 I/ B/ \3 F orgNode.parentNode.removeChild(orgNode); Z+ F- H7 H$ W1 Y
}6 {# A3 A% X1 F* ^& O6 W
}9 b* d" F3 F |, k) U) M
else
5 m& Z# k: x, V1 _) G' p {
, l* x" t4 ^; N& t" { if(debug)
. b- `) f3 ]( ~" ` {
1 u+ s/ r# x. p& W' U0 P/ R, C alert("compare color and parent bgcolor!");2 }: N# E; T# O3 d
}
; E& ?3 u; o. U- N8 h( _ parentBgRGB=getRGB(parentBgColor);
# ?6 |) F: A# Y* O. b* K5 ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ u8 d! i6 g3 E
{5 C2 R9 F, t/ E2 G9 V/ b, T
orgNode.parentNode.removeChild(orgNode); + g5 K! J$ K+ _. v
}( s& x- f6 Q; B0 L; R7 f5 R( A
}. I& Y& m/ T5 F% H' H
}0 `6 J9 U# f2 b# Q+ K( Y8 W
}0 Z+ g0 t9 ^6 ?
}
, L4 l, C+ S9 } }$ e: Y4 f+ @* S# M
9 `1 T1 p) x0 X+ U) r# P
: Q% k- G% ~" I7 V
var itemFrames = page.getElementsByTagName("frame");
' W+ F8 r" g7 _& }2 [8 v9 ~# Q var itemiFrames = page.getElementsByTagName("iframe");8 Z: _' o1 W6 I" c3 j- g _ b4 g& K
8 t" C# ~' X, g" Q, z; A+ o) L+ ` var frame, iframe;0 Z& O' {0 ~9 \& K& c6 N. k8 v, _9 P
if (itemFrames.length > 0)# w* ?1 n; R" m- B# f
{9 z8 W. U, E2 n3 W w1 V
for (var i = 0 ; i< itemFrames.length ; i++)
0 {) H( n3 D! b, B+ m- ` {
0 q5 }) P8 C3 J8 U# x6 u% Y" y frame = itemFrames.contentDocument;
1 s6 e5 O: M- |- c, B) i this.RemoveHide(frame,objname); # x @5 p. k0 {, p
}
$ V3 e8 [) y9 N9 H8 _, q* U. P' E }
4 h, c4 m' Z9 C8 O1 L0 A8 { if (itemiFrames.length > 0)6 I6 z$ Y( ]3 k- J
{" t9 }& B# l' T. J6 Y8 U' n
for (var i = 0 ; i < itemiFrames.length ; i++) * o3 C- B2 ^( t/ U2 m E/ y9 |
{
' h; C) w; ?% H7 ~ h iframe = itemiFrames.contentDocument;
4 j5 f1 g9 T" u this.RemoveHide(iframe,objname);
7 v, i) w! D) @3 n0 Y) d3 Z }
* J d7 j% K5 ~; ~% v5 ?; i0 i }
! x+ z- `* F: H, d/ ], @3 } }
1 R, o2 V/ F) l2 ^ catch(e)9 m; S' @( Y$ U" z7 P0 v
{
4 N7 w; b9 p8 s0 z1 l% d if(debug)
. v! X% ~- n; H0 _' A4 Y {
0 |$ v5 R8 |7 s alert(e.message);% |1 r7 l' ^$ V# F
}" B6 c M) P# C0 J
}3 V( L2 U6 b. N) i- S- e2 ~
}
& ^1 B8 r1 Z, D- m
3 ?3 D( J* m0 ?}( `0 u5 |2 _; n& \
+ j/ a, p3 h) u( m& P, m
function getRGB(colorString)
" W6 c: W& ^0 |$ v+ e4 N{
' I0 Y8 s3 Q6 N var RGB = new Array;
; P" s& k, x6 U- F var tempSting=colorString.substring(4,colorString.length-1);" m* n: R8 c& b" a
var tempArray=tempSting.split(",");2 y8 {: w1 S4 k( _ w
$ O/ c/ Z8 c( P2 G4 T: V8 W2 h. p
RGB[0]=parseInt(tempArray[0]);
2 M0 t* n$ i R/ Q, q; R8 x5 ? RGB[1]=parseInt(tempArray[1]);! u5 o5 Y( h4 S4 b, B6 E% C/ K
RGB[2]=parseInt(tempArray[2]);
1 d% K$ S+ ^3 d/ p% N & `4 J7 `; K7 ^; `
return RGB;* \- U; @* J# S/ E. V+ h
}
6 d8 B8 M2 A! l3 D1 efunction keys(evt)
9 J; i: Q1 f: }2 J. ]' P! X, b6 w { 1 S! d- P3 |! U& \/ e* m* P
if(evt.ctrlKey && evt.keyCode=="81")
' @% ?$ o+ |) n8 O8 d {
% D, o0 S5 u$ g6 R CleanHideObj.on(0,1);
$ s i" e: U6 f, U" v% v9 e. K alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' I+ M6 F1 a) B& r4 W# y( S, f
8 s( U0 M" X) o( v6 n# R } 5 P1 t6 q. p \7 P4 g7 A
} $ U, s/ g" q0 n7 H
document.addEventListener('keydown', keys, false); ' r& i% w- Q+ l8 s: ~5 f) U
GM_registerMenuCommand ('Clean Hide',% G7 ]" t# q& ^! U' a) A- S4 c3 S1 M
function(e){
4 p% g) v, V, k% B2 c8 u, N- rCleanHideObj.on(0,1)
% N$ X+ u6 ]: j7 Jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 C3 v( b7 _; U) U+ w});
: o/ l3 I9 {1 K L |
评分
-
查看全部评分
|