|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 k& B5 c/ r2 P
+ c! Z# v& Y) s. t# R
火狐插件,用猴子$ o4 q4 i+ T% }3 r" K7 ~
1 I8 p: A& P/ f2 K. e
var debug=false;
2 u6 t% m7 D# ~) w+ Nvar CleanHideObj=new CleanHideClass();
0 n, u4 T+ _; ?2 ?$ w* ]
# ] r- n# q5 x; a! T) W. k5 w% z, @function CleanHideClass() 4 W6 x/ N1 w% Q# y3 M
{
* {7 Q* v3 }+ N% D: t4 x8 f% r
6 `* h) u# N- f' A% C this.on=function(id,bMZ); s8 h: @' t8 Y0 T% O) B
{
. T, F! _# f3 [; u( n7 z0 w' l! L ) P; K. }& d( f6 w5 Q) h
if(id == 0)2 H1 a3 T8 Z/ W, u" U9 W2 `
{# W( [, f" @; c
var page=/* document.getElementById("content").contentDocument */document; 5 a& j! a8 S% M% N2 ]
this.RemoveHide(page,"span"); ^5 \* u# {6 S8 F' }6 N+ f* Q
this.RemoveHide(page,"font");* D; s5 B3 F" r% Z) O: h. h
this.RemoveHide(page,"div");
0 [2 Z. Q% n! |. ~$ S; z this.RemoveHide(page,"p");8 [, j9 L! X* A
# M" K6 }+ U) m* v9 Z. l7 ~0 l! m! F }
( D% ^# @$ ]8 }, \# o2 e ) y8 c1 r G4 @, @8 M
}
- O7 o; Y. B3 C$ H$ o8 W0 g3 s this.getobjstyle=function(node,prop)
8 y- p7 r8 z& G9 x {# e* K. L$ Y; [+ P
try
; [/ ]: v4 s) T$ H {
, h' w6 }* Z5 P# N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 Q q. A d6 {& N! g! M& p8 X# g
}* A/ \- N- B8 k( b+ k. H
catch(e)' @, X& }) x8 P/ m, ^
{
: t0 F! N6 B! l, C" ` if(debug): Q- f: k) c, ?' K R- b/ D
{ S( q+ H" X2 F" |. e
alert(e.message);0 e5 N$ c$ O9 X9 f0 T' W- N
}* }9 r+ I+ _/ ~, D8 r0 ~
! S( h- ?1 T$ [" m* m1 k0 p return "200";, j2 A7 w; n/ `
}: q" A' c* A' L- D
}
* P: v4 B! D5 ], N- K 7 F4 W. ~% q1 _* e, W
this.RemoveHide=function(page,objname)1 `3 t3 s. P4 d/ t1 ~
{
7 R. F6 c( h1 u! @$ m try N$ s8 a+ L9 i
{
$ Q9 s" J* v$ O( s5 g3 L var minValue=15;% L+ w, p! U0 f6 T0 f' ]0 }; H
var objs=page.getElementsByTagName(objname); * v8 ?2 f6 q( J4 ^4 _) W2 f7 u" D
4 s5 q4 Y g; u
if(objs.length == 0)
% @ m# \3 W$ U4 l' K {& ?* P6 c0 Y5 R0 d" n
if(debug)
) n( U! x: u4 p( h {
5 @! p# C. h8 i( `" S- f alert("no object found!:"+objname);0 B2 B+ F6 x1 T( B2 L) ~
} O, `$ }# }* X8 J5 W8 |
}, W* ]3 J0 E$ g$ j; A0 n2 I' [2 ^
else
2 T+ |# I: V& H. ]; ~6 @ {
& f* c9 i7 m7 T. ^' A
1 d& r" Q) r1 b1 }- r for(var i=objs.length-1;i>=0;i--) 9 O3 X }! r" D5 H% t" f
{2 m6 w2 c3 `: w) E' ^# m
var node=objs.item(i);
: f8 W+ }+ k; T+ k$ s : z( q+ m( ^& f! ]7 q/ z3 ]- ]
: v2 @6 R$ H5 i* s if(this.getobjstyle(node,"display") == "none" ||) z; b V8 ^6 G+ d% T0 n
this.getobjstyle(node,"visibility") =="hidden" ||) B# ?* }( c, c+ O
parseInt(this.getobjstyle(node,"font-size")) == 0)
! Y' T# X& v6 \5 d {
# F3 b" n7 X0 T3 B/ O if(debug)9 B9 o1 l% V6 J
{
. A# l1 i9 ]' z% M alert("remove invisiable!");
) A; D1 K" \( j; l1 b5 |$ H }
0 p1 T R9 S2 Y C5 K6 c. U node.parentNode.removeChild(node);
" G3 n& }2 G9 ~) l" o8 a8 Z, y0 ~ 9 q+ L v6 g0 x; @* T1 Y
}- d. d# Q5 {; T3 o R# l# ~
else
/ m B& O% v, \ {/ j# G, n# B+ Z) E: c9 W
if(node.parentNode) ! s" [ b1 D8 C6 ^
{! Q* N4 l: q. N) x& b& p
var orgNode=node;
A5 X2 @/ A& G+ `- N7 } var orgColor=this.getobjstyle(orgNode,"color")6 l- {! q; Q0 S0 g+ z
var orgRGB=getRGB(orgColor); 9 ]' W3 b5 o) W7 g1 e
8 h% i# S6 s- x
var parentNode=node.parentNode$ ^" m0 q' `) W* _ P
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 L& Y6 m; k( ?
2 F( O+ H8 l3 v' w- K var isLast=false;' S: P& g) P% |2 l+ K! v
! S/ H( I9 j7 E while(parentBgColor == "transparent") : b4 @# a; L' O4 e
{
, n; D/ p7 N% {4 C
) W- s7 D- C. Z5 O7 ?8 Y 1 ^0 K2 \) s/ `; `" l
if(parentNode.parentNode == null)
2 R R% m i' H; l {4 b) I' P+ s- s
isLast=true;
, s$ p- t; h% ?6 p7 c break;
* v: h( U( V* M) X: ] }
1 W( l8 m% e/ H x parentNode=parentNode.parentNode;
. T' Y3 v4 A( }8 S parentBgColor=this.getobjstyle(parentNode,"background-color");4 |2 {, Z- o: |$ d; O8 M N
5 i% ~7 |& E9 R- w/ A
if(parentBgColor != "transparent") ) S9 l5 S2 {* r" U i+ S7 E
{
# G7 r" E9 R9 `% T4 O break;
u) @: ]. v8 Q) R3 n) q }1 e& B2 }. n5 M$ o7 C
}
z( E$ P0 T* I6 O0 a# w if(isLast) ! [" W. ?6 H' I J7 L+ _: y- l
{
$ ?( W: [9 M# f if(debug): ^1 q1 W" q, Z0 m
{
* z. {5 S" Z, v' f0 d alert("last!!");
( B- a; F3 N& f+ c: q6 H }
# ^" K* L; K5 z# q3 [) P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& ^" ^3 c! k% I; V2 n {4 ]( o5 x0 w( N- k- u7 J" v' }) C
orgNode.parentNode.removeChild(orgNode); 1 o/ ~) L: K* d
}
# ?8 \! n8 \& V% X! f) G* w }" ]+ m& E" z' ?7 g
else
! O9 k* y) ?& a: D% Q {
5 G, _) x* W7 y' c8 a4 v3 [) ?. | if(debug)
. q4 z$ h; q; m9 @ {
* x8 q O2 {: g2 d* x+ S/ l alert("compare color and parent bgcolor!");
% N* e* B7 c, T: s% ^ }
! T5 X" i/ { I3 e: [1 |! L parentBgRGB=getRGB(parentBgColor);
% S& j- i; J) R8 R$ P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 c" R* `/ O1 k( S, F {
) c0 q3 i7 i s2 k( z. ` orgNode.parentNode.removeChild(orgNode); 5 A- U: E9 h* v# W8 i) A8 K
}2 k7 l2 k3 A% T7 K8 y
}) |: i% R% _. d1 X$ w, N# w
}
4 P1 h+ \, ?: L% d+ z1 A }
" C/ G9 K# {. P t1 S' d }
! r' k; Y. V# b: {8 d }/ u1 @) _- U2 { s# T. y" D/ j
+ p% h% Z3 u6 y" r
2 ~% {2 u* ?! i- l# A A: p* w
var itemFrames = page.getElementsByTagName("frame");$ P* q1 n9 d; o8 d
var itemiFrames = page.getElementsByTagName("iframe");0 c$ S' k, d& u% C# Q' X
5 A; \1 r! e( E y var frame, iframe;' g7 d# l5 e, @ G$ T
if (itemFrames.length > 0); U* s J- n& _/ p1 r9 s
{
4 a$ S( H9 F1 b; L6 x" \$ l" M% u" j for (var i = 0 ; i< itemFrames.length ; i++) # ?# E* V8 o; o s4 C q; }
{- q+ m8 W! L+ E$ W5 R
frame = itemFrames.contentDocument;
6 ^; \% I# Y$ \& D% q3 c this.RemoveHide(frame,objname); : T& p6 u' H3 }9 ]6 h1 V
}3 {$ y, M& V5 P# W
}
& }1 \: I+ ?. N9 e. v) J, r if (itemiFrames.length > 0)
: _/ {0 W4 @. c! v+ d {
4 d [3 s9 C3 ^/ E5 Q# |) w for (var i = 0 ; i < itemiFrames.length ; i++) 6 {$ t- O) ]0 _
{2 H; A% U% m' t" @( z0 H
iframe = itemiFrames.contentDocument;
' D4 X8 |$ k, r) d8 s; b this.RemoveHide(iframe,objname);
; V4 `7 \8 `1 D! x# M9 D& B8 q }, \0 Q& I5 Q" {) J7 ^2 y6 @ ]
}1 H Z0 l( D r+ H/ G
}" Q7 n. |+ y1 W
catch(e)7 _! B8 _9 _4 ?% k$ ]- O
{
1 o) l* j2 ^6 w: K0 x if(debug)* ]3 |- _- m0 w% N
{
+ F# ~! k) z. e! U7 P, L alert(e.message);) t4 W% k; I- M6 d1 s4 R
}
# m( x9 S# E! B- ?* f" M } f$ Y7 d/ ]4 a; `) q0 W6 v5 r. f
}6 X! M" `) f. ^
% L- O* c, I3 k q0 u0 f
}( a$ ^" g q' I. K) G
8 P! @1 J3 X) C
function getRGB(colorString)
* {; J8 t# H D; y/ _* B' d{+ P j# [; n( P7 A: e' s
var RGB = new Array;
# ?; k- \8 X& r' J var tempSting=colorString.substring(4,colorString.length-1);( v. H- R9 b* k, z
var tempArray=tempSting.split(",");* G" c# U6 d3 o9 S6 ?% N# d! v
. Q" Y% e C. V; z& c4 E+ Q RGB[0]=parseInt(tempArray[0]);% B" U+ u: G g2 T6 \
RGB[1]=parseInt(tempArray[1]);
; c! `& C1 X& V1 E" F RGB[2]=parseInt(tempArray[2]);
$ y/ L# o0 z, Q- z 3 h" o2 W% v7 t! s+ z; Y( v
return RGB;
0 E6 I- P/ Q4 D( u! r}
& x' s6 N/ z a3 tfunction keys(evt) 0 \7 P( i. u. S
{
( B* z( [6 E* X7 T! u+ b% w$ t f if(evt.ctrlKey && evt.keyCode=="81")
. a' a- W" k& o) `! @6 E! w* _- H { / Q1 C w& Q* D; @) m) W; Q. f
CleanHideObj.on(0,1);
! d0 k) t# s7 D% r0 |, ?* u alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ z; w2 I9 J% ]& M; o- X# s
: E+ w8 p+ L6 O. q
} 3 ^1 K. d' L$ q, e* y! n |7 P
}
$ O0 I Q7 E8 U% e. _" O( Rdocument.addEventListener('keydown', keys, false); 9 j* n4 ]4 F0 T8 A8 S
GM_registerMenuCommand ('Clean Hide',' C) K, V( M$ M" r9 q3 e# D
function(e){
4 d; V5 l+ m2 x8 M. F0 q, z$ k- UCleanHideObj.on(0,1)
) E) B8 d% ]+ B4 Falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) D$ Q1 r! n( j8 {8 N});
y1 C- G/ z( P5 P/ X& \" y |
评分
-
查看全部评分
|