|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ k3 z1 B0 I _- q
$ E' ^1 H6 U. h火狐插件,用猴子
3 o/ Y# j6 y0 s" [) S) d2 E2 ~2 C1 ^- Y3 [0 J/ E! X. ]& ~
var debug=false;
" L. m6 r# g, M' {var CleanHideObj=new CleanHideClass();
# F+ w$ W' Z9 p* [) c
. t, f. W2 a1 u0 C5 Sfunction CleanHideClass()
, I. B* X, E9 e7 C0 Q" s0 j{ / Q* u9 [0 b2 k% b
4 Q/ ?2 k" O# J! D
this.on=function(id,bMZ)
1 W# o: a" o2 Y: j, P {
) A, [0 O% l I0 ]- ^ 6 G! w! r6 n0 m, b
if(id == 0)
! ^6 E; {! s9 R; [$ p) `& Z: P7 K {7 s1 s- J2 }" O8 F
var page=/* document.getElementById("content").contentDocument */document;
' c, v3 C' Y* U+ T% y2 m' p2 o1 J this.RemoveHide(page,"span");
* q% s l1 G. \' U- T this.RemoveHide(page,"font");' _' D5 p' A- k
this.RemoveHide(page,"div");; N d' d; ~7 k
this.RemoveHide(page,"p");: [8 h. w+ g" W0 d6 ~& N
6 O: z& ], r6 t( N0 b7 M
}% l5 i( n; Q# y* r% }$ H7 M% \
: J" o5 K: z6 F0 d
}
, `5 ?9 H6 b9 T8 `% ]; O& ] this.getobjstyle=function(node,prop)
, V8 s' h2 |* f {
+ l" \$ C2 X5 Z1 x, e. F2 t try
& s( g2 \( C; ~, G+ O }' t {
4 H. w" b9 g+ Y0 H# I) ?1 c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ B; ~3 j0 {) T( V/ F" | }' B8 b1 j. ^. h5 U" x4 }
catch(e)) G5 i9 I9 l# z8 r4 u
{
' e4 z& o, ^2 P9 X if(debug)
* [6 @ e3 u% {. o! p% O {
2 D, `+ w% ]+ i alert(e.message);
3 m) N1 v- l. t2 \6 ~, [ }
- r$ J( k- I# W ! T' z+ g' u8 M1 S
return "200";) W0 t6 Q4 @! O/ x6 X
}* A$ p; ~% H, ~/ B/ [
}1 Y) M7 ~1 @1 O7 c+ D5 b! x
2 t* w% k0 w) Q" s8 S this.RemoveHide=function(page,objname)1 z& n# ^! C( |3 d% e! \
{6 a* H) n. y' `: K! Q
try/ d! N& T* T9 {
{! O8 l2 @- B9 H( }9 x0 r1 ?, d; [# x
var minValue=15;
( d. k( v: C" g9 e+ y var objs=page.getElementsByTagName(objname);
; a$ A5 M$ T% O& ?' ^' G' }
2 W1 F. y: u) _& Z if(objs.length == 0) ) ]4 J5 d: L- F" Q" ]% L2 o& J# V3 C& d
{& `' e' e0 u- I( G$ D6 D
if(debug)
3 X5 _6 C" d; F# ] {' n! N0 B) l* f1 K O
alert("no object found!:"+objname);% K {2 w3 K: \' `9 R5 |* z& v
}
5 d! J z5 l; K2 c6 V* E/ I) C# \# V+ e }
0 K) U T, ?- z- i else% C! \. X3 X' M# d6 Q# k( H6 X9 R
{
; O+ u+ e* {$ W W! L + c/ N5 J6 S* F* Z
for(var i=objs.length-1;i>=0;i--) 5 v% B" C0 s6 m: F
{% z- {% l" K4 P) Q4 \( }
var node=objs.item(i);
5 _/ c1 o1 U4 r+ I% m w/ r
0 U5 t3 B' _ v% K
$ n- p2 N# ?0 r/ T5 N* l+ | if(this.getobjstyle(node,"display") == "none" ||
[! }/ R- `7 M( W this.getobjstyle(node,"visibility") =="hidden" ||* ^/ j0 m- B' [* Y$ L4 @
parseInt(this.getobjstyle(node,"font-size")) == 0) ( j E( r5 i- {6 c5 f4 K
{
; V* `! P$ }9 t9 g" L if(debug) [/ x8 v. M5 E) O5 z/ q
{
/ d$ C& P% |0 [) r1 T2 d alert("remove invisiable!");+ V/ H( F# k7 E2 I! {
}' t# a: _; ~: B# w
node.parentNode.removeChild(node);
/ e4 p8 d# m: }: x 8 ?1 ~, m7 X3 f0 s" W
}
( P2 V7 p4 n+ g2 B) \2 b else 7 T. a& ]/ I A u
{
4 O: E+ p: M$ Y( U6 z# K if(node.parentNode)
0 [& W4 t: U8 C4 N, { {5 ^9 `/ Y* G1 T
var orgNode=node;
1 X* e# A* O; V L var orgColor=this.getobjstyle(orgNode,"color")
2 M% R5 c. E& X* F5 y var orgRGB=getRGB(orgColor);
) l; P B" X3 L+ N2 D/ f8 a 5 b6 B9 d8 D* P! i
var parentNode=node.parentNode _. f& Q3 [7 @
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' y/ r) R: L" X. Q% I
. {+ v9 O6 e! @. Y! u var isLast=false;3 U. |! Z, B. M a
8 Z( y y( f/ ~- U) _, F5 u- V- ^0 x while(parentBgColor == "transparent") ( N e, P- d; ~" f
{
% ]. H; T! s i8 w9 }
$ H- H( B5 Y7 j ) m+ V2 y, c8 t m4 o
if(parentNode.parentNode == null)
/ ~2 R O/ }- h. K+ i$ z {% w6 r! J. k l9 L* r& A( D
isLast=true;- V% s. n9 @+ Q& Z# ~
break;
) k* o# a% G# B) @" X! A- p }7 I9 d6 I/ p) c: w4 t& j/ A
parentNode=parentNode.parentNode;* O0 Y2 E/ E i8 c* n
parentBgColor=this.getobjstyle(parentNode,"background-color");
, m4 F6 S& r! o8 I+ s- `
& i, J' I* j# d; R( ?7 O9 N- X if(parentBgColor != "transparent") # e/ a/ f' m! m; E
{9 l. F2 {1 q- m$ R
break;# t) |+ {8 V, v+ p& r
}
, v. a% L% E! V8 v }
& a. N1 F- a) q# q6 P if(isLast)
- I* b& b$ {- j ^: K0 a {$ c# _, j/ i) W7 ? V1 Y8 f
if(debug)
; e- @7 |9 D( }& w {
. q( }$ [8 g: S alert("last!!");
( J; _+ e% a7 k1 \: b2 F! W4 z }2 B6 s `% M5 d0 N3 D! [; k
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' M- n5 I5 R3 t9 M' n {
8 A, W: z( ~+ S+ Y4 X orgNode.parentNode.removeChild(orgNode); f9 K3 E3 S+ r b$ D: P; G
}
) N$ B7 X& P6 w. f; x }
$ y: C5 y" _! r7 r) O& E, C else
9 c" {# M [ M- v) B {6 U' j, w8 ]' C; H7 o" }
if(debug)
' G* e C0 x+ H3 J* O) `' i {
. ]: n) ^' o$ } alert("compare color and parent bgcolor!");
2 f3 P- B# S, s }; x" I4 L- U/ q. W* N( M: a5 f1 N" H
parentBgRGB=getRGB(parentBgColor);
1 |- w2 O$ v" ~% C if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) F" w* i1 H) Z$ s* m
{
/ r: d6 W0 ^7 d- w4 W orgNode.parentNode.removeChild(orgNode);
1 g9 {1 S3 b2 g1 l" I8 e }5 I! Y% t, B. B6 m2 Z
}+ ?, R/ ^* c, P6 ?" k& e; y
}
# w$ B# z! h* [, C* ?1 `. z } d% F, h. G; L* a% S: b! z
}+ P' o. d! u: Y: |2 B
}, O8 X% }- V2 k' d+ p4 H
3 `6 Q: q# n! S* H. J4 W: o . J3 L) Z+ W' k3 y/ o
var itemFrames = page.getElementsByTagName("frame");
0 G9 E: w' c% a) ? var itemiFrames = page.getElementsByTagName("iframe");
! |- N0 ~; i9 I& B
/ r! Y* `6 W0 g. X1 A3 R4 l* W var frame, iframe;; c& W8 R/ K( L% V3 ?0 P
if (itemFrames.length > 0)( @* t3 o5 i( l! W0 Y, p
{$ \3 c. t( ?4 b* m" j$ J9 i
for (var i = 0 ; i< itemFrames.length ; i++)
+ H4 f! E" ^0 L" s( E( I t6 A4 g {
( X' K& h2 ?+ b) ^* M- B frame = itemFrames.contentDocument;. h, X" P) P# y& c j3 K
this.RemoveHide(frame,objname); * \ D" g: @2 ~% a+ m7 } b' v
}
8 G' M/ P4 l7 g4 ~: A- u- g ~ }; }# U2 h! P: z
if (itemiFrames.length > 0) l [4 s2 d9 C9 u+ W
{
' b9 Q: L- W7 p" @& b for (var i = 0 ; i < itemiFrames.length ; i++) 0 Q9 i- [3 v: T' r$ Z' E4 r* Y8 b
{
8 C8 R$ ^, s$ a- n! k( J, b iframe = itemiFrames.contentDocument;. y. y; \3 ?! H: o
this.RemoveHide(iframe,objname); 5 L& }# `6 F# s0 |# l, p
}1 M9 U4 v9 a! U9 G" W" n7 c
}
% ~ T- b7 ~; L, s% a) s1 `. u z }
# }2 _/ ]. [8 K8 a catch(e)
' U2 Y5 V j/ q {
% j9 O% [3 c0 \9 O' c4 f+ K if(debug), z" q" j* l1 s4 b E2 \. p
{3 D: [* t/ g" b/ R! |3 r# e% z, D+ X
alert(e.message);1 h* B# o9 e& H! r
}& M$ M( ?0 t m# m, ]
}
5 H1 r' y: V T) X }$ Z! G9 M1 e- G
% B7 t7 G5 S6 x% j0 Z/ _
}+ I8 v4 k0 @' {3 b; V9 G( ]" Q
, U8 Y1 _7 B P9 @8 nfunction getRGB(colorString)
3 U: k5 E/ s8 B{
3 d1 S& \! u) V- ~ var RGB = new Array;9 i: h, M/ y: y
var tempSting=colorString.substring(4,colorString.length-1);$ h/ |- E/ n, C# z7 Q
var tempArray=tempSting.split(",");
+ f6 `" @/ l/ F- P: X) `5 H; Y4 {' `6 n( o2 P# M: g) W& K6 {
RGB[0]=parseInt(tempArray[0]);
3 z3 m3 R6 ~/ y9 W0 h' {" T0 q RGB[1]=parseInt(tempArray[1]);: r0 r' V) `( K A
RGB[2]=parseInt(tempArray[2]);
3 w* S) J/ Q2 P
) j! g" \0 z2 I! U return RGB;: L; d. _& W/ V. ]! [) O s
}
7 N( V" a) ? V& [1 J E! Zfunction keys(evt)
& X% n5 }. [: S1 E% w( G; T6 P% l { 9 m* Z# @8 V3 M# d' E* \. @# ^
if(evt.ctrlKey && evt.keyCode=="81")
! s: ?2 b. C/ @1 t! u, f {
5 j0 m4 r0 y H( J; o, p# ^% F CleanHideObj.on(0,1);
* ]% ?5 P9 U, E s" i1 }! C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * ?: W6 L7 n! ]- e1 A4 J* S
' O- \9 g- X7 n6 t9 q7 K } / U: T% d# H. `* e# A6 U
} 6 F8 Q0 O2 b* M
document.addEventListener('keydown', keys, false); & X% [" f5 s1 r1 Z% C: K
GM_registerMenuCommand ('Clean Hide',
1 M5 h- ~) w6 }0 Ufunction(e){
1 n8 S' O$ F& H1 l% @ rCleanHideObj.on(0,1)- C" u( w* Y( d/ x2 o9 @. }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 [4 H% P: r" g8 B1 ~3 a}); r1 y! J( M: _$ C
|
评分
-
查看全部评分
|