|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 H! h( w! K. N7 S7 u& c' S& @8 ~& r
9 R, ^% W6 _& p6 D! j火狐插件,用猴子
+ q; x- `5 W a0 V) Q6 e( Z, I& @3 x/ z# \
var debug=false;
. C( i( F* q1 Gvar CleanHideObj=new CleanHideClass();
! X" v1 U& E: {8 z9 K: s7 V
H. w) ^; h4 p5 Ifunction CleanHideClass() ' A. t9 @, @, ]
{
* g, f5 `$ G* ?6 D5 G- s( X Z' t
, Q- ]" t; {$ k& t this.on=function(id,bMZ)
; K$ ?* K5 h% a/ x' c; a {
3 y- o5 H. _' s% u0 f7 y. w ' N1 P7 {; i2 f& M
if(id == 0)
; c0 W: l. S# X3 {3 ]- _- A# @ {( n/ H1 p0 Q" M0 q9 \& q' h3 k
var page=/* document.getElementById("content").contentDocument */document; * e; L$ h4 G7 x& n$ k5 A1 R3 ]
this.RemoveHide(page,"span");
3 }2 r: G$ q# J; j this.RemoveHide(page,"font");
% t, k+ I; y7 M3 h6 x this.RemoveHide(page,"div");
) ~4 v) z! {* l) P this.RemoveHide(page,"p");
% e/ ]4 p* u, f! r+ y# E
* U. U3 f2 ^: r% L- x0 i }
, L, R# f! R( o
& P5 B4 F: b3 H% K; E, q/ S }
( q8 n) f5 J+ `: v5 z8 L this.getobjstyle=function(node,prop)8 a) R+ r) d! S m
{. X t" w) N. z: z5 _# L& J( f
try2 D& W# A o& E
{& g5 q: q+ U% w4 ]7 ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* B/ l; f# s+ r9 @+ A) z
}- y6 d" p9 R( j9 \3 c
catch(e)
3 ?% {# o- W4 a, [: S {) g' x! T& p2 y. h ]* ]( a5 F
if(debug): p$ k5 N# \# ]8 j" Y
{7 m& x& R+ l" c C1 H
alert(e.message);
2 O. F+ N* ^9 o9 q, M }5 ~; W- o( Q) V1 i4 c
% i! Q7 b) L/ L' }
return "200";6 t/ C' O3 Q: A9 J
}1 c7 C' y& n, r, z% c
}
- n$ n! U0 ], m) u
: j+ J9 n( G3 X) z- U' f this.RemoveHide=function(page,objname)% ~% y& E7 r" K+ d8 |% l
{$ o6 c G& C- {9 I7 V! M9 H
try
: g8 l6 i' H8 T% Q {
7 u/ A: I- E2 h6 `& P; R3 @% D var minValue=15;) E0 o6 L3 D$ A
var objs=page.getElementsByTagName(objname); ' N6 a" F* @# e
7 b7 K/ D, P+ Y% J
if(objs.length == 0) 2 X; w' N+ F. `( I: l4 l; q5 [% N
{3 g9 l7 C4 ]6 }0 T6 M' Z/ E( ^
if(debug)2 Q, Q, r% z9 Y
{
6 L# J# J' g8 F- _0 X) [ alert("no object found!:"+objname);
Z& O* r8 @% A. r K }
5 A" K3 i, E3 P& m7 C }8 Y1 b( o7 h( g8 }/ t7 h/ p H- [ {
else
& `0 I1 k1 `' p6 ] {
' H6 x7 L1 b% l) u( p0 J ! d' `9 w( n, \( G: X, D
for(var i=objs.length-1;i>=0;i--)
* K8 u! ?. v# k; m; s8 r6 o9 E {
Q5 b M$ M. Y' O# W" n0 t8 v var node=objs.item(i);
7 M+ {& E2 A* B: K% I6 |0 [9 P 9 }: W8 U) _( W0 T% H o N
: R4 f- b/ ]1 b8 u if(this.getobjstyle(node,"display") == "none" ||2 j# q& a. }+ M) ]; }% L. b! n0 ~' C
this.getobjstyle(node,"visibility") =="hidden" ||
8 n- v7 S' C; Z& N6 o parseInt(this.getobjstyle(node,"font-size")) == 0)
5 T2 {9 w& o+ T# i$ r4 T1 ]3 [ {- B1 B" n. Y( M9 B
if(debug)8 D: r6 j8 {9 c' N7 {
{
2 i: G! u( K0 q alert("remove invisiable!");
5 e0 m/ U" s$ M3 a8 u" o6 P0 p }
& j5 z. R& M& a2 x node.parentNode.removeChild(node);
9 G$ J3 M- e2 I: ]3 t- ?- n
2 L$ N Q2 l! b2 l2 K& K: f) \ }
8 N% h% v i ^+ c: o$ w! y else ( C+ Q* r" c( r8 B% i
{
/ f F) ~2 j. Y8 h& ^$ O" _ if(node.parentNode)
% F( q9 @" c- r, N! c, x* b( ] ? {* `3 V4 p& c# B
var orgNode=node;
0 e. Y+ i: o5 ?3 [4 X0 H2 L var orgColor=this.getobjstyle(orgNode,"color")5 w* T4 d/ O! ^; W4 w( h
var orgRGB=getRGB(orgColor);
" T7 C; p* A1 M* A
5 [/ Z$ S' a) _4 ] var parentNode=node.parentNode
' O5 f$ _2 M$ R% _! a& Q/ ? var parentBgColor=this.getobjstyle(parentNode,"background-color");! v N: r: u# o
, i0 K1 q+ b' K7 K9 E var isLast=false;
- E6 V, J; R) G' p % x; ~, ? J! u8 V H1 O
while(parentBgColor == "transparent")
Q4 ?1 n1 V# E2 Z {* t' J& }7 ~# M
* X* o; I7 d6 U: V* Y2 [
% C* [1 F0 B! }% S; {* ?3 ^* b if(parentNode.parentNode == null)- w5 x5 v( g2 M3 r+ x" k, H+ W
{3 ?* i3 {8 V. |
isLast=true;. A& O8 y$ N0 N5 N, j. u' @
break;7 A% L! P0 X. _. Z0 m
}: @6 f. V6 M5 _# y! }# f( x, h
parentNode=parentNode.parentNode;& Y4 t8 |$ B: w5 J( i8 ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
; @6 H: `' ^; e1 l9 l2 B0 h; @# v3 n3 [. S6 v* r; ~7 o6 T# v
if(parentBgColor != "transparent") ; s, b, @& \/ T( j! z
{' m5 m1 [7 S& z' K2 J# |
break;
" M( |, j6 {( t3 R+ T" x }
, V' [, ~1 L8 c& j! D) A }% F6 p- I5 L- g' y3 {2 |% y$ v
if(isLast) : g3 P* }' d1 [
{
6 c3 r9 A" j& O" `( w. y7 x if(debug)
, K( b7 l/ {- Q {
: e+ E( S- N% p alert("last!!");
$ N' t3 y+ k" Y0 {. p6 }: ?2 L }7 o8 v) d) G4 y, u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 O) s% Z p8 \# z {2 N+ y0 [7 w0 C+ X4 I2 Q3 @/ A
orgNode.parentNode.removeChild(orgNode); 2 H6 C: z6 n* p9 V
} p+ U1 @& D/ V* G1 G
}
3 }. v( q3 f2 J1 o/ E else
- o: L; O) V6 l8 O {
" [8 b! C% {* r& y' I# W% O( D if(debug)
6 P6 w: U& I6 M- y. e {9 n0 m3 {- Z3 u1 J
alert("compare color and parent bgcolor!");- F1 O/ I0 T# q% _( a! t' b* j
}
6 h) V0 q# ]' z2 y6 f( k, |% d parentBgRGB=getRGB(parentBgColor);7 D: i4 }) V) g. }- u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& e0 s5 C7 R6 k. V {$ v6 O& [! d6 ~5 A* g
orgNode.parentNode.removeChild(orgNode); ! f4 P4 c5 L' ~
}$ n$ }" {* w! g2 X& Z* v8 B9 p
}& k, g( P% H; R3 N1 |/ k8 P( v
}
; J7 q6 S( K6 G7 g5 o }. U, X: g: t" [8 |+ k, ]
}
! U" Y% a- E( v& g$ | }
0 W1 `' _& u7 c1 `" z 7 R( `; o6 ~! ]7 J7 _
) F( D, h& D8 @7 i var itemFrames = page.getElementsByTagName("frame");
% S& z, g. L" Z9 ?% l$ v var itemiFrames = page.getElementsByTagName("iframe");. N; Z* ~, I9 \
& @0 Z2 D% W ?4 {: D
var frame, iframe;
+ a6 v, [; l3 z2 M3 ^ if (itemFrames.length > 0)# y2 q8 V! {1 y6 P
{( T/ w- q |! x% C* f$ z
for (var i = 0 ; i< itemFrames.length ; i++)
7 S" U/ C9 e7 `. e; s. i {
& W. v+ o# V& Y0 ?( H7 j# b; _ frame = itemFrames.contentDocument;
, w% H8 f; J; n1 k# v) T+ `1 D this.RemoveHide(frame,objname);
4 A$ D* E6 U+ v; p- { }8 Q. e b) I; z2 S* {! e9 f! I2 Y
}9 l6 |/ \* |) y" w* Y
if (itemiFrames.length > 0)
. ~8 O' T9 [7 |& R. e! p# O0 X" Z& j {
& K0 D# w* n/ u- H8 ?2 _ for (var i = 0 ; i < itemiFrames.length ; i++)
! v) z; d8 r( p; E( [& s {4 M- c8 G, W6 C# B% u/ I4 s
iframe = itemiFrames.contentDocument;
, B8 {8 [7 q5 z this.RemoveHide(iframe,objname);
1 g3 g" e8 D" M }& | Y' N4 [' v3 p) Z) c" I( X
}5 c$ S* J8 C/ t+ U
} h; G, M- _: g/ s
catch(e)! _+ a z- G; `7 Z; x( I u
{4 y/ L3 y) f3 H. `3 P6 @7 N, z
if(debug) L$ _8 B4 L( F$ v& J7 Z: r2 X
{
8 ~4 N, R$ `- v) a% ?* `+ a1 R alert(e.message);. J: ?! b1 Y6 N) v2 L1 W
}. G0 x# }% B+ W6 ^
}
( m* C# m& M& r. | }
( v' |7 m2 [1 k$ @! L2 l. ]
4 m! p6 z8 Y j9 K$ m5 m( c}
3 |; h+ T, @0 {. G4 G9 }- z2 i( q0 I
function getRGB(colorString)2 \7 t* J. _2 ]1 Q# v3 V
{9 ^, P1 y" @0 t3 r5 t) c" m6 o7 k
var RGB = new Array;7 d) I0 v5 F1 ^9 R/ \
var tempSting=colorString.substring(4,colorString.length-1);
" [8 w& O" N7 V var tempArray=tempSting.split(",");
! k' ~6 l6 Z! M1 Y/ r4 c& N8 E, k7 ~' x
RGB[0]=parseInt(tempArray[0]);0 S9 T& D4 _- _* f& D
RGB[1]=parseInt(tempArray[1]);7 E/ P& X/ e. x
RGB[2]=parseInt(tempArray[2]);) @# s1 k$ O! U4 @
- {. y! Z. d) j
return RGB;6 r$ X4 j; }; H6 y% K2 T" e
}
8 H3 z/ @+ C4 g U7 |" Xfunction keys(evt)
9 f/ a9 U+ ^* V- M {
7 x g6 b$ a' |( p3 s9 H if(evt.ctrlKey && evt.keyCode=="81") ' x, Y' ^8 k @* Y) h5 \1 v2 v5 a; t# `
{
" e7 m5 A4 [6 C' m CleanHideObj.on(0,1);) P% x' `# x/ B$ X0 |3 t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: Y; B# A i4 A; i+ S8 o2 r
" R' I' g o% \/ ?5 W0 a3 j }
% t) i4 Q: X* h, @( F1 s1 {" O }
: e8 w+ \1 B Bdocument.addEventListener('keydown', keys, false); - m& f; w, m) U8 b7 g
GM_registerMenuCommand ('Clean Hide',7 u; K7 K( A8 q5 R) D
function(e){
6 B4 P) `& g4 A- f% G" eCleanHideObj.on(0,1)0 ~6 o" \: W. m* q+ N( E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 n' n% T6 c h& w});% c I$ O+ t/ i4 [) q4 s6 @+ L( H
|
评分
-
查看全部评分
|