|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( J+ ?# v4 U, h
. s. R5 M8 {# B+ t k# \
火狐插件,用猴子
" G0 S7 f, j7 E0 ?: h' z, N
# L* A( T7 v$ Gvar debug=false; 6 }: G9 r$ G4 ^' X) y8 p
var CleanHideObj=new CleanHideClass();
; t/ p/ W; a0 A- F! ?
% z/ k/ Y( j1 i; O2 i/ Efunction CleanHideClass() `' J5 `1 _( T1 ^2 Y
{
, S3 C; f0 I* Y4 E5 l: V 7 A, O' z: G: V) o$ d3 K
this.on=function(id,bMZ)9 X8 j1 e. V) Z' @$ V0 p
{/ |; s6 Q) f: c
2 s" a: i! V0 B+ l0 L if(id == 0)7 V. W6 c& e5 l3 I, U7 r1 @. s
{
2 F$ R0 B* Y0 \4 w5 v var page=/* document.getElementById("content").contentDocument */document; 8 W$ r- ^# j2 c7 Z/ y* w
this.RemoveHide(page,"span");: p0 {$ V8 C# ~/ S6 V/ R- ]- t& y4 C
this.RemoveHide(page,"font");
( L, f# ]7 f* K1 g5 x! Y8 a c6 F this.RemoveHide(page,"div");% X$ ~5 x% D* t0 x. { W, K
this.RemoveHide(page,"p");. S+ Y# X+ {& U" X* f2 k
0 p; t' f. h6 ^# H }$ ]$ z- a0 `0 ~5 O3 i6 c
- F+ k/ V/ M/ ~: M/ y2 [) g
}8 O& v9 o. E- V7 S
this.getobjstyle=function(node,prop)0 C J1 w! n8 U* ^
{
$ B- C, B t# D4 @ try# V% M( K+ F& w- \1 U9 T
{
9 j- E" b% U+ O: r% K return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 l% N1 Y# p/ A/ W
}* ]' u$ P+ o1 s
catch(e)
4 K% K1 W I; r {
# `$ n( f+ Z1 ~0 a0 N" ~# N* }4 H if(debug)* c/ _3 c! Q- ?4 T7 Y+ A" m' q
{9 c& o3 `! q( X4 |0 `
alert(e.message);. @9 J3 d7 ^1 s& ^
} ~# v) u1 y9 y; W( b
5 b& J- ^* R# g! Z
return "200";
B5 x: T2 x5 o' u$ V$ A4 I0 t) g }
3 ]5 ?% z7 z R7 i5 w: ` }
% g" b: b6 O [! p0 v6 O/ R0 n
+ E( V! b& J: c/ _% S' e* {0 ?8 E this.RemoveHide=function(page,objname)
i6 A7 ~! w. t+ z" C {0 ~5 G% Y- d" }* D
try
: h. A$ v* N+ c$ w4 g {, W5 K: `4 h( `6 E
var minValue=15;
N3 t' `, Z( B/ \4 m# Q var objs=page.getElementsByTagName(objname);
* Z1 V* w! J, x1 R% s
4 Q' f& F4 j) `& u! f5 ?1 U# i! d if(objs.length == 0)
: d, ]6 u: T. l {7 R+ T$ w* h* ?% h6 ~0 L
if(debug)
- g$ E `; q' q" ^ {
5 [ G" K: l5 L0 p) L4 w, i alert("no object found!:"+objname);
5 x/ Z7 l9 l* N: o }, p7 o! Y- K) d6 C( u5 s# X8 q
}
. G- z- t& y& ]0 \+ H" L else
& k' G6 i2 p4 v$ w) c) ~ {. n6 c' S! k4 }" I0 a
C7 O7 e; U. y4 o; p; w. g5 n
for(var i=objs.length-1;i>=0;i--) - M* V7 W2 A' f7 Y- a. a# f8 C
{
' g# g# o& G! U6 D var node=objs.item(i); 8 T1 _4 j1 l" \2 @1 A
: Q+ p! M; A- L$ f
$ ]6 @; r- G) P" Y8 x3 W+ E" J
if(this.getobjstyle(node,"display") == "none" ||
: V* n3 M8 H: c9 ` this.getobjstyle(node,"visibility") =="hidden" ||) y( k3 C$ f. { q8 T
parseInt(this.getobjstyle(node,"font-size")) == 0)
" ]7 M& E8 Y" r% c& q A8 a {4 x. I2 [5 e* e3 T
if(debug)
6 i' w" K# C' E# E# R8 D: Y {; q {& R6 i* j( \3 O5 W1 ?
alert("remove invisiable!");
; z. v4 e8 H7 o% e! @! C& ^4 K( t6 @ }
" C9 T% {2 O, M: d ` node.parentNode.removeChild(node);
7 @; G3 G4 i9 `; u$ K
. `; I C3 [, ]) O% W }
: C1 f0 N. ?, j8 J4 B" G/ Z4 n else , D% I( r5 S. v4 o) Q
{
5 `' Z0 D1 {6 r# `( Z7 U if(node.parentNode)
' ~+ c* ^* K% R2 R w/ ]/ I* f {- U9 G3 X. p4 ?
var orgNode=node;( W3 [: b3 H3 w# o' M
var orgColor=this.getobjstyle(orgNode,"color")
& l6 n) g' Z9 Y$ f var orgRGB=getRGB(orgColor);
7 O9 ~6 f+ `& V1 @* _
: ?9 X( D/ I0 r" x7 W var parentNode=node.parentNode3 X3 w) j H' A4 U. z
var parentBgColor=this.getobjstyle(parentNode,"background-color");. D; K( ~6 {- P
* r* Z' q' a2 \8 ]; i) i var isLast=false;
) e4 |; l, }: Q4 G; r 0 r& F3 R, Q, C9 W3 r0 j
while(parentBgColor == "transparent")
. i1 T) } a) `9 E- Y+ I( P6 V3 G+ J {. U3 N4 V. I( F6 J$ l7 \
+ M1 |( J6 a* Z! i " I9 f% S. a- P
if(parentNode.parentNode == null)
5 V0 O8 w2 Q& X Q {
. ^* _$ ~. I, g" q; O m isLast=true;/ @/ T: E: ~, n+ i8 Z1 a
break;5 g. c- [. C6 s, u/ U1 K
}$ ~% y5 o( ^! N: x1 h( n4 a
parentNode=parentNode.parentNode;
! J8 X9 d# r9 E% I% [# Z0 N parentBgColor=this.getobjstyle(parentNode,"background-color");& }% y* N3 P* p
& D0 H+ H: p3 U5 H* K
if(parentBgColor != "transparent")
8 b5 I/ @3 x& V5 S2 Q3 I {
3 r( F5 \4 r. w0 V break;, V) B( j+ M" g, l
}1 |" e- G, R1 L3 b/ g. s+ k
}
$ _9 b A- V$ g# Z: U5 |9 t if(isLast) ' z3 V& A- T$ i- C) ^
{/ }' L1 ~# _: v( e5 F6 |
if(debug)
4 U a, C' s7 X: A" @ {8 `. F* O( ]" r8 j) q8 g
alert("last!!");5 c2 R5 _+ {) f8 [& x' R$ E6 g
}4 t) \2 j( j! Y+ m# p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 L, J( S( Y3 X" F& K# s9 k
{
4 [+ A4 c* ?# q. T orgNode.parentNode.removeChild(orgNode); & i0 {: Q; a, m# Y" N* s1 W R; ~! ^
}! A! \, Z, l/ I$ b
}
j1 R0 n: U1 [. |- D else* p4 V. o9 |. b" v: f/ D
{9 U R0 z* j1 A) l3 J' [
if(debug)3 F+ z1 r. r1 T* N" W
{9 M" G$ E- h* ]& C% I
alert("compare color and parent bgcolor!");
/ E: l* |+ T/ v% P9 w9 H# f6 T }4 m2 F2 i+ ^" r9 }* q/ J
parentBgRGB=getRGB(parentBgColor);/ p5 C( d5 [3 ?% a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ m0 `8 i0 a" y- U {9 V, M: s" r: n3 k
orgNode.parentNode.removeChild(orgNode); 9 u9 k" j8 F! s% M3 t
}
/ K6 B- z/ P5 q8 d# W) @ }1 \: W* \: V9 i" m. d- _
}
7 [, C1 K$ T7 q }6 h% \. j8 ?# f; \
}4 z% J2 X" P z; B* W) k. _& V
}4 v/ ~! \3 C* E# N4 F" r8 ]
* }* @5 Q0 E+ }" ?$ ^4 _
: o+ ~; l+ \+ v6 h4 Q var itemFrames = page.getElementsByTagName("frame");7 s ~3 @# `$ }8 e& I4 N( l
var itemiFrames = page.getElementsByTagName("iframe");
* x* @; [- Q+ j, O* V: l R! c
/ Y) H# w6 r4 n3 c var frame, iframe;
% C, Z" ]- S& j, L4 U$ f M3 _2 E6 c7 h# @ if (itemFrames.length > 0)
4 }! x/ ?* y$ O+ G, [% b2 ] {- W% p2 A- i6 j
for (var i = 0 ; i< itemFrames.length ; i++) $ r1 G9 X$ g) |- `9 a2 W- i. u
{
0 U$ l' |# V, r& t/ T frame = itemFrames.contentDocument;$ P& \% I, v' G5 D
this.RemoveHide(frame,objname);
u5 a* E+ m, z5 R }
3 u8 `" T; F, c# j# E+ n }& a# e9 `4 O J! {6 Q
if (itemiFrames.length > 0)
; G* J# U5 u: ^1 v9 W! ^$ w {' z( X$ z* P; R7 \' H
for (var i = 0 ; i < itemiFrames.length ; i++)
% t8 S- N7 {* b3 H {
7 P) j. H5 @# R iframe = itemiFrames.contentDocument;
& P9 s6 g9 N2 L0 [ this.RemoveHide(iframe,objname);
$ g( Q9 h9 N+ X9 R: q }9 k8 L' y( Y; i1 w. h) f
}
2 }6 p* T8 Q+ Z }' J- a& b6 p6 G
catch(e)
4 ?/ p5 z: V& C* i5 O: ]: O# y* g! u {
0 d& d# j) m% W8 O6 s$ b if(debug)6 `0 C" @% P6 \
{
" P) V0 ^* A P6 |( z& k! G Y alert(e.message);, ~: H8 w+ K% ^: o+ n z- H
}" Q1 w& q9 ~' E' B1 o+ D; Z( a
}
+ e7 J% p1 W4 c4 A }0 Z$ B' ]- n+ o6 K
6 v# m5 G$ P) W/ Q( N}
9 _; T: I0 V( R7 c* i! k1 W' |! W0 G6 q( `9 c$ R
function getRGB(colorString)
, B# `/ O3 b# i ]) y- @) c{
# P2 ?2 z9 @) b3 Q/ \ var RGB = new Array;
* p; h7 a7 p& W var tempSting=colorString.substring(4,colorString.length-1);
& F6 O5 Z+ T% ~; O3 [ var tempArray=tempSting.split(",");0 w9 J& S- r2 ~$ X
+ z, s/ @ v& ~$ V% X1 c
RGB[0]=parseInt(tempArray[0]);
0 \* D3 @6 z, |8 u* B RGB[1]=parseInt(tempArray[1]);7 H u! O3 ~% R% l4 I( y4 k
RGB[2]=parseInt(tempArray[2]);
% ]! B0 M/ O; I) `! K4 \) g
7 ]; @+ X9 o" Z5 a) v1 F, J+ B return RGB;! R- W# B( z5 b& c, X: o
}
) F" W1 Q5 Z w& m; q1 ufunction keys(evt)
6 z& H& D" ?5 k, { { & i9 }) E! U v6 J9 p
if(evt.ctrlKey && evt.keyCode=="81")
) _4 X- V" {. W' k+ K" C { . W" Z2 q+ \/ R; K
CleanHideObj.on(0,1);
$ X3 }: K2 g& }. }: U9 M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) y: N' s |, ^5 {7 T( K. q
5 _( C/ _3 Y. k7 B# Z" B) m* [ } , [' Z- T# V8 x6 r
} ! ?1 V/ s% {" m1 K
document.addEventListener('keydown', keys, false); + l2 {7 g. e# a- J, S9 N
GM_registerMenuCommand ('Clean Hide', j( h9 Q. _. b9 m
function(e){
4 ?" n: u; k, _1 X$ W+ g. x QCleanHideObj.on(0,1)
5 a' |' k. g) q( ^0 G. dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
r2 S1 u7 Z0 g4 U. ]});
8 l3 ?$ R' A2 p6 h+ ]3 [( a |
评分
-
查看全部评分
|