|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , P- l) @' N( y2 r
! ?0 y2 F- T1 k; @( ~9 {( }9 |火狐插件,用猴子: c2 B4 x, P: E
' _" K1 P$ Z6 x& o ivar debug=false; 3 B. d K. o5 N8 ~
var CleanHideObj=new CleanHideClass();
/ r0 T$ x+ e, |" Q8 s t& d" i( I9 Y, i& ^' T+ M
function CleanHideClass() 9 o+ ]( \. j R/ {/ C3 n/ P8 [
{
0 U8 N! s6 b% S
1 h2 a( ^ o) y8 I) a4 e4 i( j this.on=function(id,bMZ)
3 L V+ W3 ~' ~3 V% J2 S7 o1 M {) i, y* s! f; u; J: I0 ^
1 E0 Y. T; i- K; `( K$ e
if(id == 0)1 s. M' y E- Z4 N6 _
{! z" e" A1 A* D! A; w0 z( V$ v. j
var page=/* document.getElementById("content").contentDocument */document; Y" B2 F) _$ t9 a
this.RemoveHide(page,"span");& W6 M, x; ]) g
this.RemoveHide(page,"font");1 G' r- K5 J3 K0 ~* \
this.RemoveHide(page,"div");4 U6 a8 z0 @- y7 W9 G' n( u
this.RemoveHide(page,"p");
) _) [1 E& L/ o9 B' A) W& u
9 H9 v; G9 t# c; f }
- F* b; g, V$ Q9 W8 g
* T* f1 }2 g( D! k }
, m# o# E8 z. _4 Q/ ^. O( Y3 s. I1 s, q this.getobjstyle=function(node,prop)7 q% ~' T* g4 ~" h- h# h0 Z: g
{. R* N D% D$ T6 w& R
try6 b: H4 T" F# X% O, x& P
{
# f3 ~/ |/ d P$ I8 _7 x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 t' \; I H; |6 ^! @, ?9 Z; X }
* ]8 v' k6 k+ m0 D catch(e)' W) o5 p' Y# Q0 [6 R- Y+ c
{" X! o2 I/ g' m" Z
if(debug)$ ^6 a. T) Z& f0 E" B7 s
{
7 g' s( h* q# ^3 N alert(e.message);7 X" \; _ W: G$ l+ T) u" n- `. k
}
8 u Z4 N* N, H( c0 M
$ `% K3 S7 n( G! J4 [% x3 h* ^ return "200";
" V! \' @0 t$ j }
9 |7 l% z/ r: ` }
; ]# i! V3 f: \* ~0 j6 r6 ]6 }8 N6 U 6 U$ L: W: J" [6 K2 W; @
this.RemoveHide=function(page,objname)1 Q# r* }' H, K: {3 ^0 B
{
: O9 _: M D$ [1 C3 C try
* s6 G1 {& k) g6 X }$ E {0 u9 Y" y8 u' o* ~( C
var minValue=15;! ^3 Z' E9 O' T- e+ s! q! R
var objs=page.getElementsByTagName(objname); * Z2 t" `" ^8 L) E* x5 B
! ]% ~* v( o5 }# r9 s
if(objs.length == 0) : {& [9 R: E6 u- e! \, j8 o
{
4 \' e& B r0 ~# n if(debug)
7 L5 l% f7 j8 A' l4 s; V {
# I- \- r$ I$ i. U' `$ y$ a& Q0 l alert("no object found!:"+objname);- f n. u3 m+ k2 L% W- {- B
}$ U" T# }8 p! B+ ?" q
}8 _9 x8 m' c. U6 I0 a/ c
else
7 V( L/ g( A# j8 ?( | {' g( `' S7 ]3 p' i2 {
+ c5 S: p2 ` |! \# I( f3 i
for(var i=objs.length-1;i>=0;i--) 6 Q6 j n" Y, ~, X
{! Z% V: V+ @5 E1 f* B! o: A
var node=objs.item(i);
8 D; a7 U, {; t" C* M1 N
: r) k! d# ^# Q! {2 C 5 z. M( W$ b6 F& p" L) X
if(this.getobjstyle(node,"display") == "none" ||5 v6 B" @! r$ W t# ^5 f
this.getobjstyle(node,"visibility") =="hidden" ||
9 g: K5 t1 Q6 @+ v0 P# \. M, r parseInt(this.getobjstyle(node,"font-size")) == 0)
" z$ A0 O% \: W% U6 M8 c {
9 E+ b" Q9 k7 e( F8 H% m if(debug); ?1 \$ }' {5 t( d6 s. c
{. D. Y! _" M" z/ X" a$ K
alert("remove invisiable!");
C5 f) e3 W: k9 q- v }
+ H/ z% y9 u: q; f$ S8 \& w node.parentNode.removeChild(node);
" D% t) x! m! g+ K' t : |) |4 v! Y2 a* P) T* h* j$ p$ {
}
6 l" X; r" P9 j: _/ F else ' N) a3 Z7 \$ |4 |2 I$ u0 X h
{; ]( b' j! w; F
if(node.parentNode) / ^4 n. N3 \* E& R9 z9 k
{
& w' j' C M# z- c var orgNode=node;
( E! b; U8 A0 n9 j8 ^8 q, ] var orgColor=this.getobjstyle(orgNode,"color")1 O- h4 C' a! d4 g: |( w+ V5 K4 ?
var orgRGB=getRGB(orgColor); % W- Q Y( l# r% ]8 b
# _% f4 A& K8 q4 w. S8 o5 _3 D. T& J var parentNode=node.parentNode
6 [# A+ K1 b+ C' j( c! l d$ [ var parentBgColor=this.getobjstyle(parentNode,"background-color"); t0 g0 V! B. \+ L
+ ` I% e' X: i" c0 F; ?" R r
var isLast=false;
! B0 h. O. l7 q$ r
3 K# @8 v# n7 ^) H* y3 a9 Z! e- @ while(parentBgColor == "transparent") A8 c- d ~5 L6 V+ b# f- N M4 a, }
{
0 U" K7 u: i2 H( L' x8 c
/ J# p# m- M5 Z. F
/ j- i! G6 a5 U6 B3 N+ c if(parentNode.parentNode == null)
/ k3 D9 \6 B* C4 U i K4 b6 t {$ y. B1 Y6 O; q3 R
isLast=true;
9 t9 P/ `0 s" `! F: ^) o! c break;
+ a; L6 ^3 e) g' k }! E. x0 D3 h5 W6 _
parentNode=parentNode.parentNode;
2 G2 g3 v4 {# x+ Z1 P) S' N& Q parentBgColor=this.getobjstyle(parentNode,"background-color");8 P4 O: V7 x1 i% e0 H6 z) {1 r
V& U" W4 p: p) A- ~ if(parentBgColor != "transparent")
$ D1 h% R7 f* E) C P y6 j9 l {
) h% [5 p, E+ y) ^! A& i2 f8 d break;! n; H0 P7 P; `7 t$ i% i0 d3 B
} }$ K+ e7 e }; {/ l
}
9 Y6 Q; e4 y0 a$ z w6 f if(isLast) % I6 u& I& y+ A [8 g( u. c/ O
{
5 w! r8 d2 \# p! p: k& H if(debug)
6 b3 g& x" k, L {% |- r$ M; a1 W0 |& k9 n/ A9 L
alert("last!!");, E4 K) F& |, p1 r E t
}, |" w7 j1 @( B: I5 j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* P0 y# }6 t/ T% N+ A4 P
{/ |# i/ j+ J7 \. @# y
orgNode.parentNode.removeChild(orgNode);
1 q/ v; o9 F0 [ }4 C8 j! u2 N) X6 g+ ]
}' r8 g. v+ Q. ]% V) V" x. G/ T
else$ Z3 `# J+ m2 {% \
{( n# T0 I6 P( S I1 o0 k0 v
if(debug), b6 j& r4 G* z0 S2 x, t
{
& {/ n' b3 o' m4 p* A) ^% Q alert("compare color and parent bgcolor!");8 O' L3 l6 ^) O* H1 }. x- y
}& ]" j2 v `, {4 V4 Y
parentBgRGB=getRGB(parentBgColor);
: N _8 D4 w- u2 q# I' @% Z5 k Z if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 m" Y* f6 C( D9 N6 h
{# ?) {8 C7 P, m
orgNode.parentNode.removeChild(orgNode);
: N% j; ~# d. j. Q% m }
% G3 F4 `1 y: v1 U: l0 h7 T N }9 v( E5 W9 [6 F* [8 |, J) ~
}* T( b8 ` E1 w! x
}% @' w1 p( H1 h% z
}. H1 F) I1 s8 @# m$ d' w. r
}; B6 {6 j$ c/ e% ~ v- J
7 O5 s8 G% j4 I
2 K1 |+ _- ?% _4 z* U: ~! U; `/ ]
var itemFrames = page.getElementsByTagName("frame");/ @) ~2 V2 _! E1 `) a8 P! k
var itemiFrames = page.getElementsByTagName("iframe");
- v# B ^' j" q) s9 L & T6 o. X. b6 d' B' r( H: F
var frame, iframe;4 S9 k0 `! P; ^( P0 `: Q$ @+ S$ Y
if (itemFrames.length > 0)
; p! M O+ S1 W) e. m/ b8 o, ? {" M+ t4 Y- x2 u, u) l+ t
for (var i = 0 ; i< itemFrames.length ; i++)
0 M4 s8 u; D, R {) k& X# {* I" R2 \3 b( R
frame = itemFrames.contentDocument;! \: y- U2 P' l5 U* [$ v2 [
this.RemoveHide(frame,objname); ) m6 c. b1 u1 k2 h0 o# d
}
( N1 K8 c5 M: Y. n5 Z }
% S* H& T8 y) b; h if (itemiFrames.length > 0)
1 K) y3 R% J& {7 | y {8 g+ R. `4 `# X' |, n
for (var i = 0 ; i < itemiFrames.length ; i++)
" w2 f8 u2 U3 { B; ^% Q* g& I {
5 u8 X, l& ^, { s; s iframe = itemiFrames.contentDocument;- Y5 M9 q, F" _! f8 ]
this.RemoveHide(iframe,objname);
8 _" M( [% f9 E- h$ h! k+ o1 F }4 p, M1 s6 Z, `9 U
}2 y( J/ x, N% h* }! q' y% t
}
0 E3 s+ [6 t" k; O( W+ f0 a6 [ catch(e)6 ~9 y7 h. ]. o9 A9 x4 w: f3 l
{
- ~9 N* S9 T2 l0 R if(debug)% K2 Y# R; v" G3 O" m
{5 ^ O; q- _4 }2 {4 E
alert(e.message);
% ?( ~ C! b7 p1 ^* g }
& ~1 I- ~! e b+ E# l } D* i# c; Z4 `2 Z1 Q$ F4 g
}
% `( q$ Y4 }4 L
: \$ J. d" s+ f: x}
6 m4 h1 q' w u0 F4 V
1 A7 M1 P0 q- y9 t1 `% xfunction getRGB(colorString)
# l# g( ]9 |$ L! r q) `, l q{" ~# q2 i* i8 h: P# _) a
var RGB = new Array;
+ i' Q5 u$ {# J" g/ A! ? var tempSting=colorString.substring(4,colorString.length-1);4 i" m+ q! ^# @: v) I
var tempArray=tempSting.split(",");3 d" O, b# D* _0 m5 G T
0 B: G' }7 y3 K$ i( Y
RGB[0]=parseInt(tempArray[0]);
! C4 D+ b, h5 P& C9 Q, w RGB[1]=parseInt(tempArray[1]);0 ^! ^& A4 U/ w
RGB[2]=parseInt(tempArray[2]);
* y: Q, P/ _$ ~: t0 g6 _- [5 S% D
( Z+ e' m" W ?' f/ z return RGB;( R+ V% G5 L5 k8 E
}
# N$ E5 @5 e+ a- x$ F+ J! y. n3 V% Gfunction keys(evt) 2 C- r6 Y6 A+ |8 O% x/ }3 A+ b
{
, C2 w" F ^* N2 U% F6 X- o if(evt.ctrlKey && evt.keyCode=="81")
& Q- w7 U; w3 V% ~ {
& X: I/ X* U4 B, W CleanHideObj.on(0,1);3 F w6 @9 j- G$ j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 L4 |3 P- U1 |5 u! Q 1 W& L. p' `/ L" N
} / i! j& d" |7 Q: d1 S5 B
}
" }( k Y* c/ u( U9 ]. ~# f2 Ldocument.addEventListener('keydown', keys, false); ; N6 f S/ p- U# n- w5 X) h
GM_registerMenuCommand ('Clean Hide', L7 }4 ~" [% [0 k
function(e){% H5 E4 R- R4 M, H5 c
CleanHideObj.on(0,1)
& t( R5 r8 r- C4 g) }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 B. c$ i# F" R" |- ~- f});& X, E; X* l: r
|
评分
-
查看全部评分
|