|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 N' c: Q. i! S0 A" M$ \
* j5 t: T* P& N& [( `. i L; f火狐插件,用猴子
6 d! t6 i( W$ o
# R" I/ o7 M6 _# _) W$ F; s$ U% x, evar debug=false; z8 _& f/ @! q
var CleanHideObj=new CleanHideClass();4 I2 j/ b; e4 A- D, j, y3 |/ o
0 H) k7 H! ^7 w/ X
function CleanHideClass()
* w% A |4 V( p7 _{ 7 ]$ O( n/ K4 f9 o4 F+ N& J0 c
$ u# D: s+ A. S
this.on=function(id,bMZ)! i! I. s' P" X
{9 S7 `* `1 X+ {& T; n* U
7 F$ P" q* M* m: f if(id == 0)+ ~4 j7 V% a; F% s
{
% F* z- {& F, G/ E$ \ U var page=/* document.getElementById("content").contentDocument */document; 9 m ?0 v: |5 j! o! X8 |$ i" @8 M2 v
this.RemoveHide(page,"span");
5 w' J& q0 N8 G' m( k* a c this.RemoveHide(page,"font");$ x4 M `/ ]* G0 Z0 h ?9 I
this.RemoveHide(page,"div");) v4 K# f) o6 l" {& a
this.RemoveHide(page,"p");' n1 c, i, @: e" n" }. r
( J0 y& P' }" r( x/ z
}8 P6 S/ l" y5 ~2 p/ ~, B3 ]
1 I7 m$ V' \+ s5 k! A
}
7 m u. J5 S% o! a this.getobjstyle=function(node,prop)
$ o9 l7 C: h# e/ `$ @% W g3 E3 ` {
" {' [2 M5 [0 A, [! U try2 V) D, w; M4 u, c7 [
{4 o* q! ~: [4 k* o! k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 ^& }0 J, ?. m! f }
6 o4 m k {4 F: x/ d2 h catch(e)3 u9 i& }8 @0 G/ t& P
{- r E* s6 S" a+ M) @ H% a$ ^
if(debug) F) n ~) q% r- v( z H9 g2 O' a
{
8 Y a1 p# h1 Y4 D alert(e.message);
' D. Z) q7 H( g1 k }
0 y" b6 L9 ^- f7 H% C: F
0 K8 b5 ]1 `# I+ N$ C return "200";7 n: |9 O) t% \3 t" {0 |9 c9 }
}
+ d5 q9 E- P1 J, W( j5 _# _. f9 W }
@" s8 N& L1 b) g 4 v+ j# ~: ?1 P) m, R0 Q1 B& M
this.RemoveHide=function(page,objname)
6 f2 c3 \1 x9 B& ?* z* J8 r {
; G( a6 d2 o6 ? W, L4 \ try
) j* S/ s8 T9 c: _* ]3 V {
/ _9 b1 N& ~$ I* P3 ^ var minValue=15;
$ D8 e8 b6 X% P# D' m0 ]( X# c, ^* U var objs=page.getElementsByTagName(objname); ! `5 w# ?! d' N* s
& b b" C* J' f j: Y) x* ]
if(objs.length == 0) ! v V$ ^# z9 @& j q
{
$ J' r4 n L9 d( P3 ]1 v if(debug)
4 v: U. C+ k- {, J8 M/ b' B* \ {) b6 H. b, o8 |
alert("no object found!:"+objname);
' j1 e; R" p9 {/ ^- u4 v& @8 j }4 s. o% u5 M3 ?9 G: V6 r1 W4 n
}, q8 x; a! Q& ~* J& t# v
else& }1 [7 w+ q2 l7 `
{
5 H* K) P' b/ b" O% k/ L+ g
3 f9 j+ s8 }/ O% D; y& u for(var i=objs.length-1;i>=0;i--) , @: _' s8 U, \: x' @$ T
{
6 p( Y. x+ X2 \+ _+ M var node=objs.item(i); 9 r6 Y% o; ?- G" K4 V( a
* t/ c) Y& `* ]* P( ~: U
5 _. n0 _8 K5 n5 E6 A' K0 D if(this.getobjstyle(node,"display") == "none" ||
' B' {% z4 @8 n9 x3 a& e# ` this.getobjstyle(node,"visibility") =="hidden" ||
* d; t7 {$ C% ^" S3 ^/ V parseInt(this.getobjstyle(node,"font-size")) == 0)
; K. q3 Z& F1 i6 E/ Y& ] {
. X8 b3 U" V4 {! _, a8 b! c# s2 ? if(debug)
! E& U8 E4 w* X6 f2 L2 F: \( ~ {6 A! W3 z3 L. }4 w* u% O6 S7 K1 s
alert("remove invisiable!");3 v9 y. {" X" o; j4 l! W) h5 w7 Z
}
7 P6 Z- N, V0 p& |8 T) m node.parentNode.removeChild(node);
0 W$ t" J v6 }! i: j 5 W: l: X6 u# R
}
6 e: Z7 {5 `; @6 h/ e9 _ else 0 Y# G6 c& ]8 h7 ~; v' |, o
{
6 `; r2 x- S3 _$ ` if(node.parentNode) , A. `# b" z: s: |4 T: f' K4 M, N
{
& `' U/ C/ y' E. @) [ var orgNode=node;# o, d8 E; }0 t* z: Z
var orgColor=this.getobjstyle(orgNode,"color")
/ V, C' U+ d* F$ G1 ] var orgRGB=getRGB(orgColor);
% r2 `7 n2 K! H0 F1 M# I ! {5 r# x! N( U$ }2 K( R% ^
var parentNode=node.parentNode
( j; N( Z* T- X( f! O8 n' H/ s var parentBgColor=this.getobjstyle(parentNode,"background-color");& t) b2 X+ n0 ~4 R& [" [
. l$ N/ P% ~2 W4 H var isLast=false;
s$ k' f+ U1 v) N* _ ( t4 W& ?2 [) |2 ]. u
while(parentBgColor == "transparent") & S$ { [- J' i6 U
{
3 W* g9 _3 g. p+ b 9 ?2 Z9 U; r# w7 x$ I
- ^- n a k0 g$ \* V% p if(parentNode.parentNode == null)
! |. l# [( X( ~9 [% w* O$ U2 g5 m4 O {
: o0 p5 n' l8 ]( K isLast=true;3 l4 \. H+ c4 o7 X8 J7 g
break;+ v6 s2 r P$ o
}
" n9 c4 @& P% y/ E& J4 @+ b parentNode=parentNode.parentNode;, X6 G! t1 ?6 v4 |
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 m. h6 M2 D! x, h% m! v2 L8 N1 O G! T* R1 k8 }
if(parentBgColor != "transparent")
/ P1 X8 k/ R* l {8 _* p! h. t) M( k
break;9 s( G N$ ]- W; I% x
}
, E" A9 [* v+ J& y% w5 L }- P% _; r! S2 e2 Z% a
if(isLast)
. d$ f) H" i# a# S {. I( `+ u) O+ j$ Z" `& t4 W! B4 A
if(debug)6 Z* u4 j, L) F( g, K# \4 m
{, d" f8 O0 N% B6 D
alert("last!!");
& U8 x; E, V( y9 ]3 c0 r- P! c# w }
6 l% l- w' I0 ]1 [1 h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: ~) K+ L p, u5 s! w {
/ s) J* [( l& V6 k& l3 k* T+ {- L) J orgNode.parentNode.removeChild(orgNode);
% q' ^- |8 Z8 S% T. _. M- ] }
3 o$ J! m- ]; l2 J8 ~6 H }
" L4 V/ H; @& s; O else
" L9 W/ q7 S- c" z {. Z" ~+ d9 u4 Z% z+ ~
if(debug)
4 `3 J" A- R6 I6 ? {
/ o$ f8 D+ E1 V alert("compare color and parent bgcolor!");5 W3 C3 Z- D8 f L+ l- M
}; ?) l) \0 y! i: }" Y
parentBgRGB=getRGB(parentBgColor);
6 Q9 ~# x! G @% d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 S. L: T2 }/ r, x. F: u2 ]' @* i9 v {4 ?+ |2 [( N6 w4 \
orgNode.parentNode.removeChild(orgNode); % x, s% ^' U! p) j6 y* t' i( S
}
9 C7 f5 O* T1 k4 q8 O* y }6 q# A( l. U2 h& Z2 N* a. {
}1 c3 e! Z6 J& m
}
7 f$ W5 h: D- M& F6 S4 ~ }* H7 t: Q! N$ W6 [& C
}/ h( y) f; c" k0 K' r, I
& |8 P% @. b" h) E0 k, M% z& O
% R$ o7 [) |- o/ \7 K- `9 p1 Q var itemFrames = page.getElementsByTagName("frame");
( J5 z) j0 o# X, R2 f% ^ var itemiFrames = page.getElementsByTagName("iframe");
1 _, K3 [, V: U; H
' w( l: l( l4 M var frame, iframe;
, i7 u' M( W6 Q% z' k1 q F: E if (itemFrames.length > 0)
1 \2 {% P4 L2 @" ~6 s( Y {
( c4 K2 a3 b9 N( a' W for (var i = 0 ; i< itemFrames.length ; i++)
1 V! V6 A7 J+ u; h1 L* z7 |8 x {
) W' a( S/ c: W frame = itemFrames.contentDocument;
; L8 g2 z1 T* I0 r1 L2 @/ S9 I this.RemoveHide(frame,objname); 9 c* e" }! T5 \! q
}
6 b! G$ i7 u U% V }1 T# d; j/ @" Z* _9 q. Y( T7 k& |: J
if (itemiFrames.length > 0)5 n' `4 x3 e2 O2 n# t
{6 T: S! c+ _! ?
for (var i = 0 ; i < itemiFrames.length ; i++)
# |& X5 f: p6 {8 M: X' ] {
: Q- N$ e& _, [* g1 H; a$ K+ J iframe = itemiFrames.contentDocument;, v7 {; I: I8 s6 v, @
this.RemoveHide(iframe,objname); 3 A) t" V$ m: }, V* [; `/ c
}# w4 x5 K. E1 g1 z
}
! u) s- a4 C$ ^4 t }+ Q! _' e) a+ O" z/ Z% ?
catch(e), K$ c0 m' X; ]( R& d" u* S
{! f# |4 b( B U8 |
if(debug)
% Y0 p/ |2 D, [+ t! N5 \# F {& R/ f0 D* @3 s2 f2 ^7 `
alert(e.message);8 b; e, d/ G9 t
}1 H7 b U& A/ o" S3 `+ ]
}
) g8 o" d8 V" g6 ] }3 X" @5 H( t& N; E0 @
7 o& A5 m$ y6 D# W/ W; Q/ S
}
: y* U" ~9 d9 r; \) r' w' K$ \9 ], ?* B
! m# D) E; G4 e/ w" c$ \% v. Rfunction getRGB(colorString)* I8 g" w9 o- N7 U: [7 z
{$ y6 Y( l9 H& K) {8 i
var RGB = new Array;
0 j6 Q. o \4 L9 c$ N3 u var tempSting=colorString.substring(4,colorString.length-1);% k; Q$ I* ]; ^7 ?0 V$ s- M4 i
var tempArray=tempSting.split(",");# c8 Z* j+ Z) |+ \0 i5 c
* {8 f/ N7 p; L RGB[0]=parseInt(tempArray[0]);
/ k2 `1 t0 F: q3 j8 a3 L, u RGB[1]=parseInt(tempArray[1]);" O: y, K; z. ~
RGB[2]=parseInt(tempArray[2]);$ S! K, \2 D3 x6 E7 b
5 c7 v0 |# |/ Y& ~$ \( D
return RGB;
9 w) B* F f+ y% B+ g* `: _+ }/ n: m" n}
$ g& b% {1 N+ i" d* a9 wfunction keys(evt)
, i1 H' l: B9 s4 g) g { 4 h0 |8 r$ N; e: J3 |. X7 K' p! E
if(evt.ctrlKey && evt.keyCode=="81") : I: l7 |" r( U& Q( @1 @2 Q/ r: Z
{ 0 O+ Y3 l9 R1 s6 m
CleanHideObj.on(0,1);
+ |! w( D! M! c0 L! P% q$ p6 A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 l* y9 [# S& n O; U2 q
# M1 |* G3 j- U e! C* n# k4 h } 9 _# ?# ]9 d* B% L9 P$ f
}
0 E& x" @# W! @7 f) edocument.addEventListener('keydown', keys, false); 9 v8 k3 v3 s) V$ R! z8 ^; L
GM_registerMenuCommand ('Clean Hide',1 i$ {: x, T0 Y
function(e){2 q0 h3 S' q2 H& @
CleanHideObj.on(0,1), r. I; c0 B6 S0 Z- O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 l9 w2 |$ z) ?% ?* M
});
% e3 `7 C9 U7 _( B) { |
评分
-
查看全部评分
|