|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 C- {4 E; S5 e) ?# D" ?2 k3 J$ x3 B1 W; K
火狐插件,用猴子
3 }) c% H" ^' w7 \9 G2 Y3 N
9 U" |6 x( t7 y. `1 N' k2 e0 ^var debug=false; ; R3 _2 `# d+ F& M+ A
var CleanHideObj=new CleanHideClass();
0 ?' e8 z" {& A f5 w d9 y
: U" J% O" j# o& C0 V! ffunction CleanHideClass() , k2 ^& a7 g9 |1 ^1 f# f( q
{
2 v7 b J9 }4 a& T" V( ~1 K
/ k: m3 _) ^. J2 j this.on=function(id,bMZ)3 Q2 f7 M3 F; D3 z" c7 j$ P
{
* f" f7 w. R4 P- Y, N" x8 e ) A" e: b; d2 [; N: t
if(id == 0)& y T d" J4 @- X, W
{( K0 w2 {% J( T7 o- Q8 u% p; K
var page=/* document.getElementById("content").contentDocument */document;
9 W1 ], h( U: x# q5 z( ], K this.RemoveHide(page,"span");" y7 y8 r# t& x, F( N2 D/ }4 X: K
this.RemoveHide(page,"font");/ y. @* @ b8 z+ ]- t
this.RemoveHide(page,"div");7 n! y5 J% E! s& t' _( K/ F- T
this.RemoveHide(page,"p");
" U5 s2 o/ j' b, J$ [ $ g1 |1 c' T5 o
}4 B% f( c" ^6 _
5 _0 w3 D$ T A5 o7 ] }% s: M3 J$ V- W2 l/ ]0 W& V* Q8 n
this.getobjstyle=function(node,prop). H! J, v: T1 o6 B$ J
{
7 \" r4 F) i$ a/ P0 ~# | try
; o& U" g+ q* u+ X q. H {" t ^4 k3 ]8 O% [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# ?) U! E7 O& N }9 L7 E5 j/ ~& w' F. M- Q
catch(e)
, R! t P- D- n! f9 ~& Y8 u) f {
: d. ]' Z, j8 m if(debug)
& C/ g- h4 {: I; i {
5 q3 d3 E% i: q& W$ s4 m5 P alert(e.message);2 G" P/ d/ r1 s* V& z
}
9 S' F1 q; J8 W! X # E6 @8 P4 _/ n% ^
return "200";
( L2 W: t' R. f- q7 S! x }) x9 r8 [7 ], I4 T2 k B7 k$ T
}" v( S0 ~( B* T- P
& L$ l7 {% H( G( o3 T this.RemoveHide=function(page,objname)
! \0 t" v% \( ^5 g+ @ {/ e4 O4 e Q+ d6 I; [, I$ i, L( l) ]
try
4 E6 E5 G o/ X {0 D; \: Z. L# I8 C7 j2 q- p
var minValue=15;
) D# O/ ~1 G/ Y/ d/ t var objs=page.getElementsByTagName(objname);
9 Q+ o$ A' x3 K
2 @0 L: w H: @* [$ _ if(objs.length == 0)
3 e1 g' m/ L1 f$ x4 v( ~4 | {$ a% d; m1 V& l. z
if(debug): n/ S' v7 c2 {. \" g
{
% D) A9 `9 X4 W* n alert("no object found!:"+objname);2 r3 v, t% v) l0 {' [+ J
}3 D: d' S# E' Y6 c$ J" R
}5 B3 `/ Z7 q, s
else+ P& o5 t9 b" ~
{+ S; w0 Z2 o5 {9 ?$ F$ b3 Z% ^5 X# ]
2 G% B% X! t, e6 a, k" @; B for(var i=objs.length-1;i>=0;i--) 0 P0 U6 h0 e+ _3 n4 \4 W( @
{6 V9 \8 U- I V+ _ W
var node=objs.item(i); / X- c( i- R* n, m2 [% v v
. ^7 |" x% N1 f R# A2 ]( X% K - i- e" l% Y& l$ r9 o* w
if(this.getobjstyle(node,"display") == "none" ||
) D3 V; ~: C! }" g# M7 `& Z this.getobjstyle(node,"visibility") =="hidden" ||
$ a( p b& I- m% k* v' ?4 m- H parseInt(this.getobjstyle(node,"font-size")) == 0)
; I( o2 P' I8 E {5 B+ W3 w1 X/ O T
if(debug)' ~9 J: A6 E0 S( C: I
{
6 v. N# |. S; p/ ]2 Y alert("remove invisiable!");
% c% _; a, V8 j. |9 C2 c% U2 t }
5 k3 G3 K, Z2 T9 M( { node.parentNode.removeChild(node);
& M" D. l: K7 z9 X
( y* c/ G, g9 [1 w6 h; }. }7 C y }
/ p( B) ?" P3 M3 @( [( x! R else 4 e: K/ X" s$ J# @
{6 i4 D. r7 `4 g' F5 m" f2 F
if(node.parentNode) & d7 V/ w/ N+ y4 B3 V
{
7 ?+ m# R6 d2 U2 S" R var orgNode=node;
- y- z" [6 s5 @. V/ c8 U. @7 w var orgColor=this.getobjstyle(orgNode,"color")% u9 N( v7 V! [& j* I8 P/ R$ n3 D9 G
var orgRGB=getRGB(orgColor);
' }( q& @, M# ?8 h- D * W* M9 g3 x( o
var parentNode=node.parentNode6 ]+ F: u1 B6 s( W5 y6 Q' |
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 p( l# O8 x" T; z2 q
5 e- i" D d* k) B var isLast=false;+ e# X% y- j3 \; W. v' ]( T
& J8 W- ]4 r" Y& [ while(parentBgColor == "transparent") 7 n# }9 i, ^6 ?5 t. s& t
{% ^; ]4 [0 q9 Y( G/ V
! E9 t3 E+ u! a2 ^
" _! ~% J- R% R if(parentNode.parentNode == null)2 I6 M/ {4 k6 U3 i
{7 H5 {6 o( V6 J4 c$ X# W8 U. h( [: p
isLast=true;# H/ T$ O3 b6 v/ k+ F% C$ y
break;
2 `8 Q) U! [/ J+ ?9 l } n( f/ k8 w5 Z2 j* B! R9 ^! Y0 u
parentNode=parentNode.parentNode;
6 ]* p I+ a5 q) C" g J4 v5 u' A parentBgColor=this.getobjstyle(parentNode,"background-color");! C- t9 N0 L- Q$ E/ `4 [* L
3 C1 H5 }! N4 v" ^. | if(parentBgColor != "transparent")
! M3 Z: R; X0 i8 E {3 B+ ]( \/ c& x M9 w
break;9 P; y( v$ ^: g k) c1 C. z) k
}
7 O5 `: ^0 M# k- b. k8 } }' x8 `/ d9 O8 m7 C; I' }
if(isLast) 2 j; U, d! W; E6 J% q
{
! L, ]3 o& K) Y0 \# d/ ~ if(debug)
3 j1 y9 R L. d. H0 |2 v {4 m0 N3 S7 N3 p& _3 I5 u- W, T
alert("last!!");. _" p; m. s* U! _* l
}) B! U( h4 L% u+ ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' I8 _9 J4 l b. N2 G! Q {/ n' @; L* ]6 K4 a! [- D
orgNode.parentNode.removeChild(orgNode);
# o4 C7 P2 }; n" O. l }
1 z* q2 ], \, C }
1 ]: k3 ?8 ~+ g# o! O else- e5 J( ?( l2 k; D2 ^" u
{
6 ~. t# L, y. n7 f& H' A0 L8 v. N- b if(debug)# b0 Z% H" V" \1 v* O2 z
{3 U1 J9 k! I. Y7 K5 P
alert("compare color and parent bgcolor!");- z5 P$ u2 u7 ?
}5 s8 M5 @9 X* O% ~9 [
parentBgRGB=getRGB(parentBgColor);% s' X. {: o6 c" _. s) W8 k
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# ]) K, a/ T8 m, r a {0 D1 X. G4 U1 F' X* h
orgNode.parentNode.removeChild(orgNode);
" z0 d% k2 V& c: X }
$ J# S: [3 z+ P) J/ w9 ] }
) l4 |! I- h5 [9 z+ h }' V! k: P( p& x/ i; N2 @9 u+ ~- Q
}
; O- R) Q& A* W4 t9 N0 H4 [ r0 o }
" l) _/ }" }# \$ e) g" K }
: I, n3 q4 X0 G, {2 j$ d. S
[& Y6 q. B: n2 G5 S
2 N5 [' Q+ z% f var itemFrames = page.getElementsByTagName("frame");* n& \) i6 C& N5 T5 c, H! g1 C
var itemiFrames = page.getElementsByTagName("iframe");% F$ ]% S4 O2 @/ U8 |/ t# A
; ~7 R" I5 k9 a) ^% c$ Y0 t+ |
var frame, iframe;
' l; t$ ?% I( Y& f" ] if (itemFrames.length > 0)
y+ D% J/ N8 A) C! W {
- D% ~5 O& x, D, N, R0 [ for (var i = 0 ; i< itemFrames.length ; i++)
" R j0 ~4 p: ^2 _8 W6 q& \" q {
& l& q; ^# L4 Z frame = itemFrames.contentDocument;
0 ]% d9 Q: H- a this.RemoveHide(frame,objname); $ G% |5 Y: c6 Q) t+ {! E3 G2 w2 r6 {
}4 t) [; \# p5 b3 J% `
}
0 i0 v5 _) k9 z" ]. W! m if (itemiFrames.length > 0)2 `2 @+ ]) U' m6 @ M
{
) E- B- H' P6 B j. P% Q5 y% Q" ` for (var i = 0 ; i < itemiFrames.length ; i++)
* c* e/ B [" a% b% z {# B6 e9 V4 N1 |( X1 ]5 H
iframe = itemiFrames.contentDocument;
9 o5 ?/ L5 Z& W% {( l9 g$ T' k this.RemoveHide(iframe,objname);
+ H6 ~& B1 g6 G }* F0 L$ A' I0 M
}% k4 v; @( h& ?0 n$ V" s: \6 w
}
7 q% H% ?) Q& @- k" Y0 T catch(e)
; c7 ]5 X1 a. b' t2 n" ]. S& G {( ]) L% W3 }0 U6 g; T6 } R; M
if(debug), K) a, B) m0 g7 B' X, `
{3 y4 B9 X* p. F. e! n* A" T
alert(e.message);
/ q9 h+ T7 w: C. T# S3 I' V: G }
) z; L- {5 P9 E' W3 y }" F# x8 N) d/ i2 D) T
}& m$ S ?2 M* k" T( F
0 o& m! R: u9 I1 S/ ]+ B
}* J t. M( n8 C# _8 ?9 c
4 `0 B6 W) [: g/ Kfunction getRGB(colorString)
1 c6 f0 h! @. ^/ D1 l' Y, v{
) ?$ z4 J: G9 m1 ~# _$ Z8 K var RGB = new Array;
0 o/ E7 q* R) C; _! b var tempSting=colorString.substring(4,colorString.length-1);
* M" B# M+ t! b var tempArray=tempSting.split(",");
! f: o2 n% L" e$ f1 c" r
9 i# `( _# q4 f( z. Q" T4 q RGB[0]=parseInt(tempArray[0]);
1 t3 D6 F! p. ^5 D; { RGB[1]=parseInt(tempArray[1]);; \" y6 S! J' O8 U3 N
RGB[2]=parseInt(tempArray[2]);- [+ i% _* C0 s6 K9 K
+ X0 ?9 y' G7 Q) l
return RGB;
7 d2 k/ ] u* }}6 x" O: ?- m s& E# [% E
function keys(evt)
( Y) m( W" J1 t l# h3 g* u4 {6 n { ( _) S4 u7 I% ^1 X, K/ ]
if(evt.ctrlKey && evt.keyCode=="81") " M3 ?/ [- \8 J: i; Q
{ * P& k. }) D4 H6 k# B+ N
CleanHideObj.on(0,1);
* Z% W/ E O& O& }0 Z' v+ @ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 H5 b* N2 Z( w$ i; K
' @1 d. w, N: ^$ Z8 H/ `% V } 3 q9 w; h. O& C2 Y, G* R
}
& {0 ]* ]/ w0 H, ?/ jdocument.addEventListener('keydown', keys, false);
4 X5 y( U. L% z: j8 pGM_registerMenuCommand ('Clean Hide',9 }, n% U6 b/ S" V$ w0 k+ U
function(e){
. ^+ U: c Q" k5 s: ?: hCleanHideObj.on(0,1)' m+ G7 {4 q1 H8 L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. _" w5 ]# Q4 R! G' y5 v});5 v* Z$ t; j$ J& Y0 K1 s
|
评分
-
查看全部评分
|