|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 l" i5 b9 M; u3 u5 c% J5 T; N+ E y' u/ c4 Q' \
火狐插件,用猴子
' U, L+ C: j. E; A% s; I
" r2 P: m% u- x9 S4 I8 ]: Pvar debug=false; ?6 J* y! X3 R
var CleanHideObj=new CleanHideClass();' I+ e7 z! i0 d$ t( \
6 N, _ ~; u/ G$ ~) p- G4 ?
function CleanHideClass()
0 |7 ^8 f0 n: ], t! J{
; w+ Z) G1 O0 I- g9 }/ n8 [# W2 `
4 r5 e5 _, V; y this.on=function(id,bMZ)
& M0 e* W# w' I/ @ {! a5 E6 B. \/ I& F/ Z
/ y; d* O, N8 v5 U8 s8 A
if(id == 0)6 Z1 R B/ z. b1 j' |" t2 N+ Y
{# x; h6 d* C9 H7 U0 P! g1 l
var page=/* document.getElementById("content").contentDocument */document; 0 w0 H' j/ B/ ^8 p* q* R) w0 i6 b
this.RemoveHide(page,"span");
( \+ j6 w- ~: s! Z this.RemoveHide(page,"font");
, B' L, T" V* K+ m( w! l; R, `1 } this.RemoveHide(page,"div");
- P6 J- k' Y: c5 X this.RemoveHide(page,"p");+ A M: x8 C9 C) o& E
4 j% C3 n% y8 ^3 r
}& F v1 d$ T }+ O" N3 i1 ~
( T* T. |1 |' x' m# X' y }( R. h5 A$ n/ I7 @6 g
this.getobjstyle=function(node,prop)
# v4 x% I# u5 | i# | {
7 y& ?% N. x9 @6 G" S# J try- H) K j2 j) g) Q
{
0 [* R# b7 h- n' ~! h4 _1 I0 H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 C0 j' h9 K: ?! v
}
9 P1 i& E2 N, g catch(e)
& v! H Z# A+ J5 l0 D' d {2 a/ w& v7 q7 ?$ R; I' G& P
if(debug)8 P- ^2 _+ U* _1 E
{
0 b- ?$ {4 C( _. q' H+ M# m3 v* h alert(e.message);
6 t+ o5 h0 M3 \8 J$ j g" ` }" z% ?3 n2 ~+ Z
; \ W2 x& |8 v* v
return "200";
7 J# G3 k' b( y; n& g. E }9 ^) D, Z+ u) m% x4 Q& F& d
}
" c9 l1 X8 B0 W. x c. v8 T2 Q
( p1 Q, r& t" o; W$ A this.RemoveHide=function(page,objname)# Z: e b/ o& `" @
{) e8 M/ F9 H5 s% H- _1 D. Q
try
! f- A% L# I: j, `2 Q) |8 c {/ N( N/ `' j* O: ~
var minValue=15;
( A0 S' M: {# N var objs=page.getElementsByTagName(objname);
' }9 h; T( b, n; c+ ^1 I5 `" J
7 A8 r2 a* x7 g% g5 @; {0 q if(objs.length == 0) 5 C5 i5 U1 c; v) n! D
{
% a. Y4 ~% i7 Z& v* r if(debug)
# o; p. F, }2 `, j9 x {- I, A0 d% J0 G! s3 l$ x7 ]# n
alert("no object found!:"+objname);
4 S% C8 m0 g: [- N }
, I% A: b" L5 J; D } m2 D" d/ Y) J; L" j
else6 |6 g5 y7 e5 x; y0 p2 G
{
$ Y, O3 x% {+ W7 `! d& c ! N0 k& \# f% m4 q% W+ m
for(var i=objs.length-1;i>=0;i--)
7 K1 l7 |$ l" C9 A {
7 e) ^" O* t( j& | ~* w4 H: G" \: F% ]& H var node=objs.item(i); - y* y& s1 l) N4 t U: M" f' n
3 t* ~8 s+ B+ H3 |( H M4 p1 A
1 l1 X' K& t8 d if(this.getobjstyle(node,"display") == "none" ||8 D" o+ |$ [% ` O# a
this.getobjstyle(node,"visibility") =="hidden" ||" ^6 i5 n% P# z; H( k% I
parseInt(this.getobjstyle(node,"font-size")) == 0) ) U# W$ k4 m7 T. l8 V! O" X' `
{) C4 A( ?& B9 t) p
if(debug)
7 d8 w1 F% q+ I8 o2 t+ k {. E0 e2 t5 _, N+ ?
alert("remove invisiable!");
3 g; F0 O! z8 i6 ?2 T5 ^' c; I }
, Y( l F" ~. P0 K* M2 e9 T node.parentNode.removeChild(node);( D; O6 G, N$ g7 q# f0 E
) M/ a0 H, Y! _+ R# q9 Z/ Y) Y; r
}4 v9 { b$ T. k% a$ z
else 0 X7 Y6 B- Z9 I ]8 Y
{( }+ C& e# s7 p* h. `
if(node.parentNode)
5 M, O1 q& P4 K* D5 ~1 k {& d- H. Z! f1 ?7 l5 P& |
var orgNode=node;* f& B& k2 F3 n6 d6 v8 i6 s
var orgColor=this.getobjstyle(orgNode,"color")
7 c8 q, g+ M0 _# M8 n var orgRGB=getRGB(orgColor); & t; W+ ]0 z" x
5 W" N! ~ G. A9 t var parentNode=node.parentNode. C% w2 Y6 L2 X6 K; z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ \& k! w. U3 o% D
" W4 S4 t. u3 q( @/ u$ w. M) g8 l var isLast=false;( a7 u: Z4 n4 K/ U, j/ q
/ a9 H8 @' b( e while(parentBgColor == "transparent")
* Q* s: @. T% t, S! v5 z& Z {/ y3 {: x% K3 }& ]
+ e/ Y G" _0 C' s( ]
2 g+ t& s1 w; P. [7 I) M
if(parentNode.parentNode == null)
. R c# F. U* W' W/ i {
' @1 W; `3 t6 s: a. V7 G isLast=true;
# S9 t m. Z- l$ }4 W5 R- M break;
8 H' [' D& @( z7 d6 t }' A9 D, K% B( ~8 U1 ^
parentNode=parentNode.parentNode;
3 T0 E1 v( n. R; @0 ?# f K# [; L parentBgColor=this.getobjstyle(parentNode,"background-color");8 x# K, t- k' J( k3 a, a3 S
! ?8 ~% I) P+ \' ~7 w7 I0 X' V if(parentBgColor != "transparent") # T3 l) N( v. O, `
{5 V! g0 b8 u4 X0 K l- n
break;1 i9 W: x f" @: ~5 x7 U3 x
}& n( a G1 D" E) {, p
}
7 G# S/ n; [. R if(isLast)
! a3 [ |) v3 [3 W& Y {
& G, B( t& @ f d if(debug)+ O5 O2 v6 r& L/ }, K; ?
{" u6 ]) C; J* j2 m. I8 ~4 ` L# A
alert("last!!"); i/ M' ]" z( G
}
3 o. Y' ]' g2 a. ?+ h3 _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 Q) u: j' E& x4 K& _( L; ~ {
) D& t* N/ K2 u! S% D( | orgNode.parentNode.removeChild(orgNode); 8 i; i4 \ q" K) h
}6 u- e; b& K7 N9 Z/ A# @
}! j+ X- `9 |! l' r) M; i+ q! @
else
: d6 t3 Y6 h, B* e% T7 k; s {
3 F4 U/ Z# V0 C$ H+ i% x0 V( T if(debug)
, u+ @/ F) y( p {8 T1 B% H) Z' C0 A
alert("compare color and parent bgcolor!");
: c- w; m! R6 `7 B4 o3 [# r }
5 D' A: g6 K, \ parentBgRGB=getRGB(parentBgColor);
6 H- w' X0 E& K+ y% S" b; i' o5 f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ Z* x9 Y1 l) E: x2 w& X( i {
) T" _/ Q: k3 {, j orgNode.parentNode.removeChild(orgNode); * d% b5 n6 U! K# [" a
}& J: s# ?# g. ]
}5 |* V0 l) B7 \% M7 I2 W
}/ a7 i! V1 C) s* K
}
0 \) Q y' T( C" X$ x | }* M& r& d+ W7 n* x1 ?8 s4 }: r* w
}+ D; x" i( `6 \4 ?% I+ d
3 C3 C4 B& q$ n0 L- P- ~$ u* B
' U: c9 A5 n( o# y var itemFrames = page.getElementsByTagName("frame");
) b# s* ^$ i1 |5 S; w3 P. t var itemiFrames = page.getElementsByTagName("iframe");/ x) p+ @8 x$ }& ^2 p: y% {2 S
/ {0 ?7 P* W( Q! N; m5 | var frame, iframe;
! `1 W3 B9 a) x5 X if (itemFrames.length > 0)5 H" p% }: g' r) z% q4 U
{9 j( s" A Z- F+ L! r7 k
for (var i = 0 ; i< itemFrames.length ; i++)
: J3 t, N8 N9 N! P {
& i* \9 t$ e0 i frame = itemFrames.contentDocument;
4 s0 ^# d T3 S this.RemoveHide(frame,objname);
9 Y# U- I& p" Q5 a* r& d }
' a. d8 V( x; t9 e! H- Z }
/ i9 o) Q1 Y. z! @. b: f+ Y' F if (itemiFrames.length > 0)6 Z4 c7 ?2 G! H4 d3 I" {
{! G4 L! F" N% U" i7 V
for (var i = 0 ; i < itemiFrames.length ; i++) : c i% f8 v4 G. b
{% z- q6 }6 W5 @4 A& r
iframe = itemiFrames.contentDocument;
c* Z0 K& ]$ P! Y1 _9 P this.RemoveHide(iframe,objname); * c8 I0 G; |! p& A
}
4 f) f2 b- X# g) q p. X; C+ D# y; z% z }
* r; t; C2 L" o" U; p4 Y) Z5 k& d }
l) v% o/ D0 L5 u- O0 l# R catch(e)/ b+ A$ U7 _+ X" t, d1 v
{
. Q+ t- U; F [ if(debug)
0 x" h6 ~6 M3 N {
' K6 T- L# h1 ? alert(e.message);- m! z q) i9 D1 V+ D
}
+ a" T. i, h: B0 | }
; b6 @! ?- E3 j" _* \4 K }
$ K( }" |0 p& E2 Y$ x e8 p
2 N$ N n' _ t- [) z}
+ ~2 @/ Q9 T v! P1 Y- ~ M& h0 z8 x( u: K* l" Y
function getRGB(colorString)
% ~" e3 ]( L% }8 J{8 G$ x; D- n8 w3 b: z6 {
var RGB = new Array;2 U: o: K, Q/ q+ W; x2 Q: u# U
var tempSting=colorString.substring(4,colorString.length-1);
( u* b) {: P3 F+ w1 M9 e1 \ [ var tempArray=tempSting.split(",");
7 C- I4 I& ~4 m. _/ F/ R$ _( r9 j* Z/ ^% Z" d
RGB[0]=parseInt(tempArray[0]);
# r4 ^, [ ]( A" S" @, d: w: m RGB[1]=parseInt(tempArray[1]);# ?# w- c8 J" h0 r: l/ h
RGB[2]=parseInt(tempArray[2]);
i5 z5 E! G& M+ S$ r- D; i$ i ( T# _0 c+ ?3 A8 m# E: z
return RGB;2 Y9 d$ j5 a4 B9 m' t) E
}7 O* r6 W4 q4 h' ^
function keys(evt) * X) _9 ^- \# y9 a" u% I1 ?
{ 8 C. [: O+ G* a( |2 R
if(evt.ctrlKey && evt.keyCode=="81")
$ a+ V, E7 w u6 E5 J# v {
& i- U- ]8 k5 C' ~: S2 E" ]1 i) k CleanHideObj.on(0,1);% N, J4 c2 \0 O$ F6 s) c% _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / e# |( P( X. }6 H
( K3 f+ z% T T9 v
}
6 l" {# f, v' I/ K( Y5 Y) f/ s }
- K% `, j+ v0 `6 I4 g8 Rdocument.addEventListener('keydown', keys, false); ( @7 n; ]6 B- N
GM_registerMenuCommand ('Clean Hide',
% G) T4 \$ h8 R8 R' t9 Efunction(e){7 A. h/ w6 s% a" b5 ~2 _
CleanHideObj.on(0,1)2 E3 T% B' m& Y! l: V4 w: m ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- d4 l- [6 R5 t+ q+ M5 ?});
V% C1 t1 D- D+ |0 C |
评分
-
查看全部评分
|