|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' I; K+ H# e: ~ E( d
6 T0 v6 v$ {+ K$ m1 Z# O5 X火狐插件,用猴子4 w* K# Y# O/ h: u5 ?
0 w r) T0 z w2 T
var debug=false;
7 a% Y/ P$ |+ u9 v4 dvar CleanHideObj=new CleanHideClass();
' Q! E3 x# `" E; i P4 [2 q
( j% |% W( I" c: Pfunction CleanHideClass() - a+ O5 F5 D( [0 P: G
{ . I z% r3 T& L3 N
5 B5 |7 s/ D* {; C, j- [4 x this.on=function(id,bMZ)" m R, X. q. a" `
{) }! T& ?5 k* p, ~+ L
" t6 w- x) c! E- T if(id == 0)0 q3 ~" A# l0 U7 n2 e
{- z: L; }; r! W5 ~
var page=/* document.getElementById("content").contentDocument */document;
( L3 a8 n* e. W2 V/ l+ h this.RemoveHide(page,"span");2 `/ A# X7 ?) v
this.RemoveHide(page,"font");! F9 H' F. X, x" J1 X; |
this.RemoveHide(page,"div");0 t9 ]1 K9 P" [: U9 \* {' L
this.RemoveHide(page,"p");+ O' q) f/ p1 B* X- G8 J# a. k: i
7 m" U1 R+ v0 F/ v( L6 Q7 A3 ? }1 d7 C2 \& I, |1 }) g6 Q7 o
$ W8 I7 [9 J2 P) }1 l: } }- p; L9 ^. E# x+ H3 m
this.getobjstyle=function(node,prop)
5 {" O( p2 @( U# H {, ~# h2 X# A$ J$ C' t* T
try
: Y) V1 i, Z! v+ v {- ~5 s- N5 {; `. R6 x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) t! G2 |- U2 ]/ y) L/ @) A, e
}
: y( y% l: |2 w8 H# \+ L catch(e)) n: s# e/ ^/ e" j5 y! i' q. D
{
D6 T* |3 _7 D) }$ Q4 W& p if(debug)
3 E" y1 |4 t) T/ S/ C) f7 f% v0 ` {
5 B6 B$ _; }* y+ g- }6 y0 B* y alert(e.message);8 H; ^& q9 R. t
}
- g6 }8 x5 `" s- @
; F5 u2 I& Y5 @) g return "200";
4 j6 K& J! q( @ }
; [1 ^- S' U2 B7 k1 v }' ^, i- l4 |7 l% D `8 I7 `* G
8 X) v8 F7 d1 J- M6 R1 f! N this.RemoveHide=function(page,objname)
* w2 D+ }* x) u, b! y8 T1 y {
, ?- e D9 x" L Q try
- @3 x0 Z. A s% V {& X# \/ P2 @1 ^' P$ L; c' r
var minValue=15;
P7 }; D) I* w8 H6 v; ?6 h# G var objs=page.getElementsByTagName(objname); . |4 ^: O( h4 y& m
& u% `' ?! v6 o* Y. C if(objs.length == 0)
1 o6 L5 q- K- L. L; C- l% V& I {! H2 f. Z J$ H4 H [. T1 f2 Q* J
if(debug)/ Z7 i) o9 h3 p+ W/ j0 x3 F9 R
{" E; F- x" p5 |5 T5 A3 [ G' o
alert("no object found!:"+objname);
P" k( w% ^4 m( x3 | }
# ]8 j- t. X" L }& Z g$ T: O3 m4 I
else c# H }# ?$ F9 z& N, ]7 k Q8 B
{- y% X0 M% |% Y0 K+ l; H w; _8 H
& K; O; j; @# \6 ?3 K for(var i=objs.length-1;i>=0;i--)
: N; J! p! a$ ~: M* X1 d# d {& U8 N7 j. [4 J3 ?
var node=objs.item(i);
: l+ E! q( J: K 6 a2 ~1 h6 j- r8 r0 x
9 L K) u" F8 H- f$ D
if(this.getobjstyle(node,"display") == "none" ||
& A* N0 E& n1 Z3 n6 g this.getobjstyle(node,"visibility") =="hidden" ||
$ K. u$ D4 D& v' j' g parseInt(this.getobjstyle(node,"font-size")) == 0)
2 o8 C( e1 D. c ?4 q8 @0 ]2 _ {2 D2 J$ L1 e$ Z6 T( S$ f
if(debug)% i: u- _& \& E3 x/ f4 U+ U
{
+ Z3 V1 J+ O# }7 q# F alert("remove invisiable!");
% G# V% \* ^7 ^6 a5 A }
/ v* I9 M' Q% a; T node.parentNode.removeChild(node);& S O' Z8 n, O
8 Q7 L- D, R1 \! C5 P1 t% k
}# T$ t, ]/ _$ J- {. e8 z' z
else ; J1 m. W& k7 b' D
{
1 F b5 _) v/ B if(node.parentNode) , V8 k0 }' U1 q& F z
{3 y4 U4 a! ?2 s! q. x
var orgNode=node;$ D l* d4 g' W( g* J( f
var orgColor=this.getobjstyle(orgNode,"color")
- ]: | B" Z! q$ t0 F var orgRGB=getRGB(orgColor); / M$ O) Z E! l9 z# o. W
9 e: T' ^. \6 G$ x0 U! v& B
var parentNode=node.parentNode$ p9 S" I, u9 g; H& Y- ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");) r4 D6 H$ u$ ]2 D) q6 U. G6 l
1 _% U& c* V% P0 _
var isLast=false;3 O0 R; v8 E) ?( H2 }
' Y1 \- n3 g" {3 p$ W while(parentBgColor == "transparent")
2 Y$ n8 E6 m" x( U$ k2 K6 V {/ [4 ^# s) `" o+ u T
7 Q2 F$ b8 j% z- d% S+ m
7 D3 ~3 U+ [+ v9 \1 H+ S if(parentNode.parentNode == null)) T! q" p, o3 k) L9 w# `
{
' x6 Y8 P( @) E isLast=true;, }. S, O, I; \4 n
break;! k) A$ ?! q9 O/ Z' i" }* c
}) m. Z9 w# s" p+ ^" R% [2 W( D, q
parentNode=parentNode.parentNode;. ` M$ A, H2 Q
parentBgColor=this.getobjstyle(parentNode,"background-color");
M0 n4 ?+ D3 e# _$ v/ `. i1 w1 u9 b
if(parentBgColor != "transparent") : q$ C/ ^. y1 S* A
{5 [2 M: i$ j# r: g; M; _6 ?1 b+ X
break;. X+ H, G' b% D, T6 P1 b& K; z0 O6 |& v
}* b7 I- _! q7 w/ T+ C' z1 a' R/ ?
}
- g9 o5 @+ v6 K3 f0 a$ u2 K if(isLast)
4 T8 s$ a9 T7 \/ F: t {
3 T6 }% r0 ]6 y( } if(debug)
% I, z8 n4 M8 v" B. m {* d1 U" ]( o6 U+ j% q8 i0 y S R- T
alert("last!!");
9 t6 j" I* f% s2 `: { } l" W$ l4 @& [8 E' [5 G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, N- y0 F/ j; @ P( C' l5 N; e, ~ {
1 v1 ^3 p1 W5 [! r t/ A orgNode.parentNode.removeChild(orgNode); & e2 Y* i/ y4 b3 H7 _ T
}
% U* u8 W4 F- @# V }
( A- N% Y+ {1 f `+ \. w, W else
& z0 n8 V& ?" E* S1 F {4 k$ j$ \/ s# Z1 Z
if(debug)3 |- S& _0 i* j! ?# X
{7 b6 W% ?. \" h7 S& B- z
alert("compare color and parent bgcolor!");/ t( J M9 r1 I; C1 J3 r
}# _5 e8 p/ k3 z; H# @) m7 q
parentBgRGB=getRGB(parentBgColor);* t* k$ B, A# v- k5 i2 F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- ]7 G" ?- {2 [+ \- D* C
{
; f8 t; F7 \- e) A orgNode.parentNode.removeChild(orgNode);
4 |$ V7 m, X E) w0 n1 P }
4 g' E. f/ B, K: j% B( [ {6 H }
2 P8 n. ]& I+ w: j6 ^5 Q }/ [% C: G2 s( {- g$ r* n
}
" D, ?5 B( T$ o# _& o+ u) b }4 [" }* V! b7 f$ ~; ?: {3 O
}
$ ]* p" v* w) I. q; o; } * t5 y1 E+ V6 M& O0 [, l1 B
5 s/ U5 \; T* Y" ]
var itemFrames = page.getElementsByTagName("frame");
9 z) u2 o; w. a l* U/ B var itemiFrames = page.getElementsByTagName("iframe");& Y& [" |- c. A
! ] d7 S4 @' W V2 L* I) I/ Q4 H+ N var frame, iframe;9 S$ B6 o: i) s3 b+ m
if (itemFrames.length > 0)% Z& I) X4 R, _. P2 L: V
{3 J, O; _7 w$ I8 N% J) u
for (var i = 0 ; i< itemFrames.length ; i++)
* e& o% b6 S+ K1 c' K4 W- n: [! { {
/ }, T; W) f' m0 E. }' A frame = itemFrames.contentDocument;
- y2 ~. L a* \5 ] this.RemoveHide(frame,objname);
# H% i+ P6 }) `2 n }& E1 @. g% N( z; ^( ?
}
1 U$ | l8 m+ C9 g7 p" O2 I if (itemiFrames.length > 0)$ C, L3 s F% n5 ?! m/ k7 X
{
9 ~- L! |5 ]! i* ?+ d for (var i = 0 ; i < itemiFrames.length ; i++)
$ l7 d: Q2 o: E3 W; ^4 X {; L) F/ K% {$ g4 \9 [7 _
iframe = itemiFrames.contentDocument;
6 K+ X+ h- X3 ~1 c( ]- _0 [" J6 v this.RemoveHide(iframe,objname); 4 J: t# h2 Y9 _
}3 _0 s( o* g- |( G0 ~ g% m+ V
}% ~& N; P0 A7 @
}0 D1 v6 f% I8 p$ v& K2 x( W
catch(e)3 P( e7 U" K4 @ y$ ^, q* j; w
{
' O3 I9 ^' K1 x! a if(debug)
" u3 _% K1 t+ Q* n9 { {4 c5 j! J- u i% g S$ V l1 c5 H1 i. r
alert(e.message);& b" {9 b9 q9 A2 z9 l# w4 Z
}
# q4 a& k( \2 g! D0 M }; ^( a( w& m/ Q: y
}( Y$ Q9 y7 E/ h
( q3 _8 W' z: Q) u8 w. r' E: L, c}
7 V1 A& Y/ K0 N! ~# l) t9 \4 _
5 P0 ?" ~4 N Y7 M4 a4 c: d$ ]function getRGB(colorString)
8 j0 O' a" h9 q! K{
) S- M# I, [* g. z5 m0 q3 v var RGB = new Array;6 t; l! A6 D) w. s3 D5 z# B( }
var tempSting=colorString.substring(4,colorString.length-1);
5 X7 P/ ^. M3 I9 ]' j6 v1 B var tempArray=tempSting.split(",");( W7 {) y+ f$ O
1 b$ g+ F4 U0 U
RGB[0]=parseInt(tempArray[0]);* M& B- f: A* h+ G) s9 B2 \
RGB[1]=parseInt(tempArray[1]);4 U; h7 X$ \1 Q; t( D, F
RGB[2]=parseInt(tempArray[2]);: j, d! c# w2 C. Q, y# m
2 n8 Z3 z- i2 q% H, a: ]
return RGB;0 G$ [9 M' d$ I: ~! T4 m& v/ w0 _
}
: B F. o6 Z) Y; @* I4 K% T/ Y+ q) Afunction keys(evt)
! x/ _& g3 |: p6 ] {
, T/ ~" `, z9 | if(evt.ctrlKey && evt.keyCode=="81") ! x6 b: V2 U d8 w% {$ a
{
5 ~0 o; [. y# S, c! I* | CleanHideObj.on(0,1);+ w+ A) B5 K2 c* C" k* r( k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 o. M2 t; x. \
+ e' A, ^2 o3 ^' }7 E2 J$ f
} 7 _ W) `; S: H' J- f7 ]( f- D, w+ o
} ) Q+ A$ O! F0 N) H
document.addEventListener('keydown', keys, false); 3 q) f4 c& K3 b3 I$ x* {
GM_registerMenuCommand ('Clean Hide',: }7 ~/ r9 w( v
function(e){6 Y0 O: | }0 p0 p* l% e. k9 U
CleanHideObj.on(0,1)
J* t B( [3 X: M6 ~4 aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( z3 @2 v- s) a& w6 b% J2 p});# r# c V4 u- h- G% F9 W/ E
|
评分
-
查看全部评分
|