|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ?+ n4 [& [8 A Z! y
6 A! ?, |6 [& Y+ Y
火狐插件,用猴子
; {( d4 g3 S$ d0 z) d, {
9 f4 H/ q! c' ^: q; W0 tvar debug=false; 1 s* q( z8 E3 s
var CleanHideObj=new CleanHideClass();
$ s; F7 M8 a% d$ u3 ^ ]3 }) X* f6 F
function CleanHideClass()
4 S% Z- l5 x1 y9 B2 }+ v{
1 F: `: D, T6 W3 t# f/ x7 U; J 8 @5 W& Y% ]2 m$ I% P
this.on=function(id,bMZ)
. R1 X& G- F* D {; N3 A+ Y. ~2 W0 P
) E7 F+ @$ P- U$ t. \5 I
if(id == 0)0 b# `# c. n, ~# y# `
{$ T; k* \& @/ v' G8 Z
var page=/* document.getElementById("content").contentDocument */document;
& k, Y6 c& z" d6 U+ T2 I9 f this.RemoveHide(page,"span");0 L- V4 D) }2 ]- ^; X9 W4 |" S& N
this.RemoveHide(page,"font");, C0 t1 A+ B: T4 w. `) k3 z) r1 \; z, f
this.RemoveHide(page,"div");2 S) `) Z0 E/ V) I# L0 a
this.RemoveHide(page,"p");
+ `( B/ K1 A' s* U8 P7 D - w+ ?* [7 ^4 H' a. o4 ~
}" _7 B6 V5 u. C5 y+ B; a! @
. s$ n) D% l/ C3 P, S; o' j/ \ }
1 k% Z8 ?! y' u# ]/ p& x* S this.getobjstyle=function(node,prop)
, N, P& _6 Z8 K: Y- V! K. p {
* X0 ]+ f v6 f5 C/ U try; \, m8 Y: `, z; _! E" v2 w+ [" R
{3 f& G% N! Q N) \0 P
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* I; x5 \3 \: { }
- o1 S' o ^9 q& K catch(e)" @& j2 K4 z3 a8 @$ |
{
+ N& `' F) `( m) o1 j" d+ d if(debug)+ t7 S$ t- U# F$ \! X6 y
{
2 o" `: u, P8 K alert(e.message);
& B8 u$ D5 T$ K1 b7 f5 F& Q n }
. X+ |2 s# s9 q* u0 p" [
! Y+ o: H) l$ @* J9 | return "200";) V- x5 ?: `. S' v- h" {- g
}
9 Q. P' E1 _( V1 S }3 n- _/ E- c5 D5 ?
+ V! X% f. T% x4 b& f% w Z this.RemoveHide=function(page,objname)
; B$ l/ \% ]+ E- ]1 D/ ^ {. f( G) j& N9 A
try0 o( r( L0 k6 v- c/ \
{
4 \' C; @; U; p& X# X* w var minValue=15;" u' u0 m' |2 W T7 W5 [. X
var objs=page.getElementsByTagName(objname);
+ @. `% o- P, ]- ]! g$ x
' Z0 c! o- ^, {2 W0 r if(objs.length == 0) 7 J0 r9 {; q) s! V( Z& n# R( S: N N
{
$ ~# G* J1 y, _ if(debug)/ E% X7 V" Y8 s5 h) d6 H. o
{
: p9 ]9 \. t" D2 Q alert("no object found!:"+objname);; }- o8 V* z1 g2 I6 ^8 B
}5 s1 v4 i8 l2 G6 m# m8 D: C. J
}/ Y7 g$ ]* _7 L
else
1 i [+ x, S X5 A% J6 X- T {
. F) N; R' B. Y
1 i! @, J, Y) ~& b for(var i=objs.length-1;i>=0;i--) 7 t% A+ z/ `/ s' ^. i% A
{; R0 F Z F2 G5 v
var node=objs.item(i);
4 D: G! p2 o8 B k6 i- w
b- y J5 W% u% T+ y) d7 b0 y 3 ?7 c G, x+ c, r
if(this.getobjstyle(node,"display") == "none" ||$ L, I" P* B/ {+ M8 \+ i& {8 N
this.getobjstyle(node,"visibility") =="hidden" ||
: d7 Q! b X/ ` parseInt(this.getobjstyle(node,"font-size")) == 0) 1 d, ]6 A% R) J/ K( m) a- A
{0 I, }; m( T- g. @7 U+ G
if(debug)% z: m: Q( u3 S, k; n3 ~, }; b
{6 C, H7 M- `' ^! `
alert("remove invisiable!");
5 `, ]: z2 C; j+ D# E5 M% c2 O }
( r- x. d9 I8 j0 m3 c8 o8 m* L node.parentNode.removeChild(node);( v$ e. e; B5 }+ j
8 \4 N' p b6 m }% V0 h* L' |( \
else 5 o* s7 [4 p" D
{
# V9 r' T- [: ^6 z if(node.parentNode)
0 u- r1 _% Q4 o. s {/ V. j( u0 `; n* n6 H) d/ i
var orgNode=node;2 o9 h& H. O$ E6 Y2 l# F
var orgColor=this.getobjstyle(orgNode,"color")
8 x3 K) ~3 k0 b5 L var orgRGB=getRGB(orgColor); & k% P" y! l1 T2 p3 Z5 U
; H7 p" b. |$ \ var parentNode=node.parentNode
* X' s' g7 v4 w \& ^4 C var parentBgColor=this.getobjstyle(parentNode,"background-color");, T" w8 a/ j4 t" [* {2 P( a9 l* q
" q. ^0 T- c8 Q6 S1 `" i5 P9 m var isLast=false;8 F/ } m) X' w1 Z7 D7 f A6 I
% }# l" O; @/ u+ Z1 w" n& i( u
while(parentBgColor == "transparent") # D8 E& P1 a+ R5 ~0 V: D0 F
{
& {7 x8 n0 L* G. F 5 L, S. ~) |( K4 U3 i6 J6 ?
& u, ?" Y9 @! ]) Q% @8 _8 i
if(parentNode.parentNode == null)
3 H, q( M4 r# v) _ {! H. b1 U" L5 h' h
isLast=true;
2 E3 ^! K8 n, ]! N break;
6 |0 V# J0 ~4 Y8 H) U% G G }9 v3 Z5 P$ }: t2 }- {4 z
parentNode=parentNode.parentNode;
3 p: _! ?( H0 V' i* ^% \# p, C parentBgColor=this.getobjstyle(parentNode,"background-color");9 Y$ d7 P7 d# z s
4 B' E! [0 g$ c2 o7 z
if(parentBgColor != "transparent") 4 w* S+ t+ Y8 l% C" r
{* ~! d# P! T& }5 [2 C
break;7 d. X, i) e$ q7 B4 R. ?; W. U# J0 t5 b
}
' T" ] N0 Q% ^4 z4 i }
2 J1 m m( r% v* T4 H0 ~1 J if(isLast) $ F; P' ^, x' S {) c1 \1 |
{( b L( n. `1 o( [2 r1 y/ p/ ^
if(debug)
' _; ^' l4 N; k9 ~8 o {. z4 t! }1 z+ f: D) O% B
alert("last!!"); ]7 H3 O; i5 c' R
}1 K$ u: m. s" z3 z4 O- @. V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 H: b% N' D5 {/ b2 b* z/ p {
+ F+ n2 }0 E! G* k/ Z2 e5 b( b orgNode.parentNode.removeChild(orgNode); " `- j _1 |7 R: @+ T" A
}
% m5 U- V+ J; R' F9 q! h }
' x; f7 `& g5 b# n8 Q else
( r8 H- y5 f: V3 o {; W4 h, u' T. L6 ?
if(debug)8 f0 l% h1 L- `7 N1 o/ H
{: x5 ], T" l7 C1 p- x2 d: ?
alert("compare color and parent bgcolor!");3 o; @. M& T0 I, z, A, R
}
+ q" X9 F. M. ^+ x" @8 c1 z parentBgRGB=getRGB(parentBgColor);! O; _+ p5 K) A3 \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 P6 x; M$ ?7 l
{ A* ?% h8 P3 f5 |: Y' ^3 Z' L
orgNode.parentNode.removeChild(orgNode); 7 _% U- C/ Q1 a) `
}8 c1 s5 q) i& d, B; X/ w2 s* m
}; V% s) X( F* v5 g# c6 ^) ~
}: X4 E7 O9 N9 c/ \
}
4 H$ X6 X: a' T }3 u4 N5 P! T) C7 A. A
}% J, Y" I$ J0 C d) E
, D5 q) |: K, L% _6 c$ d! R" m) {
' }0 D: ~, @) s, L- s* k0 _4 B( p var itemFrames = page.getElementsByTagName("frame");
# w& u [+ J$ A W' {& O) A0 {7 f var itemiFrames = page.getElementsByTagName("iframe");
, j6 H/ S" P0 ?2 v9 x + P- h0 {, L6 b7 x. l3 ^5 `8 m% {' D
var frame, iframe;+ ]4 k( [% L! b; G
if (itemFrames.length > 0)1 l4 X' K. F: g) C- V
{
\( `0 j, C( @. {* @0 m' m for (var i = 0 ; i< itemFrames.length ; i++)
8 |- c& z6 o p {
' d$ T1 O7 x2 A, [1 D frame = itemFrames.contentDocument;
. M' O! p8 J3 J' q e# u; V# r this.RemoveHide(frame,objname); 0 M+ `$ ~0 A3 v5 y* x! \
}
* `$ F I! H% U7 }4 q! J( l0 l! H }
3 v# }1 N2 C: v8 P& z9 S8 S! Q if (itemiFrames.length > 0)
9 m- O* h2 w7 ] Z {
1 \- d3 W; v; ~: D for (var i = 0 ; i < itemiFrames.length ; i++) $ d% m1 K! Z) t( \. e- M. f! t
{3 ~! n' r5 ~: |( n }( M! s5 e
iframe = itemiFrames.contentDocument;8 Q9 s5 q8 X/ g2 P+ a
this.RemoveHide(iframe,objname); 0 p$ A2 I3 G( V% v- r' ]( A0 H# E
}
( K; F9 B7 _3 \* `% L/ { {% A; R }+ P f( |$ E% S |" z
}
& V* w/ P" \/ W. Z catch(e)
o$ s% B8 H0 [ {) h. j3 o t% H2 m4 `, |; d
if(debug)
$ c; ^8 s% r2 ~+ H9 [7 o {
0 K+ {6 X! x k# C! g: R; s0 [2 S alert(e.message);
2 U1 l/ B, O5 o2 n7 X" Y }: Q8 A' D. b- z. ~
}
2 y) T3 ^: b% r1 ~1 A7 Y7 M5 j }/ t! m, O1 ~. w/ H4 I% R; B; z
0 j3 Q0 F) P& `$ k7 Y& f7 U
}
, A: |" M$ m! S2 N; t# O$ \! u) H0 j9 z9 U ?# b( Z+ |8 h& `
function getRGB(colorString)
+ G1 R3 C6 j) N{
& T+ w5 c2 b, G9 { var RGB = new Array;
4 r6 f# _+ L! Y6 }0 c: v" [4 G& ? var tempSting=colorString.substring(4,colorString.length-1);5 `. u+ V* Y( q. l7 X
var tempArray=tempSting.split(",");! z A Q6 J) d7 F* I
/ X. h- W$ }6 ~; f RGB[0]=parseInt(tempArray[0]);0 m% V' b1 S' z3 I/ p; C, x$ h) X
RGB[1]=parseInt(tempArray[1]);* m! i, r v& m) v* o
RGB[2]=parseInt(tempArray[2]);% @9 @. `" h8 Y( U
) x" W8 x: ^- F7 k/ n0 D& d+ R5 E
return RGB;: I3 L! ~/ ]5 ~. w, r( q) ]
}
0 R7 v. m! a) _) ~function keys(evt) 6 {. [3 ?; ?7 B
{
+ W6 a3 x1 g5 | if(evt.ctrlKey && evt.keyCode=="81")
9 ?. k& k e; { {
/ w8 |4 X9 w% p; N' g- | CleanHideObj.on(0,1);5 |# i& h) f' `3 Y! i* {( G
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & _, D6 }9 y- H% T+ G% b+ A
6 ?" |+ W' {( J3 Z
}
( u; Y6 D" H* s6 Z) E; T } + C% X# G$ x- U& O' k
document.addEventListener('keydown', keys, false); " ~: G; n& _2 o3 j1 I
GM_registerMenuCommand ('Clean Hide',
% A: R! S* O7 U3 R8 J- r1 ?2 U hfunction(e){
4 h4 o9 @' U% S' v9 @ {CleanHideObj.on(0,1), X5 V: [$ `& C5 m' i. \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 d9 s5 C, f4 b4 k7 P6 [
});
4 A* r! w% l! A- N |
评分
-
查看全部评分
|