|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 q# J& E( M7 ~- P# K5 M: q, Q" d, X) u- u. x6 t
火狐插件,用猴子
& O, p. c% I5 h! X0 E; u5 e" z
0 d8 \* o6 U2 g+ avar debug=false; $ v! m4 |/ m, b1 H3 |- y
var CleanHideObj=new CleanHideClass();( Y: j/ c- p3 B, {: Z
$ B$ `# d" l8 N, b2 d3 a2 N+ L
function CleanHideClass() + _% V5 X1 q) X7 y- ?5 i
{
& M8 y5 m4 ]0 w' c1 P
2 \ ^9 E5 \6 {$ r# U this.on=function(id,bMZ)6 w" U6 u0 k4 s, g7 k
{" W) K4 i* v* p, o% F
' _. U, i; J- M. v( O2 l
if(id == 0)
6 V9 Q. f1 L0 F( o {
1 Y" X! B$ w8 k var page=/* document.getElementById("content").contentDocument */document; / @4 y. W t% ^$ l9 G
this.RemoveHide(page,"span");2 g( Z: I0 @" f. } T
this.RemoveHide(page,"font");5 ]1 ?; \6 M& r2 t4 B! ?* B: W; z
this.RemoveHide(page,"div");
5 {, L$ B* t d" O this.RemoveHide(page,"p");4 H) K. Z! [( G! y v( T7 ?
% @9 K7 D) V2 q }- E& ]9 J! C# S2 J$ L3 a
+ i+ u9 t5 I# F) o$ b }5 \0 I8 e( \ [6 U9 I
this.getobjstyle=function(node,prop)
# H8 O" t8 T5 o# r1 D {# L4 \9 W4 s7 b. z& u( z
try
! x$ g# \! ~, H( m; [ {5 N5 c z3 m' N- p6 y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 J- M3 S! ~- S+ [2 u; { }. n* r! b) g+ W' I. ~) Q
catch(e)5 U; s9 h( I- k, y. o/ J$ m
{
3 U; h) L' Z" I/ ~/ \ A, S if(debug): q& [1 j) ]& c3 \1 ^0 Z
{) o. R9 R7 S" O% y* k/ K/ w
alert(e.message);
2 f, [% C, ]& l }/ o+ x4 h& e, V& h/ P' g. v
/ W7 a; O/ @. Z1 R" |# X
return "200";! ~# m; L0 Z: R3 o1 r
}
% `; G! H7 S* Q+ B1 x$ D6 t% } }
$ _! s9 V# |3 C) m
1 I" P5 a# L1 A. Q1 `( |9 E$ Z this.RemoveHide=function(page,objname)
! o5 c$ h( x5 l" V {
4 @' I. W. H5 B) X1 ^; { try/ c5 P$ C3 b: ?9 U& G
{
. k3 G& o4 ?, M6 @ var minValue=15;; g5 }! v4 X) X; ]. m
var objs=page.getElementsByTagName(objname); 6 d$ [6 ~: M: e r, `& b4 j
! U# m6 J3 d1 _+ b8 P
if(objs.length == 0) - ~% Y* D( |1 ^' R g3 k3 E: K
{2 e% x+ e b! S; a9 K1 {
if(debug)
7 y% n' b3 @7 w {
) U4 y* v; z) Z/ Q0 ~ alert("no object found!:"+objname);
& X: K6 {+ y' F b- U$ Q }
- M* p5 C% j4 j" s }
8 B& l4 o5 M6 L" W+ Q. l# g) Z& {. T else) ~9 S9 w* _$ u
{+ T1 z) M( q/ g% r' |. j
# K, ^" X8 D7 {9 H2 H& D( b for(var i=objs.length-1;i>=0;i--) : R& b/ M$ j% H& ]% C P
{
! S" D* {) ~4 S4 j var node=objs.item(i); 8 [+ v7 k( I8 ?* J! B9 C3 B9 {
7 ^; q& m4 X5 j v( G( @( t w - ?' Q. r( ?1 m- R- Z- C
if(this.getobjstyle(node,"display") == "none" ||5 p, X2 T; O' J! f7 C5 f
this.getobjstyle(node,"visibility") =="hidden" ||
}% V" B. k4 b: G7 g" x! X& Q parseInt(this.getobjstyle(node,"font-size")) == 0) - w; D* V, t6 l' n" [& ^# h
{
4 r- w- o! C: g# k4 D, o if(debug)7 m" @+ [5 Y- }6 V+ d8 B
{8 q. x/ J7 ]5 |7 [
alert("remove invisiable!");; f0 T( g0 j% C9 n8 ^ k0 W
}/ ?8 W0 o- ~5 Z
node.parentNode.removeChild(node);
& Z2 _6 ~) y/ A. x
' {2 [; m6 v. b4 z, m }
6 I5 H6 f# B" o else
$ P$ y0 i j- e3 C) K9 \' ~ {1 C/ n$ l! Y" I3 d9 l$ e. } Z
if(node.parentNode) 3 [# {% ^' k- Q
{. P4 j. n" g6 ~' }. K& M
var orgNode=node;" N. {+ Y' j8 n# V% ]! S+ [3 ^' H
var orgColor=this.getobjstyle(orgNode,"color")7 [ L0 v- n% b" a( m; ]9 B% p
var orgRGB=getRGB(orgColor);
7 g: U* D$ w# p6 y6 N1 ?4 d0 H 3 D! q, v/ Q. y" z) Z! S. H+ H9 G; g
var parentNode=node.parentNode
0 Q y& a) K3 B var parentBgColor=this.getobjstyle(parentNode,"background-color");+ y# v4 _4 Y1 A* F
1 H) e! `; h8 h: K, N
var isLast=false;! O; Z* P( T( @% d4 d' i
+ ]; R& e+ Y3 n7 f% A' H8 D
while(parentBgColor == "transparent") 7 Z& K& V: J4 Q7 ~& k* q* F
{1 k# Y6 O8 Y% d% R3 W3 z
& J d" \6 d( K# a" }+ _ Y# P0 K
8 S7 @& s# q; a8 s, u
if(parentNode.parentNode == null)
, C+ j; R: E6 `5 s2 Y9 \ {7 E4 M0 _. Z1 J! W* C
isLast=true;
" Z4 ]' x1 U7 j break;
, g6 X3 n# s- Q8 S } u7 R- B7 g5 D" @7 C2 `0 Q
parentNode=parentNode.parentNode;
7 h6 A( }' M. A' }& q' F parentBgColor=this.getobjstyle(parentNode,"background-color");
. ~: x( z9 @ v ]* N. H; u
. G6 k( |; H7 q7 k0 I* ~ if(parentBgColor != "transparent")
0 Q- D ~+ f' ~ {
& ]3 _& I1 f( j3 \ break;
; k# E7 S8 }4 \& C }
( X. |$ n2 ?) n# D: {) `1 [# U z }' ^; s) t4 G" E& z
if(isLast) ; Z; F4 K; {% s1 M7 L8 X
{
, L c$ Y& ?$ _3 u if(debug)
3 U( X; h- ?8 | {
# ~9 T3 u# v1 B4 Q, E3 G: @ alert("last!!");
I6 Q) }- E/ V }1 z ~3 Z/ y- x$ s2 B
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' {0 g6 E- ?$ o {% K3 |; _ l [0 E3 e/ V) E
orgNode.parentNode.removeChild(orgNode);
# ^4 w; Y; C* q: y* g) \ }; q( y9 `* G( ]6 Q
}' p* `2 S# s4 ]" u; p% X
else# S+ N; P% p/ B1 q
{' d. {) }' U; B3 j7 e! A
if(debug)2 r+ ^. f5 b. B
{
; Q0 `$ {8 a1 }2 \, V+ S alert("compare color and parent bgcolor!");. h6 u6 W1 M6 b9 I2 K
}
! }' k: c* z8 c9 m4 D! U parentBgRGB=getRGB(parentBgColor);' m9 e+ L, N, A$ \4 w- d. y- k( h! ~
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ b) Y0 l6 w, E9 E; W* d
{
; N* N8 f5 E- [9 S" d! ?5 ^% k orgNode.parentNode.removeChild(orgNode);
3 g- m/ N) A: V& t4 r$ f0 U% M7 P }
- f/ d, X$ A# h6 I6 K! N+ ~ }
& |0 V m9 J1 M }& K; ?1 P8 h7 c+ e1 m3 Q! i
}6 x A, o/ c4 V0 {' K; G; o7 m
}0 W: y/ w' H. r; a4 @
}
9 Y3 q4 _: t# [; b0 m z * B! X+ T3 M5 @
* h9 f1 _! \ i4 b
var itemFrames = page.getElementsByTagName("frame");
+ x2 m7 i# d9 T3 d. r' \$ X, H var itemiFrames = page.getElementsByTagName("iframe");% l2 w& @* O9 |7 J) f9 U
) X1 U( n+ B4 C8 r var frame, iframe;
$ S: Y/ o9 `% i0 n( S, X if (itemFrames.length > 0)
# J7 c2 j0 y; P" \3 W1 ^ {
# L- l; M! W+ t, S* k for (var i = 0 ; i< itemFrames.length ; i++) 7 H- ~* V: N% Y9 u0 J0 g2 v& l- Z) ~
{
5 K, [+ f) a) Y4 k frame = itemFrames.contentDocument;
4 t8 j/ |9 S3 v this.RemoveHide(frame,objname); 2 K' ^8 {5 N0 Z6 {1 q
}
2 A! N' \2 M4 q) X5 I# h8 e: o }1 |! x6 d( T4 e
if (itemiFrames.length > 0)
9 z! J$ W# I+ P {5 U7 J; w6 V& j6 W
for (var i = 0 ; i < itemiFrames.length ; i++)
* d) Q q8 p2 v) N+ Z& m {; f5 `# z& e8 _
iframe = itemiFrames.contentDocument;
* O K. w% g2 r this.RemoveHide(iframe,objname); * a9 w# H! V6 [9 ]( x
}' n1 D# K! g8 L
}
0 U+ u c/ A3 r% M! M: l/ J$ k9 w }
q$ t9 L) n+ A7 U1 } catch(e)8 `( ], w2 M5 k- `2 o H. }
{) Z/ R7 O) t4 z( Z% N0 o' A
if(debug)0 I1 s' S* \& ?" L
{
t' D/ U" O! J" M alert(e.message);. ~+ E4 n+ P4 _7 _2 c! P" X6 I! g
}, G9 _4 v1 F7 M. a! m' G
}+ E- I+ u- L8 X+ n7 x
}+ N- k9 k* X: ~' E& I. D/ T: t9 {
# x. M/ g, k; X( q7 D}9 l2 |) B4 @! H) m0 Z
& l" U) P( f+ W% [
function getRGB(colorString)$ f0 C! h& M. N+ U
{8 U" E2 H; L# i0 u! p ]
var RGB = new Array;
$ X0 L) N& x5 x var tempSting=colorString.substring(4,colorString.length-1);
( z) x4 k+ x6 v. f' C1 s' ? var tempArray=tempSting.split(",");
) T e; N( w- u. j
% Z9 E7 t9 P8 l0 s, } RGB[0]=parseInt(tempArray[0]);4 g6 u, L D7 \. D% ?2 x; Y% K
RGB[1]=parseInt(tempArray[1]);
& o1 q* J! f# B# O8 ] RGB[2]=parseInt(tempArray[2]);
* x& A" V: t- a F6 h) ~& l
7 V+ Y# V) C5 z2 X9 I return RGB;% ^ c. Y/ b4 _! c
}
) N8 ]4 n- J% Z9 A+ Y( ?function keys(evt) 6 w( L) X& L8 O4 N' `; ]) a% Y
{ % D' D8 h. A3 P1 Y
if(evt.ctrlKey && evt.keyCode=="81")
" }- H0 C, d3 ]& l0 o; b { 5 c1 u1 D$ u6 @: S9 V1 [/ o
CleanHideObj.on(0,1);2 s) c4 V* O# X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 T7 ^+ _/ w* S+ `8 H ! M# t( l5 i) c9 g) w3 I4 K
} 6 R! Y0 W+ J) x# r
}
/ U, ?5 B$ ^3 e2 [; B$ X/ `8 Bdocument.addEventListener('keydown', keys, false);
`+ e$ e( l# v7 i$ V9 y' p/ `GM_registerMenuCommand ('Clean Hide',
/ z8 ^/ n- `" @function(e){+ q$ A% `0 q; [! f9 ?
CleanHideObj.on(0,1) V* y/ v: \9 G( B( y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. E& O: n1 \$ w7 C$ Y}); z8 c" C P' n5 |# L& t
|
评分
-
查看全部评分
|