|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 l; d! q. y3 o* z( I9 L
& m" s c; A; f! J
火狐插件,用猴子
Q6 m- j) c4 B0 k
+ L7 s+ v# T! p! b& G% J! Mvar debug=false; - q' `- n+ r; ]+ n6 M" }0 M
var CleanHideObj=new CleanHideClass();4 Q7 C/ N3 b4 ~4 a, N5 f
4 I, q$ A- x+ G; u
function CleanHideClass()
3 ~/ O) `/ c! X" F{
3 @+ C) R6 M9 N/ E9 s! s ; v9 p2 H. `% N5 {, c3 ^
this.on=function(id,bMZ)
3 G" u7 F0 N5 s. i5 {6 z {1 h% j: j6 I# [7 L; T
2 P" ~2 c( ?5 U [ if(id == 0) |! Z. n. F, u+ w) S5 a
{5 q" I6 U7 z) j, c7 z
var page=/* document.getElementById("content").contentDocument */document; 3 C/ d5 ~- `) |" a' k: H
this.RemoveHide(page,"span");
6 Q& p6 i0 [6 a this.RemoveHide(page,"font");
6 x: ]! J7 A( Z3 ~/ q# M( e this.RemoveHide(page,"div");" S/ W, Q# q* p$ ]6 _
this.RemoveHide(page,"p");
' B3 J w' m( ]4 b & J; v" t) @2 J
}6 l. y9 p3 T( j+ `3 W
# G. x; Q4 X9 G
}* G) `- {/ W4 W$ P2 y
this.getobjstyle=function(node,prop)
( ^, j, d9 n, j {
; {4 w; r* t# y N0 y+ V try
% `; `1 V2 }- Q7 A9 D. B {$ K5 c9 ]5 j" Z# ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ ~2 n3 i" u5 p$ L }- \ @( u9 E6 l* e. G7 f9 g" {
catch(e)! S9 V* ~$ ~9 N7 \1 o! G) u# a
{8 j% ~; y: F0 m% W; e
if(debug); l, T- n4 q$ Z) t
{
; D0 R6 Z, k1 `- x+ }( q, f) p9 t alert(e.message);
$ ~, P/ A6 X$ N4 x# C }
: G7 A4 O! o @
! f* z- L4 `, Y* c5 i return "200";5 Y% I0 |8 a! \5 W5 W
}
a% T" ~8 t* G; _ }
( {& k" s' \6 x# C$ s% Y
$ }- J; s( ~0 |7 H* K this.RemoveHide=function(page,objname)8 H( Q& \6 {7 h6 c. ?
{
( x% D$ r, i! `( { try8 C* G+ g ?$ j. q2 A( s' Q. M: \
{
! _8 h) G6 d! k- s! Q z var minValue=15; D! P9 K8 F; I" q; n" f
var objs=page.getElementsByTagName(objname); / ?, h5 N' J2 u8 P0 N5 N' G/ @9 C9 T
* ]0 ~ b% m& K* y6 E: j if(objs.length == 0)
' Y3 f; G- E& d, t* m: c {( n: J+ J1 M* r; ~" }
if(debug)+ l8 K+ f, _# d! l9 h- X( p: `& c
{" J% ~" t* Q5 i( x- Z, p ?
alert("no object found!:"+objname);6 U3 V% ], c' k
}( G# [+ o7 m2 T* p
}8 Q) ]9 }7 S4 R( p
else
. }- W5 E7 v) e, W {
# I. Z; g9 k9 o( e+ A
5 k6 r2 V6 M# X n0 ~6 ^( a for(var i=objs.length-1;i>=0;i--)
% k# C: K1 g F/ C7 P; m, K- w {
( Z- f: L0 A1 H2 S$ i' u var node=objs.item(i);
! I S- N- X0 a4 N# g
' U. C, X( T# Z$ o6 s
+ Q0 G0 k5 N- h8 Z& z3 ~ if(this.getobjstyle(node,"display") == "none" ||
) w! `1 ? Y+ z# Y7 L this.getobjstyle(node,"visibility") =="hidden" ||" ^, y( ^ s* f% [3 U) ?4 A Y, b
parseInt(this.getobjstyle(node,"font-size")) == 0) ! z- o3 P" m& J! w
{! d& K7 ~* ^, o, k; W5 F& r
if(debug)
! h( _1 M7 ]& l+ ~) x: M2 ~ {
$ k9 ~, Y" b$ `, Y5 c; D. O3 T- I* ^ alert("remove invisiable!");
7 J" W. K2 \0 B; f$ p }" o: ~, `5 `7 k! ~$ Z9 {7 F
node.parentNode.removeChild(node);
1 s1 _5 S$ n' \; K: q
8 V4 }2 [8 i* E( Z. h' N. e9 p }( y: u. h, A& }0 x" {# y$ Q4 T1 F
else
4 z/ e3 m: {, Q, A, k; V {; V5 e5 k8 N* O8 K" f5 g) D
if(node.parentNode) , l0 _- A9 w3 P! @
{1 O+ b9 n6 ]( N2 f0 R
var orgNode=node;
c( q2 L& Y8 |% P) c5 q var orgColor=this.getobjstyle(orgNode,"color")2 J7 k+ U/ x# D) n2 V7 g
var orgRGB=getRGB(orgColor); 5 R' X# {) E! ^5 v3 [; K' d0 m' W- S$ O
% J- M" L6 f! Z$ U' ]0 B var parentNode=node.parentNode
2 X( D H7 l( p5 v ? u, U) _ var parentBgColor=this.getobjstyle(parentNode,"background-color");
* c0 m; s% ?0 W7 ~# b$ e" R: } . o' J* ~9 q8 o2 F
var isLast=false;
& u! I/ J Y/ g5 T9 E; T
9 C4 |) j. Z, h" }6 c while(parentBgColor == "transparent")
6 W. A5 H1 s9 e8 ~. S {
* O, ~4 R) H3 z; f8 s+ [0 l
+ \4 v, v/ ~& U1 Q( x+ R6 ?+ n
0 w$ ?: ?" |* U2 I; u if(parentNode.parentNode == null)1 i. R7 x8 `* ]* K; ~ T* Q
{
& Q( \5 j( |! `% X isLast=true;
V0 i" o. b. u& S7 r. o% y break;
" S7 q+ R$ T7 E! a9 _ }" V* i; ~5 G8 O( F8 s# \
parentNode=parentNode.parentNode;; G) P9 j5 h* R4 N$ k) g; U# g
parentBgColor=this.getobjstyle(parentNode,"background-color");. V" Y/ u7 n$ p, ?6 l/ b
! H$ b$ v n g/ u% r" i
if(parentBgColor != "transparent")
5 V: R2 a8 n5 k1 u L. j {+ r: a; O% q/ ?* f$ F, T& S! t: M/ x
break;: C7 }/ S6 ]2 q y# z
}& r5 x" z$ v* A: u- W! o) K
}
+ {" b5 s. Z5 b; S) W if(isLast)
) K3 ?9 E0 ^6 O% N+ m {
* U& p" _9 I% ~/ q: x! e if(debug)
( _+ [4 e$ Y, r9 u9 W6 w {
- }- C2 u1 F+ T& _. O; d! i4 D alert("last!!");, n( u* B M; S' }8 A
}, X9 e( X5 W5 }6 r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 h" |8 c! ~1 ~+ J5 B* m' i6 O" [ {
' k& N5 {0 T$ L) R orgNode.parentNode.removeChild(orgNode);
1 O1 u/ z4 z: K' P" @) o }
) J4 @/ l, a% V n0 M }
* T. |4 H4 z0 H0 S+ j+ d% d else
/ ?3 V' r" {& t, l' \4 _; g7 } {4 b! [0 t& z- n; x
if(debug)# Z7 K4 W0 _! \3 Z
{1 O6 n# E9 D- P# |* G- d
alert("compare color and parent bgcolor!");
: k$ v6 P* t X, }4 y5 w) N0 q }9 n; h7 d# `+ x3 u- m
parentBgRGB=getRGB(parentBgColor);% w0 f8 N7 i4 T( X7 d& }% H9 ~! U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ r, S: D" t8 ~ ?- k/ ` {
" E+ ]0 P$ j8 u" Y9 c$ h7 V. T3 E7 F orgNode.parentNode.removeChild(orgNode); : L& A* I9 I9 D# T
}! U e( c: A( \ d* h) h
}
7 N6 q/ e5 A& B2 m$ ^$ O }
! Z) I z$ u/ m/ J% w( [6 c }
: c7 T5 `7 O$ f1 ?+ r" i }# F% Z) {0 S% t/ p, \
}+ w1 a* n/ K* d) ]" n: U: U7 U, T" V
( x1 \3 b/ A/ s A7 B) S
( Z# T# q1 b/ T0 t5 ^% T
var itemFrames = page.getElementsByTagName("frame");6 R1 E1 {( [# ?1 U$ g+ y' G
var itemiFrames = page.getElementsByTagName("iframe");& q: B; l, [+ B8 d
3 F/ x0 O d: }7 \/ U
var frame, iframe;
* {$ g$ n7 W$ U ` f6 J8 G- K3 j+ f if (itemFrames.length > 0)
2 y) T" H! O( ^% A3 X* m1 Q, _4 K {$ S3 `6 A0 u: q
for (var i = 0 ; i< itemFrames.length ; i++) 6 J4 F8 U1 U% I8 E
{
2 V+ R- o9 x* G8 W frame = itemFrames.contentDocument;
/ J* l3 n# J A5 z M5 d- d this.RemoveHide(frame,objname); ( V P1 M3 W# t1 l2 k
}
3 G1 P9 S; V6 c- N }! [6 {6 N0 y1 U D" J' ^7 Y
if (itemiFrames.length > 0)
$ I4 o- \' o* e( A4 ? {
; `9 p- f0 A4 a% [ for (var i = 0 ; i < itemiFrames.length ; i++) 5 ?/ u1 h( C& n/ o9 Z
{
2 F( t# d+ t: ?; W) m" P. @ iframe = itemiFrames.contentDocument;
% w0 Y y% O. t. [6 w* V5 k this.RemoveHide(iframe,objname);
8 y7 j% g. D7 X }
0 m8 f$ ^* |9 s' `) H' I' g0 d! |. M }
( s+ ^9 p* T- S. |8 o* _+ Z3 I }* R- j' c$ z( m
catch(e)
+ t5 c& g8 w) M6 }$ w3 w$ W {/ N7 I5 C2 j( m! ?
if(debug)
. I6 J1 R& Y/ B; N {. O: `4 u4 U: a: c) N# e- [" S6 j
alert(e.message);; m; R0 V8 O1 U( u) U- Z. D/ e
}" S: X0 D+ Q3 v; k
}7 K% e% V! N; v2 D
} J0 e. j5 m3 a) e3 D; i4 |
`9 @/ B, l) K. b3 d$ Z5 m
}3 ]4 k) Z0 j5 W) i9 N
6 Y+ k5 X6 {1 q% j0 I1 u) S& Hfunction getRGB(colorString)
: D/ C2 [9 C2 u{
1 x8 e8 o# Z6 Z1 H' J! f; T! H6 o1 S* h) l var RGB = new Array;+ q" a* O2 T3 _
var tempSting=colorString.substring(4,colorString.length-1);* R6 S: p$ m9 l: z
var tempArray=tempSting.split(",");
' N$ o# ]( K: Q% P
: j2 a8 a6 M* F RGB[0]=parseInt(tempArray[0]);
6 \4 y3 M, F4 g* p( ^' I. H4 ~ RGB[1]=parseInt(tempArray[1]);
# B7 `4 o9 N. m& Z RGB[2]=parseInt(tempArray[2]);: G/ [& z+ O' y7 k& D6 ^0 [
$ t/ _5 {4 F# D/ c! [ return RGB;6 {% i( m) ?. l( K4 M
}
7 p# W$ C; Y4 c' \4 ?7 _2 Ofunction keys(evt)
8 }3 O/ {6 c- U# z/ o1 N0 P% j) G { : r j4 j/ A9 g+ S8 d4 e1 L/ L+ |
if(evt.ctrlKey && evt.keyCode=="81")
- L3 M; p7 l" P5 W* a$ p { / S) v( s+ D* a x# F6 `
CleanHideObj.on(0,1);
, ]' k. V3 G. R( b9 Y+ Z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 S1 t: N4 y0 h$ X$ T- y * T: G! S; V$ d$ H t7 k
}
5 P+ ~* m$ S+ `/ f# y1 ]/ k) ~6 _ }
3 Q# ]7 M& i! c: gdocument.addEventListener('keydown', keys, false); L# V; L9 R) s7 ?- Q
GM_registerMenuCommand ('Clean Hide',: G; @, y A5 o0 ]
function(e){
6 V0 |# j- G0 r$ L' B6 sCleanHideObj.on(0,1)' L Z2 t9 C9 [. L1 E0 a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 [: l7 a `, b {
});
, f4 B7 m1 _) l1 A |
评分
-
查看全部评分
|