|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 ^: F& z$ D" ?( c: `" c! M U: Z+ U1 K; J5 j
火狐插件,用猴子) A' Z$ O1 r0 o* a
% h5 U0 {# r9 b6 Z# Dvar debug=false; 2 Q" k: E; l; ], ]3 P
var CleanHideObj=new CleanHideClass();8 | e/ S* R+ D/ w; }9 G# p+ R+ O
/ r. ?) v3 f3 U% L0 B$ m, q+ ofunction CleanHideClass() ( `* V( X+ L5 N/ \0 O! g) J [
{
" K- g/ q/ Q. m4 | . c1 H9 q4 f- _6 f. g& V1 y
this.on=function(id,bMZ)% R; m3 o8 T E& }3 I3 n
{
5 F8 F* G' l# i/ H) M4 F
* s( c( m( n: X- O if(id == 0)
) p0 f% E4 U1 _: J' M {8 t! f7 i1 [$ x" g5 w3 _' n' R
var page=/* document.getElementById("content").contentDocument */document;
' d8 }, F* F& \7 N7 {8 D& \3 v2 g( l this.RemoveHide(page,"span");7 e e2 K0 ~, _% ]
this.RemoveHide(page,"font");
$ Z2 y) W8 t0 G* V this.RemoveHide(page,"div");. V8 u: a' [ @, q1 U/ H( k
this.RemoveHide(page,"p");2 i2 V1 `0 p2 B5 q: f/ z) ]4 ]; ?
0 p4 i+ u* I8 q- Q" H6 R8 G
}" Z7 j, f6 _+ J( q1 s
! |5 B [' V2 D1 s& I( b, S/ r
}
1 o/ O# p( N( x2 T this.getobjstyle=function(node,prop)
4 i2 m, {7 ?& A+ K; ^" u {7 B1 d7 M. B& e) G
try! S. u( U7 M5 t F) p
{
. T4 | h6 }8 S; ?1 U; U return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; _+ Z, r4 K2 r+ h$ w }; h( X3 Y, w9 x N( k' P1 O
catch(e); x7 S u" K5 }$ W1 \# d
{* k/ R- I* }9 K
if(debug), u& W3 ]3 ?8 j1 T: ^3 \2 [: z
{
, E- T) [1 C; K* U+ t$ Q alert(e.message);: P5 Q& G$ |. V/ p# n
}
# ]) d' W" M7 {7 D 4 i5 ^% o+ T( R
return "200";- v; J8 N/ K# e4 n
}% u8 o0 ]1 b- O; B2 R+ H5 I/ }
}
& E8 u- }) \$ s1 B & O/ q' ?! B5 j$ Q
this.RemoveHide=function(page,objname), V# w9 \& _6 S0 @5 }# m9 V; O
{
2 V( x2 c7 x% \) ?: J3 D* p& u try
2 R3 [' t( d% K9 {3 c i {7 f: [* p2 l0 X
var minValue=15;
$ L4 G% V2 T% U1 @; }2 }% s6 Z var objs=page.getElementsByTagName(objname);
) e% p2 _7 I; m) [0 c
4 h: B. P2 B0 b if(objs.length == 0)
! @0 A& Z5 K4 H/ L) w9 X {; w& o' }% r4 r) B. ~
if(debug)
$ B1 Z0 R) N+ }% {0 n n {
: L7 D1 ]* o5 u' R. E alert("no object found!:"+objname);: V. u4 v0 j+ w" ?! h
}7 i3 R7 M+ ^" q4 P0 [
}& F! w& \/ a) |' s
else( V/ |# t( D! N: g9 }% ?
{
( b. B2 w3 _' ~, v' A0 ~" H ! [4 h: L3 m( [( z" X
for(var i=objs.length-1;i>=0;i--) 4 R2 J$ c3 E q+ m) u0 `
{
h. o, v ]/ V1 H2 q var node=objs.item(i); & _. Z' j$ T: n. F8 o: ]# a5 c
* f8 }: R1 {: F4 e3 Y) s 6 g6 F! U6 g' l2 r' s/ d& C% A
if(this.getobjstyle(node,"display") == "none" ||, p, s, ]6 R/ _
this.getobjstyle(node,"visibility") =="hidden" ||$ _ _6 a# E7 I. s0 y% H
parseInt(this.getobjstyle(node,"font-size")) == 0) & ]4 Z: e+ x4 M8 H' Z
{
7 K# w! I/ ~7 z# E% r) K3 o if(debug)
. S# K7 x* l+ D- R {: L% _- p0 E$ A
alert("remove invisiable!");) d% D R+ s: d0 U
}
- _, x& a' w. k" O5 k' P* {& ~ node.parentNode.removeChild(node);2 U% {2 |' p8 z! a) q
9 a3 X, o d6 y }
, P3 Z7 c- V4 a: O! `: i else 2 m. q8 c( j- V) e0 k2 s4 n
{
! q+ o, Q c6 T% A/ h7 P' O if(node.parentNode)
/ w) T0 L% x g/ c# l {) c7 m& e7 z5 j" M% t* y
var orgNode=node;$ M! I/ K: U8 w+ F+ B
var orgColor=this.getobjstyle(orgNode,"color")
) p9 M# {0 `, F9 ^4 w0 w" `& }, B3 W var orgRGB=getRGB(orgColor);
, V* v7 Y& g, q0 p/ n% N7 h ! ^; `# t* D7 {1 ^6 r
var parentNode=node.parentNode
! V) T! y( a6 p' s! W/ d var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 ~( e, A c" a* Z7 g' r. G+ h7 v - D% ]+ Y% Y1 y8 c8 b& \1 ~
var isLast=false;( h# x7 S7 c% W+ `' ~
) K2 d- L5 a0 Q$ j0 j; T
while(parentBgColor == "transparent") 4 D: ~6 |& p# ^$ g/ ^) n
{8 I) j7 Q& W9 ?- v" m2 T0 d
+ m4 R4 a* c. z7 [4 }) {
\/ R8 E6 A+ Y+ Q, Y' s6 C
if(parentNode.parentNode == null)5 `, ?6 \( e+ X* n/ Z2 H
{: `# u- R) i5 P7 m
isLast=true;- m0 G. ^' w# l/ M" c% J
break;
1 b# a: X! R# V. y+ @$ T: |4 x }
' \. B" K5 J Z S parentNode=parentNode.parentNode;
; y& e/ J; g: x8 H% s1 G, j parentBgColor=this.getobjstyle(parentNode,"background-color");
( \' h" r. m) x: Y
/ f" W4 a/ i& ~. C+ Z if(parentBgColor != "transparent") / t- T" w. b0 ~7 S" Z3 W9 F9 T) i5 p" g
{
% k1 x6 U" X: X break;) {2 @# K% F+ P
}' x& O i; t; g D$ Q* p9 k
}' b0 |0 k: I: c7 z4 u! u2 ?
if(isLast)
1 @, \# Q$ H4 u) Q5 c {0 j* R4 ~1 C" b/ ^9 A4 v
if(debug)8 u8 `/ q2 }5 @$ `3 C7 W0 I
{
2 C1 O+ r& S' n1 p, S6 Q' @5 M alert("last!!");; [4 O7 D/ [2 O8 V* Y9 b/ A
}
& T+ }4 k2 @: D+ X0 k: ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ z% g! j6 e+ a) j, d {+ m' n& t/ _: P& Q Y, x( X! ?5 O$ O
orgNode.parentNode.removeChild(orgNode);
% V& W5 D: @! p0 }. r4 u, x }
/ {8 B+ G; ?5 F3 c. p! g0 m }
) }; P2 U( s z. P2 j else
: ]/ i5 C7 j, O+ t {
* [ ~8 W! `0 m3 l4 Z if(debug)
3 z6 B3 M; a3 S$ w2 f$ Y {
. }+ x) G- x1 Z2 E* D3 v6 r! u alert("compare color and parent bgcolor!");% y: m- g! t5 J% c+ l1 G
}
! [- C# L, H2 U4 L* \/ Q parentBgRGB=getRGB(parentBgColor);9 J6 V, c' Q6 k: v6 d- `. {3 T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 l, I" L" K5 x8 g {
6 r. c- G& k& M: z orgNode.parentNode.removeChild(orgNode);
2 o; Q% a" o7 q, c# I6 V4 f6 H! ^ }
! u$ }# F [8 d- s0 | }
( }. U' d L( M' n" b6 h& R }9 n. x+ h. m# ? E9 O/ K" K
} q& i4 q: [6 z3 Y% z: @/ B5 N
}
+ v9 \& [6 Q; b( t% h3 }& n }
7 ]/ P0 w9 p$ D. d8 R% ^7 s/ e 5 q/ V- D! q: f$ W# L4 ]
' O% d- I* e4 z! j1 S) ]4 R; |) q6 i l var itemFrames = page.getElementsByTagName("frame");7 Q- F8 W& I6 T( w! c% J# \8 m2 f
var itemiFrames = page.getElementsByTagName("iframe");: c% D+ M! Z& T
4 e' t; f5 U6 ?/ R
var frame, iframe;
8 P! [/ o; _3 r9 H7 T if (itemFrames.length > 0); c" ?( c2 E& a7 x* b; \5 k: r
{
& W, O6 k' m; [% T, f& x for (var i = 0 ; i< itemFrames.length ; i++) 8 \# |8 m: } ?4 ^
{8 ?! t0 U }) w0 F: L6 m6 @
frame = itemFrames.contentDocument;
, P5 t$ A0 U. s3 `, Z: S# ~ this.RemoveHide(frame,objname);
6 w3 u, Z5 K9 t; g9 o: }, E) A; e }
8 W& U) T7 ]; E }
9 l# S w0 U9 }/ T$ {& h if (itemiFrames.length > 0)
1 I- ?/ I6 C# G8 w3 g3 i {0 x& r0 K: u% h- m5 T
for (var i = 0 ; i < itemiFrames.length ; i++) ; u/ i" s" z. b2 l0 ~0 d9 c
{
# q9 y7 }: i8 f, x' R iframe = itemiFrames.contentDocument;
: ^: P. J# a& Z$ f& R* S) } this.RemoveHide(iframe,objname); " M0 ~" i+ K. l& A5 ` _0 q1 i
}8 Q( r+ o# y6 ]# R4 |
}
3 @0 R. c/ g( e/ G# l2 p# a7 Q }
; W, M0 z/ k$ Y$ z catch(e)
; M0 M% a# z) ]; {$ B {3 E D9 {1 z; Q% h T
if(debug)
. _: u4 i( c5 f8 } {
7 f+ e/ b0 B7 e+ }! T alert(e.message);
7 G' D9 s& s2 D# t5 Y& { }
8 |( V- V9 T% p$ C- H }) a3 S+ m1 {2 E* E1 j7 \
}
\9 r/ ?0 ^' r; }2 h: Z {/ o* K. m) j$ t+ ?3 \) E# U
}
. a' q: R& ]/ D. d9 O' D
. ]: @4 e/ q% \function getRGB(colorString)6 Y8 W! N K1 N0 L: n( {
{. _" ~. X$ P. x) w5 F5 t
var RGB = new Array;
& q& h* ^" j0 ~4 M var tempSting=colorString.substring(4,colorString.length-1);5 B* ^! L+ V/ H" t" Q1 s
var tempArray=tempSting.split(",");
( R8 |2 b& N8 l' ~ X( T" D5 A1 G
7 ^# f+ h6 i8 j) `9 N, n RGB[0]=parseInt(tempArray[0]);
/ {' y( ^4 ?2 B; I RGB[1]=parseInt(tempArray[1]);
) r2 v8 H6 X/ v! s RGB[2]=parseInt(tempArray[2]);* }7 o; \( `$ A+ `
# h. e: [" q" _7 t4 r0 u/ V
return RGB;
! s% l$ s8 c6 H" X n}
1 E, d, N7 L! y- W- ?( [function keys(evt)
$ u; I$ J/ j# b0 i# A/ W2 O {
; K" o* ?4 w+ S: E9 o7 ^ if(evt.ctrlKey && evt.keyCode=="81") % i8 @% H. F" N7 y% g# J- F
{ : V: a' S$ k- F9 }' T
CleanHideObj.on(0,1);, U2 I* A$ F/ O0 @8 n0 P& q5 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 P5 U1 ^& d- O
+ T1 x1 M5 U( v+ y) E }
. Y, i' O% Y( u# F2 t' Z1 m: H }
* D# G1 Y# b% L. a' n7 X! mdocument.addEventListener('keydown', keys, false);
2 x4 I. t1 Q# ^' w* _6 pGM_registerMenuCommand ('Clean Hide',
7 i- p6 i4 @4 w0 L3 W/ sfunction(e){, c! j1 n+ A& W# M
CleanHideObj.on(0,1)
' u* d7 E8 t5 b! ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 V/ w5 {. L1 M" Q3 @* n});
* c- D: O+ c& _ |
评分
-
查看全部评分
|