|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ k- y$ `6 h V6 e k9 Y" C9 T6 d9 w3 ?8 r' L$ B
火狐插件,用猴子9 J3 G! f7 h- V# v( u
; u4 }# W. Y1 O
var debug=false;
, y h8 g' p% Q& {var CleanHideObj=new CleanHideClass();
5 H) H) g" ` [ y# a6 S& W
M8 {; ?" r# u7 K# z* tfunction CleanHideClass()
4 F0 w# c; }" ~1 ~8 M" Z) d8 W{ 4 j& y# _6 F, T1 ~! E$ Y
" k* |6 j) @! K+ ~& v( `3 d
this.on=function(id,bMZ)
0 j! o9 F, ~/ R( H {8 r# T+ E1 K9 ?; a1 M$ F5 v1 w, E
/ J& }+ l; j$ R V+ `7 V if(id == 0)
" g" N/ ]6 L# G& t2 O8 k1 R0 M { x/ p$ C, ~: V+ {) t
var page=/* document.getElementById("content").contentDocument */document;
9 j/ D0 d4 t- x+ n this.RemoveHide(page,"span");
7 P9 [2 j/ I ^/ O( n this.RemoveHide(page,"font");* f6 `/ C3 N* E' B
this.RemoveHide(page,"div");8 _/ t a7 n( P [4 z* O
this.RemoveHide(page,"p");2 w+ `6 U/ }1 H9 s l6 J* U9 E
& I r6 x$ T+ B' G
}
0 L1 L5 x" s% x& O5 B' a
' d2 l: g' p. W! _5 K5 f+ ]* N3 | }
( S6 Z5 g( T S, u this.getobjstyle=function(node,prop)
: l' c6 X- Y/ d" M+ j1 W6 m9 T {/ ?' d. C$ a0 W( X8 R+ e- r
try/ |9 N# R5 u8 ^. H
{
: ]5 ?! q/ L6 R" Z# c. J; s3 w, A return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% n. _8 } G0 y7 s' S2 v0 B }# W5 X! a: ~! b( P: l
catch(e)4 ^* I. |* j9 \% ~+ t- ^$ o
{7 G% x* p6 M! Y9 U0 M! ]
if(debug)% [3 h3 m q% N
{: h2 E0 L* B( r$ K# }: K
alert(e.message);5 ?8 D m* Q5 a% S4 H( n- A
}
( W0 Y* j. M6 c; M: M' I& V
$ u V; D0 d8 S W/ Q2 l return "200";( I) R6 ~3 T" o
}6 `- f0 w& d1 J- D
}
3 Y4 s9 C! B5 n. \( R: p 9 t6 E2 b7 n0 \$ M- O
this.RemoveHide=function(page,objname)& C1 F* P, {) V5 \4 z
{: \7 J3 o0 \% [! M8 E5 `& I0 R6 V
try
* i" Y1 E4 K9 @$ {+ Q3 N {4 d( L' q: S! L% ~& w
var minValue=15;0 m4 b6 E7 C1 i4 y
var objs=page.getElementsByTagName(objname); 5 ?7 n" H) C7 ]1 _' C
1 h8 I* y# I" r- }/ r
if(objs.length == 0)
2 x g% L! V s( h5 t {
$ ~% P0 w, v0 `9 h if(debug)
: N9 G2 Q& G" p) g& U$ F {
4 N/ ?7 N Z% E+ o/ _4 U. Z alert("no object found!:"+objname);1 g- v& o3 S* H) v
}% ?# N$ u8 m6 T! u1 l
}4 u# Z9 d, z s) \
else$ C$ ]2 y; ~0 [. M9 N6 v
{' b; r1 g) @$ F5 v' u$ H3 q
4 P% k9 J$ [6 j9 x2 h% n# h" z$ q for(var i=objs.length-1;i>=0;i--) # |. w7 n7 b* m) ~6 f
{3 _6 B" K, T' V0 ^
var node=objs.item(i);
. A3 r2 P! H4 l5 U
4 \# `" k9 E$ U% c: }$ R' S
+ n+ g' a+ h- j& e5 }& } if(this.getobjstyle(node,"display") == "none" ||$ M' U3 q3 g5 c
this.getobjstyle(node,"visibility") =="hidden" ||
6 \8 C3 ^ M2 }) v; S5 l parseInt(this.getobjstyle(node,"font-size")) == 0)
+ x) J: q7 `1 j# }6 q& B. T {5 I. w! x/ a7 F3 I$ M' C' |
if(debug)
) {# ]9 E; q1 ] {1 b+ J! P% e* w* Z6 X* T
alert("remove invisiable!");
2 V% d- u! D0 o1 N3 c! s) v }# e, p# |) a2 J' p. O+ E; ]
node.parentNode.removeChild(node);
8 d* \' ~4 s( h2 B7 l- Q P! _5 v! j% |" T- f( T
}
0 S U4 H4 Z; `" y: T& `; K8 { else
( K- o% k A$ n/ P( L: l {
% o) s$ p0 J( t" k if(node.parentNode)
; p% s4 h+ ?# l% p {
! r5 W3 y0 a. z. x) l9 p var orgNode=node;* t- s1 o* Y1 X
var orgColor=this.getobjstyle(orgNode,"color") _ u0 S& f. ~5 q( Z C! }% [
var orgRGB=getRGB(orgColor); 1 X8 S3 t+ M$ a8 K3 T% Y
* c: ~6 D7 W( m F: e
var parentNode=node.parentNode" |' q. B0 v; J& D; o
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 E8 `, j' q6 J+ z7 }2 z3 Q* F$ l 4 N7 I; x/ \5 j! U! M F" k
var isLast=false;
, Y7 b- o) L; y# m
' @6 z: w2 V; `7 d1 _, \7 l6 {9 g while(parentBgColor == "transparent") ; \, x8 U/ W( j0 S
{
! R, A) L8 A3 W5 Y! |5 }/ W0 A+ O 3 ~( `3 G+ F. F" }. r: M
+ N0 X0 F$ c6 s) j* U9 U
if(parentNode.parentNode == null)5 B6 R5 B% I% l; s1 H0 U/ k
{' c, \& m6 m+ Q9 B9 h# x
isLast=true;! V# f: P4 `6 Z$ b4 F" J" ~
break;
% ]& f& S) K/ O }7 H- m: u0 `; a, v L5 p# X5 i
parentNode=parentNode.parentNode;
, d1 `* d F& ~/ @8 }6 l) ~5 V5 b parentBgColor=this.getobjstyle(parentNode,"background-color");. i! k- [# O" K) `0 h
% N1 J7 X! Y1 X if(parentBgColor != "transparent") 2 y( t# }% E2 {8 P3 o: f: t) X. Z
{. a/ P; v* F- J6 @
break;/ Z: q% u ~$ ?" J5 C( P6 {* r. j
}
) A: K3 t, S2 k2 M }
! S& s, p4 H6 h; O- H if(isLast)
/ w4 I6 k1 i9 w {
% D1 |$ U, @" n: Z& p if(debug)
2 z8 d- G+ ?7 r2 J {1 @' W& d( e. K u; \4 R
alert("last!!");. w0 R6 t0 [, v) X( w( C
}
$ [3 k, Q2 a) u' Y2 J0 ~$ _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 S! t$ c$ m: X: H: A! c {
% r4 J3 e& ~$ O1 H orgNode.parentNode.removeChild(orgNode);
8 {$ {2 u( t5 g, a: s- v }
8 X: o7 Q3 D" g6 s$ Z }2 z% t- W. S$ B8 z5 W
else/ c. A/ {0 A P: a+ ~- U. K
{
. w0 t! f: M4 T: a9 a F" q if(debug)
- @, v" n5 r$ h% J1 F. W {
) Y# w* I: f% ^+ Z alert("compare color and parent bgcolor!");
G) I. f8 m4 o% T }7 m; b( R( b& v( F5 W% A6 v
parentBgRGB=getRGB(parentBgColor);9 E% y1 ^; E8 @/ T+ ~0 f% ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 F. \6 _% S: ^* Y0 A% O6 U
{
+ _, e+ r o+ m- k; N0 k orgNode.parentNode.removeChild(orgNode); 0 J1 B+ ]/ r3 W9 K/ q
}, Q* F! r2 q1 l, s. u& T) p: ]
}4 }- {5 T. Q& Q: j
}
" v8 G3 O+ N2 b* L) J v8 I# g }
& a6 l4 D; O \$ [ }" L6 I% g; d) r6 p K/ o2 u
}
0 y! e1 |/ j0 O8 B7 A" F% c ! { Q8 z* g6 A7 X& [7 M
+ S1 Z4 [( ?0 H5 M2 t3 r var itemFrames = page.getElementsByTagName("frame");
! z4 L+ [2 J/ s2 U1 A; _# Q var itemiFrames = page.getElementsByTagName("iframe");& U6 b! K# r$ J2 B1 X; a
4 }6 A! Z0 E( |5 E var frame, iframe;- ~) j5 w. T1 V3 y
if (itemFrames.length > 0)
: g. a' ?. c& {6 t, I' j, g4 F! x {
" D# J, K% L, A) z# i/ t$ A& s for (var i = 0 ; i< itemFrames.length ; i++) - Z2 t- X7 L( M3 ]/ A
{
3 }7 n1 k/ y& l: p5 | frame = itemFrames.contentDocument;
! k( ?( @0 T3 [7 @5 A( K9 c6 d/ | this.RemoveHide(frame,objname);
% Y l$ i+ B" e# B/ ~ }
+ a) i% A3 e3 u2 T' i: s8 d }- j) l8 {" o& j) U- h. ^8 d
if (itemiFrames.length > 0); g0 c! u$ Z \/ p2 t6 h/ Z
{; i3 j( F% k$ e2 D2 u; M; w7 o$ r
for (var i = 0 ; i < itemiFrames.length ; i++) 5 ]- f) g! [* g. [* |
{& ]' F- c' n8 C: o
iframe = itemiFrames.contentDocument;
1 K* r! ^; ?; g$ x this.RemoveHide(iframe,objname);
* i4 [8 C2 `% o' k- ?2 | }
. {1 d5 Z9 e- Q2 A; H }
7 U8 }+ v* p7 D }2 ~4 t& g I1 x7 n
catch(e)) ]/ X) Z. |- b, U
{3 q7 W2 b& l- ]% w' |9 K! k% B/ y
if(debug)
9 q1 i- A$ g5 m# u4 B# @ {2 A3 m5 s: I- S4 P/ n
alert(e.message);
$ G% N3 P9 s/ W) R9 `2 I } n7 W/ F( h$ F: B
}' v6 `6 j" ~- A+ [* z+ q
}
5 `( Z1 [' {3 r( ?" z + v( E; f+ Q, ^) H8 y
}+ c5 J2 ~ F7 A- \
' `5 B3 H% q' N5 A, _function getRGB(colorString)* h3 x) v9 I4 n2 r; ]
{
, e! f- H' ^' d var RGB = new Array;- A$ T( W) {; T
var tempSting=colorString.substring(4,colorString.length-1);2 a/ G0 B9 O" j% C4 T
var tempArray=tempSting.split(",");+ h- _ X% k5 z2 l- p; Q6 r
& A3 D+ X: W! s$ T: M: d, p RGB[0]=parseInt(tempArray[0]);
% \9 L! U3 E; X; g/ ? RGB[1]=parseInt(tempArray[1]);
8 q* X X9 [- s G- Z2 i2 j RGB[2]=parseInt(tempArray[2]);7 x1 ^' ^- \- q5 g) O4 x
, t8 E. S! l3 x6 i( ?7 B2 |
return RGB;
: q# a% D% ]3 T/ a! i6 v) C! W}
4 s8 G- _3 c% L( Vfunction keys(evt)
* T- Y$ M7 b; O+ @7 f8 r4 Y- o {
0 x2 M* j0 ]# b: Q) D. k7 J8 n if(evt.ctrlKey && evt.keyCode=="81") ; M# P! s+ |+ D/ B9 N9 y
{ : B1 a& S. C% B1 y) t; m2 K6 q
CleanHideObj.on(0,1);
. q( b' ?" c! C7 e! R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& E4 r2 t2 J p8 D! x' a , ~& S7 D0 j4 d
}
+ l. @5 k8 e& j$ B }
7 g2 L# u/ `: A$ d* |document.addEventListener('keydown', keys, false);
; }6 S! P/ Q; `GM_registerMenuCommand ('Clean Hide',
7 q# D* D! F4 ^" n: _function(e){
; l, M) C/ c% ]8 O7 p, q+ ICleanHideObj.on(0,1)
7 G8 H* M$ C' C# b, h ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" k6 l& o' A4 h( m! a" {3 C
});
h% p9 }5 K; \$ B! ?9 ~ |
评分
-
查看全部评分
|