|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) S( e1 \" W# B# p3 g
* l) d' y# b: F& b) n5 o& C火狐插件,用猴子
, f- k; {5 U( Y* E0 ?3 J
! Q. |. }+ D: E7 q. X3 Gvar debug=false;
$ [1 V# f% Q% h& \# E$ X4 n, ^var CleanHideObj=new CleanHideClass();
. b" s4 ^# J( o$ e$ I0 s- j. P+ d; }& [( H
function CleanHideClass()
9 K7 A3 u) Q! N{ & S. U; P, H* p0 E
1 \6 c9 B6 \9 U4 _ a ?! M0 g& w
this.on=function(id,bMZ)7 j4 S( _6 B0 |0 V' T1 S
{
, R9 a" C# U5 q7 D0 g- s
) L% E1 q, u( m6 W. u$ s; ]4 B if(id == 0)
) t0 A! N. k" Q* h, V& P {
1 d/ w4 j# B$ j" I- M/ U& | var page=/* document.getElementById("content").contentDocument */document; 1 V# @7 n6 w8 k w4 x/ H
this.RemoveHide(page,"span");
" v, r7 r8 x( _: f. b7 Q7 l8 j$ {" Q this.RemoveHide(page,"font");* P Q# o9 P e3 ?$ }* o6 z
this.RemoveHide(page,"div");9 W2 W5 p9 ^( i) z2 t4 B
this.RemoveHide(page,"p");
$ f9 t/ m3 X6 A6 v8 L5 T1 n
& `/ t, \ J" x% l8 q; [ }4 |7 E- l+ K* t% H$ T" p
0 g* E3 z5 u3 [7 t L7 Z* B }
% o. ]. j& M# `1 S this.getobjstyle=function(node,prop)
' ?) l4 {9 L) X6 d0 w5 } {# y% j% c: b. g" |$ B
try
+ Q( R* N/ x, `# H" q- [ {4 l7 Z+ {. x' ~# V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 T& S3 l3 r" T0 s. D. T& u x! v
}
. [( L: t% I4 ?. O# \5 s( x3 ^ catch(e)
2 ]$ e$ {% M& W {) D& H0 y1 e7 d* d2 B
if(debug)1 l0 n# B4 Z- \. R5 m8 Z7 Z* f
{
# F2 }3 k J0 W& u# W alert(e.message);/ B5 L( Y0 w2 g7 q a! u
}
- e/ _) z" c/ i/ j) g, i9 t
+ [, Y, x+ Q, h0 X7 o return "200";. O+ g i8 }9 V4 J3 e
}; {( E1 b- B% C7 A" ~
}
' T2 V. W3 x* M$ D$ m2 o- G, I
* u1 N1 d1 R' C5 A' [6 k3 i this.RemoveHide=function(page,objname)
" S0 U5 P4 g, j: T; p3 @( {/ |9 k4 v {
+ n7 P! B# d5 q2 M; K- L try
2 H3 M* A$ \# S9 l {
- p b9 C& g; N* Y4 Y( l var minValue=15;( I0 Y3 o. E! H0 s% W& v
var objs=page.getElementsByTagName(objname);
% ^- w C1 b1 j: V+ E
3 E* Z: }+ J2 r- b. ^1 i if(objs.length == 0) ( z* s5 o; f) z+ ]* N: z* Z
{
0 P4 @; o/ N, m L if(debug), d; E+ i3 T7 ?: R% B1 Z, t# e* V+ t
{
6 Y+ N" {" C( B7 K' g, Z1 R) m9 M alert("no object found!:"+objname);: ?! x. d4 O- `* y( |7 V
}
4 C c: J2 J. X i7 E/ [ }
: j& {+ h' v& S( E else5 W2 H" @$ W d
{
7 H2 r" p9 K- ~ 8 H. H9 w4 a9 v% W0 a3 V/ r
for(var i=objs.length-1;i>=0;i--) 7 k5 h5 l! q! M3 ~3 @1 ]! Q
{8 e6 z {- {$ g( i# `: z' h
var node=objs.item(i);
U( C% h- `& ^$ l# H ' _8 W& Z7 V. v+ y! M$ X
. _ E9 n6 B; ~% _) U
if(this.getobjstyle(node,"display") == "none" ||
2 c# N& ~% P* S1 Y3 O3 r1 ?! E this.getobjstyle(node,"visibility") =="hidden" ||
% }7 l. Q0 T# G- u5 J, b+ v parseInt(this.getobjstyle(node,"font-size")) == 0) 2 P$ G( B: B9 l( W( t, G% t/ \1 I
{7 y3 o! v" r0 {0 i! d! |0 g( k
if(debug)
6 n8 p/ a; T/ H9 N$ C. D9 `" t P4 ~ {
( v8 H# p- Q- Y" Z6 q alert("remove invisiable!");
" K4 L3 R2 D' V# S4 Z8 {- v; \ }& H9 |6 {; ?6 V$ X+ b) @+ `: o& z
node.parentNode.removeChild(node);
4 b( @+ k+ R' }3 P; l & a; P. O) o$ y$ H `# h
}0 B8 E% j; {7 R R* d! r4 E
else
`7 E* ?9 v( e {+ w( q! D8 p5 s% w, W/ \$ D
if(node.parentNode)
5 m8 E& c$ w3 C {
( s: Q: [- w1 Q) z' E; { var orgNode=node;3 K6 h5 s1 C2 T
var orgColor=this.getobjstyle(orgNode,"color"), s5 i) J+ {( `3 P6 q, P8 X# r% l N
var orgRGB=getRGB(orgColor); " {( t0 e }3 e# M! q! [3 i
+ k7 k% w. g( W% O ~+ b
var parentNode=node.parentNode Q9 C4 l) v3 V+ o+ \
var parentBgColor=this.getobjstyle(parentNode,"background-color");
h; C+ i2 N# s% q4 z
2 W: O' J% }- K5 M var isLast=false;+ B) T R7 \, P% o8 O% X3 m. g, B) }
2 z2 [3 [; ^& C8 c% k
while(parentBgColor == "transparent") ! X) u t) R3 K
{
. O$ O1 x# X# `( z: S7 F " {" H N! G G; z
; e9 Y8 k1 a( R) z8 ?3 L/ Y if(parentNode.parentNode == null)
+ y* w( M% B. |6 `5 ?8 f0 z- _ {
" }* N# a; P* h- l( O5 A" G isLast=true;# r, O9 x7 G0 X n0 l* J$ u1 Y4 m
break;
4 C5 Q% b* x4 ^ }
+ [+ ^. O% Z- W% f) o: A parentNode=parentNode.parentNode;
" E m! u( u& `- U& H! i- G parentBgColor=this.getobjstyle(parentNode,"background-color");- \6 X( l( E9 j D9 s! _7 N
8 B! }8 G* t( H2 M2 F2 Q/ d, u if(parentBgColor != "transparent")
& h$ x8 ]) ]/ K& @9 ~ {, I |6 U: y6 O
break;" ^' M. B6 A0 l/ ]
}! K: v1 E6 K& j- V* Q
}
" Z& f' b1 i7 n: ?8 u3 \ A8 Y, k if(isLast) & U0 b3 K9 C; Z0 j/ G
{
$ r; _ Y0 I1 q2 M if(debug)0 Y0 h. D8 \6 Q
{4 E3 V) y' M( b5 ^# N4 r
alert("last!!");
, n/ a% T: p9 G/ B6 m) R U4 S: Q* }# j }
- k' P2 h6 ?+ Q1 q* ^! | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. R+ G( H- L5 Z+ W4 { {) ]: f4 R* _& D3 h D
orgNode.parentNode.removeChild(orgNode);
* X4 z3 S; ^9 s7 | I: a; o }
8 D3 I$ `; k$ o- B$ s9 l }' H+ v; H/ G9 C! V- f1 W
else5 r, h6 e7 O5 g: Z/ n; s- {4 Z
{, V8 T: M- c8 T7 H: z
if(debug)& g8 L! n! z0 r; B3 _+ S5 T
{
3 S% H$ k# M' p& k) ^- T5 K1 |5 \ alert("compare color and parent bgcolor!");0 j; `" H6 R: c
}0 C Y. j$ ], o* a4 W
parentBgRGB=getRGB(parentBgColor);# m4 Z1 L7 j3 r7 l9 ]( e
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 }$ x5 A! J: a: m$ k' l
{
$ f2 o/ F1 ~8 s orgNode.parentNode.removeChild(orgNode); 6 r6 Z7 U1 ~* H( q9 K
}9 _1 n2 u; c& u' e9 `4 _6 w
}) L! N! \$ ]& @4 J b# Z
}1 ^/ Y5 p, Q/ ~
}
! h. f5 K% v0 r) |4 _) Z }# Q: D7 `* q; K
}
- c5 Y1 x2 ^: R q- x2 ~7 q0 H' a
v, I9 A) x: |+ |# k8 H5 N 3 K8 C9 E' }' `. z$ G& F
var itemFrames = page.getElementsByTagName("frame");1 f, X8 S- ?6 x( |( L: \7 S
var itemiFrames = page.getElementsByTagName("iframe");: s4 ]; j" u% o& j1 w9 h
8 {8 G( Y% u/ }9 L
var frame, iframe;
7 b, R4 |) m* d t if (itemFrames.length > 0), v0 @) \1 i6 _( U2 T# f- F$ ~. N
{
- g( H9 u+ E5 L$ [# [4 J8 E for (var i = 0 ; i< itemFrames.length ; i++) 2 J+ Y! P# f" L) [/ k- O
{# B3 m; o. L$ _; z
frame = itemFrames.contentDocument;
# a& O4 ?1 p/ c9 N( H; B this.RemoveHide(frame,objname);
- @+ l4 U/ k$ ^' W4 R }; k R: w# _ J; p* T. K3 @
}
& M: D6 T- X3 W5 Y4 l% { if (itemiFrames.length > 0)
. c# o( f8 m O" A& }! L {0 H' P; R; p9 O' x! U9 m% `5 w
for (var i = 0 ; i < itemiFrames.length ; i++)
8 n' n4 g; \! N+ H1 C J {0 l$ R( C# V! @( p5 m# j/ x9 P# l" N% A
iframe = itemiFrames.contentDocument;
7 Z7 R2 E( A8 n2 g$ _2 j4 l. i this.RemoveHide(iframe,objname);
6 R( e5 V k/ S! n1 Q }
! v) U9 k, M+ Q( ^& W }
% ]/ l5 X2 I* ^. M }4 q8 M# m2 Y. B
catch(e)
0 F3 b0 V7 O7 Z& | {: y* V9 i; e- u# D/ O5 @3 S5 d
if(debug)) G l* `/ T9 M0 s4 i
{
s) V/ S. z$ ]9 f9 q alert(e.message);
. y8 n! F/ o8 H1 p, u+ v% p5 [ }! H- |, q D* z* B& K, ]( o8 G
}3 s1 Q" k1 K% [ k9 p* k3 I
}
h3 N' U7 {% M2 V $ H& z% S O/ ~0 y) A. q
}% }9 D \3 _2 L( ~- s" S
7 z% W- c9 R! D) Z ifunction getRGB(colorString): y7 m6 |( | n$ ~/ q% m
{
$ T& U& q6 \: L4 { p, X9 V. C: i+ Q var RGB = new Array;
" _# l2 Z3 }: A } var tempSting=colorString.substring(4,colorString.length-1);% L7 |1 n/ {5 d( y% Z% @
var tempArray=tempSting.split(",");7 Z, R; z% ?- J0 Z2 @) U5 ]' T
% m. ?# R2 j8 B, ^$ ^' J! V& s% J RGB[0]=parseInt(tempArray[0]);
1 P# j. B' g' a& L RGB[1]=parseInt(tempArray[1]);
% m8 ?4 d* b" c* S0 H+ l; Z RGB[2]=parseInt(tempArray[2]); c/ r; \# M s. T) h- o @' ]
& c* C1 d) m3 Y7 x0 j return RGB;
* X }+ \5 u% H% A# i}
& g6 k. o$ T9 p. X: T' x* qfunction keys(evt)
4 p. a4 U* z' K; w) i. u( K0 z- I; Z+ V {
/ N" z( O2 E, c if(evt.ctrlKey && evt.keyCode=="81")
+ O7 C* ?2 l6 _& @2 o9 |( R( d { ) H: {" x* M7 E
CleanHideObj.on(0,1);7 H9 T: Y: u5 }8 ]* T* \' }0 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ T0 ]$ r* N5 Y N + M) m$ P* y( a0 o1 L8 E/ C
}
3 g: J1 l. R9 H- t }
5 K& W" R3 _" I. f+ I; A5 Zdocument.addEventListener('keydown', keys, false);
, X! z" S( P' I+ f0 [GM_registerMenuCommand ('Clean Hide',' x1 R: b' A2 I& J8 ^' u5 s; s1 k
function(e){
1 a( ?- s9 j* |& @4 R3 pCleanHideObj.on(0,1)
6 `& k1 g0 D- {- Talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) m; _! e8 D- g) J* O4 j});' H+ n) z9 a1 g3 l0 u4 ?
|
评分
-
查看全部评分
|