|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 S0 ?/ w5 N2 }
& q @! v0 T8 }' d) G火狐插件,用猴子3 _' G# {7 S- o$ {/ T
8 e3 k: U0 N6 }, L* {
var debug=false;
* F9 l" M# @# Dvar CleanHideObj=new CleanHideClass();
8 A1 M1 v' w3 V( O2 A( y4 b' x
1 E9 k% k6 k2 j' ifunction CleanHideClass()
1 ~. o& b" Q% _. e% M v4 V{
0 V9 o& [3 w' q# u4 T* Z1 T/ h , {) A" P0 _2 U+ f4 M. p! T L
this.on=function(id,bMZ)/ R5 u9 E1 n, _2 o) g
{$ Y' ^+ i6 F3 H% q$ g/ T: ]! P' H
' @4 J% x7 E7 R- i1 z$ h; s* j/ t
if(id == 0)
' j; u$ l; Y) b) `: `0 r {# O* M, B9 K) \' ]' w. V
var page=/* document.getElementById("content").contentDocument */document;
( j: p. A o) o7 B, O- Z. k7 Z" [& I this.RemoveHide(page,"span");
: P: Y. _1 d* z7 e% W, J+ y this.RemoveHide(page,"font");
, Q: m3 k; H* M7 `$ A# u this.RemoveHide(page,"div");
9 ^6 m$ c2 ?2 E3 L this.RemoveHide(page,"p");
5 e% p. R. Z6 D1 J% k , e- c5 D7 f) Q' j
}! ^: g/ z9 y; s9 ?% D3 u
. t( f3 N( Q! ?7 g* U2 S }
* ~9 o# x2 n, s4 x this.getobjstyle=function(node,prop)" t! P4 E, Y3 i) \* ~
{( s# \) P6 v* |* T0 ?' Y( v# f
try) n/ u% u5 D; H: h4 R% ^/ }
{% z$ Y) x# l. y% U( H5 t; C# |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! s6 e) Q. C! S* }! Y8 t, T+ c
}
- G' c& B6 m7 }* W2 N: v6 d catch(e)
$ u7 G1 D7 d9 ?/ F {
, }1 q- Y, V- T* M if(debug)/ s: E' L" V9 j" \0 G1 n( W4 |5 d4 S
{3 W7 O3 Q" G6 p7 r. F1 @
alert(e.message);5 I3 I( l9 ]2 |% i
}& n) m c5 v7 t" o
2 l( j: h7 T0 x6 K1 W$ _5 _ return "200";
8 r, f6 U5 ^$ e: I6 W; y0 P }2 B- N# u6 J9 F3 @- k4 G. F, e
}
0 X/ m' o0 @& T6 A- k$ n. A
' q$ G- c! E/ _* J! h5 ^9 c) a I this.RemoveHide=function(page,objname)5 L2 y9 e; E4 B; T8 q
{9 ?. z" W4 F6 R2 b+ A, W- [2 s+ `
try) p# O$ c. f1 j, \% `8 ~, L
{
- W0 e8 N- _# l: p2 B var minValue=15;
1 U! v! y' k) g2 |3 P8 f* u/ w! Y var objs=page.getElementsByTagName(objname);
' q, L3 L0 t3 R) F* |6 h
8 v8 M5 Z9 E' k+ e0 N9 ?! w if(objs.length == 0)
# d' p7 e& t; T; U, m4 ?5 { {! K9 z7 v$ t& i. C+ ~5 k0 u4 ^
if(debug)
3 A! c& X8 t" I. D2 r' {' c7 v {
! I2 I/ a: S. \ alert("no object found!:"+objname);2 i7 h6 e( H1 t3 W. _; d0 J
}0 t/ K! m i* B* e" z- ~
}
: [4 N# k5 R: t else
# g0 u4 z" C6 U$ a8 J {. {. O% M: t- _1 v, K& G/ ]
6 h3 Y& S: m( u for(var i=objs.length-1;i>=0;i--)
2 ~- D) I+ M$ S' v {
4 y% n4 Q+ L' I( M7 _ g C3 G var node=objs.item(i);
) U- o9 D% X7 H6 X1 M 4 W D, X% ?5 Q2 n% h
# [& L r1 G0 H5 O( X* y if(this.getobjstyle(node,"display") == "none" ||4 G) Z P+ \& r; t
this.getobjstyle(node,"visibility") =="hidden" ||
8 i5 C- O$ X$ _& s6 t0 r parseInt(this.getobjstyle(node,"font-size")) == 0)
; y/ N$ Q! m) J! O/ N, t/ p {
* K1 E" m' i! x( a' i; l if(debug)1 S; e1 [6 [, y8 M
{
: B0 U- Q5 q! |: y; ?: y alert("remove invisiable!");+ N' K3 j" k) T/ n* [" V( q
}
0 l" [4 W$ C/ H& T# {8 d: S node.parentNode.removeChild(node);& R0 ]' {) Y" b, ~6 K& ?# W( H
9 U$ Y; W3 y% s; [+ w8 a0 O& M }- U6 K w( F/ T: ~. K& ]/ _
else / r5 e+ ]* k2 j/ e9 h' k
{+ x: ?8 F* n1 o, E
if(node.parentNode) - u0 T1 ?6 y5 [: p+ R
{- J! i! N: ]. e
var orgNode=node;" U% k9 _4 ~; J
var orgColor=this.getobjstyle(orgNode,"color")0 G7 h9 \/ ?3 F) {
var orgRGB=getRGB(orgColor); 2 u5 \* ^1 B/ A# E0 \* `& L, p
2 N: G' W4 s4 c O0 Q4 ` var parentNode=node.parentNode
+ j4 p- B8 Y% @" _8 z) v var parentBgColor=this.getobjstyle(parentNode,"background-color");
: [- L% J7 s8 z n) X ( y4 a; U5 l% l& i2 l
var isLast=false;
: m* |- Y& Y9 o- U1 i8 r0 j
o& A/ k* \/ D while(parentBgColor == "transparent")
: m* d2 M- v& B {2 q+ j6 O- |6 \% R5 M
8 w8 Q; I4 e- [( ~1 r- m S
$ t# h" `! S' f } if(parentNode.parentNode == null)# \5 c- Z' B3 d7 B
{
0 X) m- b9 ?; i- t/ X isLast=true;
8 i4 D7 }6 t& W1 e0 ]. @ break;
. t' p* c" L! q }
& E1 W# U% U% v parentNode=parentNode.parentNode;7 V1 L7 a" }9 }- y4 Q2 }
parentBgColor=this.getobjstyle(parentNode,"background-color");
& S% {* a; L: ~ ?; `8 v! b' R1 U# B+ u/ o F9 X3 r
if(parentBgColor != "transparent") + L0 G% R# [. Z) D% J
{
( j9 M+ S0 c% s: e/ Z7 V break;9 f+ w7 k' v; n$ v
}. e a% x) f- @! W9 _" u
}
: e* x+ F h9 P* B, G* y6 c if(isLast) : R _, S/ G$ }) D% d' y, u- \
{3 n( Q9 O8 }9 T6 n! |4 |/ `
if(debug)) F* @$ h, j* h3 `3 G- `+ t
{
& N3 `3 |" a/ f7 a- L' C8 V alert("last!!");
+ |; k( D( C# N* P% y; F! \/ }5 n7 f }' P1 t8 ] l3 ]+ s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ i/ S, q2 \9 D: ~ {
; k# k* u* ~% k orgNode.parentNode.removeChild(orgNode);
9 p0 U9 a' m" ]& u }
+ k# Q9 L" @7 H* ]. \ }6 U! y8 M# F/ ]
else, C. Y% K7 r1 J; g4 ]4 e* Y Y
{
5 d$ E# l8 f8 T# f% m* ~; C' ~3 X2 Q if(debug)
9 o" ~) e6 I @2 C0 f {9 C: H% `% }, B8 I. m2 w
alert("compare color and parent bgcolor!");( B# T& `# K% |8 z/ v% F
}0 F+ i; |' r4 k& ^6 y$ j, y1 M
parentBgRGB=getRGB(parentBgColor);) k, @- F$ x i0 a& m
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 m3 S& F& V( S {
1 M% a6 q3 W8 h+ d7 K, h9 I orgNode.parentNode.removeChild(orgNode);
4 o: u6 U3 p+ K }
/ Q: p7 j5 m* x9 S4 _ }! i3 M/ z2 V3 y# R' Y& X
}9 f7 L) A2 O9 L8 H1 ?
}
; d( Q1 H) D& w4 Y; m7 X8 |- k }
5 m. @0 v6 V: Z: Q% x }
7 j; u. x% Z! W
. R5 r6 b9 b+ ~4 M' u& g) P
7 ^$ w; `2 j/ b( C' G( F var itemFrames = page.getElementsByTagName("frame");$ S, U" ~9 X" k g" Z. p) w u0 B
var itemiFrames = page.getElementsByTagName("iframe");
4 o3 C: [2 X$ k e1 k
; X+ J. C& E( \7 v; {3 H var frame, iframe;
5 o& ?" s6 K7 Z& z$ l if (itemFrames.length > 0)* g1 V0 O( }. d$ l$ x$ H3 H
{& Y% `8 w8 |) w+ O( n
for (var i = 0 ; i< itemFrames.length ; i++) " h% \; a0 P" h# }6 B$ u$ Z
{1 z1 A& @ m0 f0 f- `" }! j
frame = itemFrames.contentDocument;9 B) m7 B# X& W/ A( I
this.RemoveHide(frame,objname); p; `& A# V. E
}
# Z* [+ N7 K! F! T3 s }! F3 I; t. c* Y* x# P
if (itemiFrames.length > 0)
6 M0 l3 y, q* A! \" n# V G {0 q) | o o2 g
for (var i = 0 ; i < itemiFrames.length ; i++) 7 h0 a+ r# t6 {$ Y3 d, }
{
0 L. }3 M8 \* {* y( }4 a, @ H' \ iframe = itemiFrames.contentDocument;
) v8 D; t2 n. {( Y this.RemoveHide(iframe,objname);
" E. E" ~5 o$ X/ x }& U* b6 Q1 |6 }
}
2 m% L) Z/ z7 O& d* L0 L1 J. T }
8 t! O0 d- Y7 g- }( m) l! k catch(e)% |0 @$ ^* K# c, o3 ], h
{
/ ^4 `. y( H% q4 [. `" G8 ? if(debug)
& }+ W% D) i1 v: E% C7 B8 s& W {/ T8 @9 u; b$ V4 |. X9 o
alert(e.message);' H% s8 |$ m7 I' a5 o
}
2 z k. o% X: X9 u( Q# d }
7 [' O9 [5 s7 h& r* y }- n- A+ r1 ?# B
, a8 i% G$ U1 k2 Y}
- }! ?# u8 i2 @6 u6 ]( x+ x
+ {( h F( W w& ]+ r. jfunction getRGB(colorString)
7 K% _) Y7 F ~{4 T( C8 e6 n: e! _
var RGB = new Array;
$ A# ^ i( \2 m3 R var tempSting=colorString.substring(4,colorString.length-1);! v2 l7 ]+ O e+ B5 H9 `5 L
var tempArray=tempSting.split(",");
9 }& `& |9 d: T
2 Q; y* Y3 q; v! J7 C* d RGB[0]=parseInt(tempArray[0]);
: y% I* N3 B" u RGB[1]=parseInt(tempArray[1]);
A# L% S2 y/ n RGB[2]=parseInt(tempArray[2]);
# T5 ?$ f* h8 {* W3 B3 M # A5 d- ]8 w( z
return RGB;2 n8 n2 d: \+ _+ W& s0 m
}
. o8 _2 d6 g9 }/ V" o# G! Bfunction keys(evt)
- f" W1 g5 C2 f9 ~9 W { " A4 L" L8 Z) u
if(evt.ctrlKey && evt.keyCode=="81") B* @+ Z) X3 P* Q) n
{ ! Z8 E( f1 ?5 Z0 Y5 d9 m; m* d. [1 R
CleanHideObj.on(0,1);5 R' p. ^6 _! }6 \, y* L; O; Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 i% _; ?/ x3 K7 H W; w( q4 u
" O& P0 _- I7 e! j N6 ^) ?
}
/ E5 C4 [4 z, ` } + |1 M3 B! v* g9 n
document.addEventListener('keydown', keys, false); " D/ ^: L% n4 J
GM_registerMenuCommand ('Clean Hide',
! ?% x- a9 o1 u+ nfunction(e){6 Q* p% h% X: u* G
CleanHideObj.on(0,1)
! }& C h0 J1 n0 F1 A4 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" X1 @9 n* T$ Z; p2 T});/ o/ L) K* Z* m
|
评分
-
查看全部评分
|