|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; E+ B& q+ |# T( @8 ~$ J9 e
$ P! J7 v8 v! i0 g8 i' V7 S火狐插件,用猴子9 b! ?4 y2 q# I3 e$ d) ~
' S' d [7 Q! E2 X0 G) T. s# G
var debug=false;
2 ~/ O: o' ]( m) ^8 T9 \var CleanHideObj=new CleanHideClass();
( |9 T1 s( l f6 t# l. d, j8 |: y1 H6 \; _# u) c, ]4 g: j
function CleanHideClass()
$ k4 |# W- H* P( H1 V: @ C" B{
& I& |7 j5 d2 T( V& B) L2 T
, g$ v! C' T. u: h3 r, C% { this.on=function(id,bMZ)
1 U4 C- Q8 X- x0 ^( R7 k3 @" j {
) x/ @4 K# F7 m! C& A4 Z 2 _2 V: g( J! K! P! h
if(id == 0)
7 |/ j I/ }; A {2 Q' s5 y" i" I
var page=/* document.getElementById("content").contentDocument */document; c- D$ p7 S' U1 g$ t1 X6 ^
this.RemoveHide(page,"span");& L- q! J$ F2 q, @! Z
this.RemoveHide(page,"font");
) _; h* u5 \. j2 o+ ^+ [ this.RemoveHide(page,"div");4 P0 D2 M r2 J8 [. x: g$ i
this.RemoveHide(page,"p");! G- ]" N8 L) U
$ _/ a2 A9 g0 X; l) e6 h( Z }7 a* J! ^: c: U) I6 D: w$ d
4 x8 h7 z% p3 c R' e3 S' |, Z
}8 s F9 p9 G$ ?$ R0 t
this.getobjstyle=function(node,prop)' ^/ J2 E5 c4 ]0 m& ~ z4 z
{* T- m: c/ x; w( y
try3 b0 H# t. Z0 m' H0 P7 t% R
{& I2 ^, W, t, \+ j: o
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' x- _2 C3 y7 j B5 V! u3 S }4 o: \0 }: u) n+ \# F9 Y P) |
catch(e)" B8 L7 ]2 S$ J1 w/ t0 L4 v
{
1 `! Y0 l2 A! P; B6 D& V0 s# t if(debug)
" G' P7 a7 N& X+ l' B {
. }+ n1 N7 H" I# t; o alert(e.message);/ q; ~3 W' Q- I& O" [
}
1 Z8 G$ F. C5 Y# e
1 B4 k( c3 T8 c: I( E+ P return "200";" F3 C2 v! N) F1 k; G
}- o8 K/ z$ ?0 P) E" C2 ?; i+ }
}
* b+ |9 B3 \% Y G6 j, x- X1 v u % Z9 m1 k9 p8 M! c% Z
this.RemoveHide=function(page,objname)
' ^( L$ C/ w* O6 D. ~: }$ I {
, A+ z! W v3 U! h8 V try) V" o8 e8 B6 j. M" Q* O$ k
{
& }5 N7 X& u( `* w. s: i var minValue=15;
& ?8 y, E- ?; u F- P' ^ var objs=page.getElementsByTagName(objname); 9 k0 `) m+ n% A+ d, X g! Z
: V- I1 i; r# g. B. g& ` if(objs.length == 0)
. H$ x; a' a6 j# z/ p8 b {
6 n) \# o9 Q; S if(debug)
7 X3 J6 \# d% D6 { {8 H' Y" U( i5 R5 V5 |
alert("no object found!:"+objname);# L; t8 _& o0 _' ^
}- Q5 L/ X, F m# D% _! M$ e6 C
}7 M( N# x, r3 O' A0 ^* h
else
1 C% J3 ?4 }6 J- J0 ]' f% M {9 b n: ^' {8 l! a" E& s X% A
3 U# Z0 e! J X- Y, `' P5 L7 e for(var i=objs.length-1;i>=0;i--) 7 ]5 H) q" r3 ?1 {; t
{, j$ ?+ w% F. d( s4 O9 R: c5 H' h4 d
var node=objs.item(i);
# g; Q" O% L) K$ t0 X# R* O( \
' K3 D! q' [- e7 k3 O " c; B1 G: {: L- s$ [
if(this.getobjstyle(node,"display") == "none" ||
3 g7 @* n, e* a" e/ N% l j this.getobjstyle(node,"visibility") =="hidden" ||
2 ?6 W" D- w: N& L- b( B% k. h parseInt(this.getobjstyle(node,"font-size")) == 0)
! u& Y% t3 e) n# e" {. F/ o {
8 ^: ~$ n: L9 b B! m if(debug)
) b9 E* N7 G( y @9 V. q {* c: h9 F" v' f" B8 G
alert("remove invisiable!");7 s5 v1 G; {+ C4 i/ u9 o; ^1 R3 @
}+ v: G) t6 C9 y2 s) @9 l0 `; A
node.parentNode.removeChild(node);# T6 U9 T# v5 \1 u7 q% }( a
! {; N( Z: C% B7 K3 h, R" l }9 V7 E3 U$ z0 k' X: `, x
else
2 ]* W0 v6 Z, S: F7 M {# M7 D! ?1 V7 q5 u, T
if(node.parentNode) 0 }2 k2 X/ e: I$ i' n# c
{
1 T# r) e' f1 C, r3 Z( Y var orgNode=node; B, a* [/ F' ^7 H- z7 g
var orgColor=this.getobjstyle(orgNode,"color")$ D; R" y: @0 [+ P4 ~4 y3 o1 Y! z; }. I
var orgRGB=getRGB(orgColor); 3 B! t# x( K8 q/ ]) y. V
- C. z& i7 r f3 I var parentNode=node.parentNode3 L' |6 F# B6 J, |0 Q
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; L1 E. \1 S) w6 X5 R$ K2 E E / R0 x$ n* z7 }% V+ E( E2 j! c
var isLast=false;
! W G4 t( N0 C# q. e
2 x" o7 B6 P Z: R0 y7 p, S" ] while(parentBgColor == "transparent")
8 }, z5 ?- x/ ^* A) v {, ~! C: f1 Y' i$ L
5 q5 [- G& @/ b0 C. L/ Q A0 D , D8 m' h# h2 h- I @- a7 G, p0 T
if(parentNode.parentNode == null)
' A3 i% R: d2 S9 x! d! I, w {
: }% q$ C( m7 ^, @$ Y6 r8 n$ i isLast=true;
4 h* K7 y( ?, a* o7 G" _8 o break;
0 o& ]6 d$ {% ?( N4 \8 F }
5 W8 F1 S3 f$ s& | parentNode=parentNode.parentNode;5 X1 I% i* v% ^2 ^- p3 q
parentBgColor=this.getobjstyle(parentNode,"background-color");6 w( k, k. T$ x% ~$ O2 h
# d7 o7 g( r2 j4 ]4 R& R0 l
if(parentBgColor != "transparent")
* ^1 ?* I O9 h0 s# ]& S2 l) a {% \/ a$ Z& O5 v" \8 P# Z* U
break;: n8 Z# V, d4 j( a
}9 R+ q9 q- I* a/ @1 p9 w
}
2 [: P. `; h& L if(isLast)
5 J1 [: |3 h% Z( N; H" o X {
! R; x+ r2 k& C1 z3 ~ if(debug)
5 ?, D( B4 [2 U1 H8 r {4 S# }' E+ [8 N% c$ a4 }
alert("last!!");
0 v+ d2 f+ p# M. T }9 K i: [7 g3 l% ^9 B% N6 l( p( n
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, R2 S$ T& X4 P$ e {: |8 `: B$ |1 M3 g1 @% z4 n
orgNode.parentNode.removeChild(orgNode); " l3 Q. [1 j6 {+ e0 ?* `) c
}
$ |% R$ k/ U2 e6 C6 m- y- }, }( S- b }: U. |) _: t/ K. y9 ]$ R
else
# C. J: [; F" T# O7 M- f7 f {0 w3 Z0 {& ]" ^# m
if(debug)
$ G7 k( T5 M8 Z) z5 K( o {
* q0 p. }% [, @$ e i, M alert("compare color and parent bgcolor!");9 O6 B. W: f" [" v
}
& V2 R+ F3 G9 e3 q& b parentBgRGB=getRGB(parentBgColor);* i* b; a, R X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# d: w" R9 q- ~4 c
{
9 o% y) u0 }2 u g orgNode.parentNode.removeChild(orgNode); * f/ Z9 L$ [& o% [8 ]4 G6 R" B
}3 w2 X; R9 R6 E6 z
}0 V% I; G! z% `4 R! x& y
}
Y) _+ Q1 u8 u1 {# b }
2 G( c! l& B6 G$ S0 F/ s; n- H }
: P* ^* R! ` }3 G0 V+ i' n }
# s$ {8 l0 q8 N+ W% k $ U& I2 g) O+ S
; v. W) q5 n9 r
var itemFrames = page.getElementsByTagName("frame");
7 [. G0 Z4 n5 u; @& y4 }( q var itemiFrames = page.getElementsByTagName("iframe");3 V x4 Q2 L& L) k1 Q1 H
0 _- J4 G6 @6 V; u& n var frame, iframe;
5 b$ } Y( B5 m! m( C: o. { if (itemFrames.length > 0)
6 f( v( J- J- v- l9 g( ] {2 X$ Q2 `- d0 x- e- K: O
for (var i = 0 ; i< itemFrames.length ; i++)
2 s8 B# R- e2 }9 e* v {+ ?: u& g) L' }2 B% S
frame = itemFrames.contentDocument;4 I4 R3 } {2 t" n
this.RemoveHide(frame,objname); : w5 q! l- ~! |+ I0 \7 ?
}
! f' b% [8 U. W! a }
, x G" b. o. a if (itemiFrames.length > 0)2 W$ p% u7 |, n, A& k
{0 z3 `" E% i" I, t6 h6 o: {
for (var i = 0 ; i < itemiFrames.length ; i++) 2 _. y* `6 c& t2 ~; U
{
. Z" s' X+ U) n1 e+ m iframe = itemiFrames.contentDocument;, x& g3 R& F0 c) M3 U6 W
this.RemoveHide(iframe,objname); 9 } ?/ g$ D) U! _, X6 D1 ^
}! k" n. ~; H) N' J+ K/ Q7 I- V
}
- I- c" S5 `: E6 V; o$ P }
" t! s& H) _; m) j catch(e)) `( R; }3 h% f$ W
{
% _; D; ^" H/ e! x if(debug)2 j( E: Y) Z0 G1 G: e& ]
{7 y0 v6 z7 U9 ~4 X
alert(e.message);
$ ?6 U# A) x2 B- V, E- \ }- ?8 `: V+ l5 b/ A4 ]' q5 N4 q
}* G: N8 _9 R4 M" h; ~/ A
}: n: _8 ]% P( h" j* _$ g
( n6 l B1 w# M# a- j}! I) [. }, Y& h
" r1 c; P& d( g% D% N. c
function getRGB(colorString)7 Y8 w; `; v- \
{/ l3 u% x h5 _& g8 J
var RGB = new Array;
% A" _) m. o& e* |0 F6 C3 G5 J" Y var tempSting=colorString.substring(4,colorString.length-1);' ^: o1 B8 Y. B2 ^1 K& V) O( x
var tempArray=tempSting.split(",");6 O1 g k. O l) I( ~1 _" S# k
3 P' r5 T$ _7 l% F* m5 D& S3 @3 r RGB[0]=parseInt(tempArray[0]);
+ [; Z) @. }' p$ J2 t0 c RGB[1]=parseInt(tempArray[1]);
( D, W# I8 M9 z RGB[2]=parseInt(tempArray[2]);
t2 P$ x5 b. x% V# o% n
5 c a& W5 Q8 f8 |, `4 p* |2 f return RGB;
( s. m8 |5 O% L' \}
" d |7 H) S2 Dfunction keys(evt)
- Q% O( D* p7 ]4 X {
/ r$ D+ {; v: P8 Q2 U if(evt.ctrlKey && evt.keyCode=="81")
( w8 n- b3 `. B, e5 x5 Q {
) H) O) D8 V: w CleanHideObj.on(0,1);
; \: ?& @) C$ ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 f1 h; W1 j4 O: ~% y. h& Z . |( P" D. B+ h( ^% j5 n
}
. Y- G8 n- x9 \ }
) ]9 [3 L! J' t2 \7 D! jdocument.addEventListener('keydown', keys, false); * G" A) r7 _* @8 I5 G
GM_registerMenuCommand ('Clean Hide',
. w, \& H6 l2 `8 [1 Yfunction(e){
! m/ W* X6 e+ n: fCleanHideObj.on(0,1)+ Y2 B g! `& L! ^* V8 a; g5 A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# H8 C3 x1 X9 |9 F7 D
});8 v1 f. U6 L# _4 k7 w* s; C( g
|
评分
-
查看全部评分
|