|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; e7 y4 D' R* K7 z/ z1 G+ |8 Z. h3 K3 u( [' c- F& v
火狐插件,用猴子( F! {# a2 I# j0 I( J7 B- D
8 ~. e7 F+ Q$ K4 M6 X0 |& U
var debug=false;
N' @& s" W7 a9 ]var CleanHideObj=new CleanHideClass();3 [/ o; C+ {6 X1 V+ X
$ R' k+ c$ ]. v1 I6 P. k9 N t! gfunction CleanHideClass()
- N5 h4 Y6 v: m; }6 _% E5 I: [{
1 O+ T4 v h4 H' y0 B) R6 z: n
. Q' k3 j( p/ x+ k% I this.on=function(id,bMZ)
- N3 A5 g, t# `6 { {- H* X; r; ]6 x; R9 q! h
2 y1 [0 k' T5 L: Z$ d- O
if(id == 0)
2 W' q) O, O U s5 l* f: s6 V {
7 Z6 B! q' A2 i- }* T: [$ }- ` var page=/* document.getElementById("content").contentDocument */document; 5 S8 e: B) b) g$ ]. b* n7 D- X
this.RemoveHide(page,"span");
3 |# g. c1 t& F4 U4 x7 k this.RemoveHide(page,"font");% ] V" h' ~* S. ^ D/ E
this.RemoveHide(page,"div");5 |; v2 i5 b, x- i3 c
this.RemoveHide(page,"p");) d8 X" s- q* S& Y8 r
) ~: b! `, ?: ?! c$ w
}
& O! A& L" L% a& ~- G4 _4 T& m( j : r7 O3 H O& y6 n2 D; q, _7 X. C
}: T9 Q$ p! q4 F0 O% `' U# i/ Y6 l
this.getobjstyle=function(node,prop)
! W! }5 y, z6 p$ z5 R. G {
: Y& E7 t" c' r try
, O6 v: l, Y( q1 g% w! f {
: r$ ]. E# P# H9 d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: f* Z& q9 C5 ~2 W& T3 ]9 N }
0 F% s; b4 s: j N+ U: X catch(e): d' @* E5 H# w! i
{
0 E, a2 i: X% ~% s if(debug)* _3 A& @, a; S1 Y6 e
{
7 O M5 V7 c5 }: i! X6 M1 b0 @ alert(e.message);
# p7 Y2 U: K9 c& f+ F; _$ L }" \; G' t9 s7 _$ X0 j% K" s
6 |. @3 G8 ?) i; \/ T- V! _
return "200";& Y4 w% W& ` O# h# _7 I& Q
}0 H/ i0 G( H& t; O
}% j/ r- P' _! U2 M
5 q9 O- \! K. i5 o this.RemoveHide=function(page,objname)
$ `) \3 I: a& O5 d7 o3 P5 k {' X. R$ W1 {3 g' i7 T
try1 R' M" Y9 E# w- B* ]( |2 O
{8 ~) N$ H" T% y7 v3 R. e* n/ ]" R; d
var minValue=15;
' c) s7 f! F9 d5 ]8 E! G var objs=page.getElementsByTagName(objname); . U8 m- s4 K4 W2 Y8 s" Q Y, K
$ j, \* Q- G& E# `$ B$ V& f2 |
if(objs.length == 0) ; L: R f: G- _4 N
{
9 T% P" J' y3 F- ^# y if(debug)
& @! s" ~6 j* g" O4 z& { {
+ ]% A5 q+ R/ G# g% S, u \ alert("no object found!:"+objname);; y) w" Z' o8 U3 A' y8 j8 X( \
}
6 \& u) m% L! T0 F0 } }
/ z! h8 Y: G, j, G- h" l+ O, j else
/ f- _0 L @. } a: M {
/ m- Z+ ~3 K) E+ K/ a" W9 g# T6 Y
1 [ e" C5 I/ t% w* H" P for(var i=objs.length-1;i>=0;i--)
v3 J' u, v7 z4 O* W! a" q {+ c$ U" p ^- _4 N! ~
var node=objs.item(i); . r; [% `: u7 j9 \* E% W
' T4 d; p- X# N2 k0 S! v2 z2 X
" d) J. L( L m, L& I if(this.getobjstyle(node,"display") == "none" || Y4 V2 a* e, O( D( |
this.getobjstyle(node,"visibility") =="hidden" ||
1 f9 e. ]( L+ K9 R2 e3 b. g parseInt(this.getobjstyle(node,"font-size")) == 0) 4 ?( ]7 w0 I; o7 z
{
5 ]; X8 |. ?5 ~5 b2 K% {( J if(debug)
& Q5 a6 w J1 L' ^. d9 T# q {4 u0 X) E) j# R8 r% l& E
alert("remove invisiable!");
( G- t7 D0 r X }
?" H5 [. S! r' ^' H node.parentNode.removeChild(node);+ ^# Z% K( D: A1 X; [% ?8 a/ S6 N
! Z! G$ T5 W0 v" L
}1 e) F; B3 n. b2 @2 W" B
else ; S0 t8 W I( f) U# S
{
+ H) A' p6 f6 h5 B if(node.parentNode)
+ v% [4 _& t7 H) }/ M6 \; j$ G {, x% o1 D* ~( t* c/ S
var orgNode=node;7 m. }- C6 B4 {4 D$ C
var orgColor=this.getobjstyle(orgNode,"color")
# v" [. A; b. T5 @ var orgRGB=getRGB(orgColor); ' L4 B, y- v: L- @1 ]
3 e" L0 f0 q1 x! E3 W7 E+ B* ] var parentNode=node.parentNode! `. G8 \( U ~' R* S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* X8 y6 W5 v {0 [( Z$ l
6 _9 o/ z: Y7 R5 O- S3 T var isLast=false;
' a' U3 m0 w; F+ a% ^! g8 k 5 o; [% d* n; W0 a
while(parentBgColor == "transparent") $ ~4 q* P0 n$ _0 e
{
: u1 [: Q4 k1 \# e 8 | x }7 P9 E, x
' `$ q8 P( Q8 t2 S7 z+ Y if(parentNode.parentNode == null)7 ~4 A( U @. c/ R7 y
{
8 ^: I8 v( w! l- n isLast=true;
3 d+ k; w4 m$ Q% d2 q) u break;" Y2 s5 s4 }, r" n% p6 _4 h
}3 M7 ^, R& s/ V! g8 M. M
parentNode=parentNode.parentNode;
i( i0 L6 b: B6 Z6 [% s) b: Y9 O parentBgColor=this.getobjstyle(parentNode,"background-color");% G" \0 X; ~1 |* U" W
9 q. y4 z5 x7 @% h: a9 U
if(parentBgColor != "transparent") 4 o# s6 _ X: k) u3 d7 e
{
7 y. ]; Q" J9 Z" K0 b! |1 i break;/ i) d/ l. h% }( E! t
}* N1 W0 O0 h0 {. D
}
1 |: |: z, x! `! y2 C if(isLast)
4 d: s. p3 Y4 |% v9 f5 S {1 f$ e( F. H+ D& u( e
if(debug)
' q9 D2 e5 Q6 ^7 ^0 [ {3 M# R' j, M' t' a, a5 `
alert("last!!");
% \' U2 ]& D: u4 I+ S' O$ L }
6 n( F i7 G. E7 `0 w: Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 a( [, E, w9 f9 e0 O {
i" l2 F- [2 C1 | orgNode.parentNode.removeChild(orgNode); , K7 N6 \* M$ n+ K' K1 {$ e
}
1 a5 S: f \! v; m }5 v) ?# S6 K# g7 W
else
7 m0 a, d' H* f {+ X. A1 M4 n7 |9 o7 h' j
if(debug)) i/ {: j* h5 [5 H
{7 H) ^# R# ^& Q, [0 A
alert("compare color and parent bgcolor!");
@4 t1 |/ x6 `& ^( u }: P4 G( Y6 w, U2 ^9 l- [) v
parentBgRGB=getRGB(parentBgColor);* c7 N1 c6 ^* z* r4 e3 o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# m$ b# t) }) m, d7 `' b
{6 `2 ]8 ~6 I2 M- K7 S* h5 t, B8 j
orgNode.parentNode.removeChild(orgNode); 1 l8 y4 z2 V7 F7 T6 E7 o. X' I% M
}
" k1 ^/ r) Z% b }
; }9 D. |8 X$ H. e, W: w }
! A2 H: o' e1 x* L2 y) F5 _ }% R3 M) s% D( e h( E
}
# F& b4 T, I3 l) C7 j% V/ G. t+ U }
+ i3 s9 f4 _4 i6 H' K: Y
' Z& D" g4 [$ a: s2 O( w! ~ * [3 ?3 x/ ~: e% ^5 u) V7 e
var itemFrames = page.getElementsByTagName("frame");
/ J' \/ y6 r5 c! M) D, L. g8 x var itemiFrames = page.getElementsByTagName("iframe");
" J! H; `7 G. C2 P) s: Y # ^/ C9 e8 M" m* P* \) h
var frame, iframe;9 U1 Q. m& _% ]. q+ ~1 [
if (itemFrames.length > 0)
9 o3 M+ l7 V" c {
- `3 ~ u2 F1 H' _9 Y% f6 x0 i! \ for (var i = 0 ; i< itemFrames.length ; i++) 9 U/ c% Y4 E3 p* b" K1 J* K
{
- O' g7 ~: y* g! z frame = itemFrames.contentDocument;
+ b5 r3 b5 a& Q {0 k7 A1 i this.RemoveHide(frame,objname);
5 V J: g; D P$ n) ^% ] }
# ]7 N0 y8 a2 F! o4 o }6 g5 r! R1 g! a1 G( ]
if (itemiFrames.length > 0)/ o+ j) f }% ~0 o' X
{
- p6 z& F8 c! _) W for (var i = 0 ; i < itemiFrames.length ; i++)
* }. l7 p# S7 p$ T {
5 _, D7 m. U" ~ iframe = itemiFrames.contentDocument;5 z( Z# j7 p6 Q/ u" {% l
this.RemoveHide(iframe,objname); ( o5 q. b( E9 C# ?# k
}8 L( J% f8 n0 u# T* o( ^
} ?" b0 L7 O7 i3 l
}1 i( _3 D6 o6 D6 X" S7 R1 d
catch(e)+ P G$ S {) D5 H
{
$ T* x$ y/ i7 O7 O if(debug)
$ V& r5 _0 ^: G7 L4 \0 x4 I$ E {0 q0 J' J" a7 Y$ [ c' P( _
alert(e.message);
1 s9 ~4 F5 s7 i$ W }% |3 r7 W9 ~: J) x3 i2 o0 F
}
8 \+ ]7 v! ?, p3 U9 t2 I }
_+ _3 J9 K: _& x 9 n9 P3 G/ J( q3 v
}5 U6 n- g& P7 n" k' J4 e7 R
+ o! [ ?( n- @5 c$ j0 M: [
function getRGB(colorString)% @. S. J" O- Z7 R' l1 ^
{
. p$ A* j4 w/ h/ R var RGB = new Array;
: z' Y+ E% c- ^* f- [# c var tempSting=colorString.substring(4,colorString.length-1);
+ x$ i6 L: ?6 k. J' H4 l1 O8 k var tempArray=tempSting.split(",");
* ^" j2 Y" R# [9 O8 \! w1 D( _4 ^8 k3 W- \* G. d8 `
RGB[0]=parseInt(tempArray[0]);
! L- u) N; X6 _( ]: | RGB[1]=parseInt(tempArray[1]);/ s" g: X& ]5 f* x+ H7 ~( I/ H& W
RGB[2]=parseInt(tempArray[2]);
9 E, }+ ~% F5 `+ w% i , a3 m% S8 r) ^+ |; {* C
return RGB;
" u2 y/ H! }; ?7 N2 s) T}
$ i7 J- H- d& {' Ofunction keys(evt)
4 I( f* R2 e+ X' u6 t- C) {2 Q { 9 x _% i; ]$ Z! W2 o
if(evt.ctrlKey && evt.keyCode=="81")
\# Q: Q7 H1 \* D0 Q {
" J) J+ ]3 z- g( p6 h2 _* s CleanHideObj.on(0,1);
* j; {0 y; e; N& W2 A# C( T alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& p; N @/ Y9 t: W4 K 8 n$ _" l) R {- T
} 6 o, B# P0 `8 A
}
7 o( l& S- `2 b( wdocument.addEventListener('keydown', keys, false); 3 s$ G( Z; Y+ B% Y$ y- N, l" x
GM_registerMenuCommand ('Clean Hide',
! d; \4 l. |/ M. `% F+ x$ I9 Ofunction(e){
; U- T$ z0 h+ N8 a# _+ WCleanHideObj.on(0,1)4 V* n! M, O* N; X- q. y$ R3 U; A' r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) v3 ]3 X/ N: U, l; C9 [});- Q( q9 [: l' t" X9 _ g
|
评分
-
查看全部评分
|