|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ I6 I3 z2 w- G( Z& y5 t8 b4 o- Z7 o! h5 t4 I
火狐插件,用猴子
2 \" \4 x8 c4 I0 k5 g4 H2 c+ U" U% t2 u3 p: I3 }4 t( B: E( o8 P
var debug=false;
. ]; R% }: E! R: mvar CleanHideObj=new CleanHideClass();
. P, Q; H5 g; m$ l
! z* x3 H' _7 ?9 |7 f8 q; u$ o% \function CleanHideClass()
$ O3 O1 f6 h/ m% L# w{
. l ~/ @! A4 h/ r" q 9 @" P5 d$ z/ X1 s5 G
this.on=function(id,bMZ)0 a! e2 ^7 Q, s6 H3 F
{9 S7 K, J; N3 Z. N) ?& I, Z
- l3 G3 d6 f/ i2 n# G if(id == 0)
0 J4 d4 Q* f$ @6 [) J {, S$ O! O5 G6 T* r1 ~
var page=/* document.getElementById("content").contentDocument */document; a/ {+ M% e6 u2 E! s
this.RemoveHide(page,"span");
; @; p& E; Q% U4 c" s( ?% E( @ this.RemoveHide(page,"font");
1 R3 O3 [8 t! f: D# A" e, P9 B this.RemoveHide(page,"div");
3 O$ s2 G' B3 W+ x6 v2 x this.RemoveHide(page,"p");: I, Q, k9 P# ~, T1 V
* h9 S7 X3 m/ A) K' F2 o& K }
# z7 Z4 T/ Z9 K& U3 o( j
; @' ^8 R3 p' R1 U6 u }6 ^* g/ T$ ^& G. e, |% x4 W" T
this.getobjstyle=function(node,prop)' t0 P2 k# u3 y, p5 c* s
{$ }% {# T) c& }' C% f
try) a6 h. O4 x7 Y* K
{
5 _* Q+ K8 i+ n M- o# e$ R/ ` return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ b; |1 X% Y( K5 s9 B; p }5 x. y4 |# Y' |/ S8 w n
catch(e)" E( Z: t5 Y( H
{
! ]& Q3 N i" P# T. d' \ if(debug)9 `$ }% {* }# M; U# x7 D
{
; B* m! G1 V# R, F/ |5 D7 e$ m, G alert(e.message);
5 ~4 Y" P2 F* C& l( `4 ~ }
4 h: B9 g$ Y6 W6 B+ R% N
+ A) S" l3 ^: M1 F+ i/ i return "200";
/ c' R- e& w3 |; G. n3 ^* U }: S: I1 t/ _" {$ z7 ?
}
& g) `- m z' C6 V0 N
7 [9 e, }, n2 P5 N6 f$ m, z* \ this.RemoveHide=function(page,objname)
5 O+ R) ^8 Y6 v/ ` {
0 o- N% G! @; G9 `6 r try
/ K" c0 r5 ^9 r2 j% n! w* v5 i {
9 k R7 ?' y& e j$ u/ { var minValue=15;/ b3 M0 ]7 i, Q" J( O
var objs=page.getElementsByTagName(objname); . _1 P* ~) }* W$ H, `
. n" |3 f9 F5 m9 r% _1 F; o if(objs.length == 0) % E: e4 N6 [: J. T& {% W! Y) x! z
{* x; D& h4 S2 ?' X4 r8 ^
if(debug)
- N2 g/ Z t& [% o {5 b8 g) J7 |9 q/ p. L' e0 f
alert("no object found!:"+objname);
, Z d( G! s' @4 O }$ }" W& E: @7 b& \
}/ n. i( S7 `5 @4 J, y
else
- Q+ c2 `, L5 m+ |& ?; @ {/ U2 y U" D( l& j4 [4 m' e. k; V
$ v( d3 s4 s4 @; d' l for(var i=objs.length-1;i>=0;i--)
/ y6 O0 X" G3 P; u* q4 d {
9 U- L7 u# J2 B e* ` var node=objs.item(i); & Z F. i* y3 M* g8 E: w
) ~8 R1 j- G$ N+ V 1 G+ ?9 @+ f% v5 ?7 C$ E& l8 V, w$ x
if(this.getobjstyle(node,"display") == "none" ||4 j2 w) c+ V1 i+ B' H3 C% @
this.getobjstyle(node,"visibility") =="hidden" ||6 c C( G4 W1 q! j7 i
parseInt(this.getobjstyle(node,"font-size")) == 0) 6 U8 c% j2 h; _
{$ U6 v& c2 y6 o1 R$ Q
if(debug)
$ t6 b$ _! `# z5 \: _; V6 O& ~ {1 H: t; Y$ O$ [9 E
alert("remove invisiable!");7 I6 [& {" T3 [, n8 o
}
6 F3 I& w% S% K% B node.parentNode.removeChild(node);, O/ v0 O% [5 @: s
. G! [% l# F0 E- V
}/ O' K. A* }) T
else
6 }8 |8 |6 D1 O5 \, f { e: p# k- w$ j! b+ O8 _
if(node.parentNode) : t" n; H# Y% [3 H
{# M% ^8 [" h3 Q9 D1 j" H
var orgNode=node;- F! E) w* }0 ]) v6 E5 e9 W) o
var orgColor=this.getobjstyle(orgNode,"color")0 i8 a4 w7 R7 P8 X/ t
var orgRGB=getRGB(orgColor); 9 [6 i: `0 p' i- g, t. n; v3 `
- p6 f9 [0 i" w2 C1 ?
var parentNode=node.parentNode/ Z. P6 t, y1 b2 k
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* ~! D) B) U# ^8 a6 \; g
! T, x7 Q& _0 N, {* X9 f var isLast=false;
7 o: L/ X K. c3 r/ o5 l; L0 ]8 P
, C9 ]; ^* g1 f1 U; G' y while(parentBgColor == "transparent")
2 S" @# R" C1 K- } {6 s& c/ z5 {2 L3 B# f5 i9 J- U
, }' B' A5 S- C; y/ G ) {5 k$ K+ T8 X( f% J+ H% m' j `$ d
if(parentNode.parentNode == null)5 a& ~2 d# d$ m+ |
{5 d* W2 u" Q" }6 i) f
isLast=true;- V, N9 R7 E1 n3 A. Y( o( e" z3 r! {8 x( Y
break;: x# K7 _. o j) J# g% |
}
2 x& K G9 V4 j8 ?; T parentNode=parentNode.parentNode;
- |, N! c$ n0 G1 d5 v0 F' q parentBgColor=this.getobjstyle(parentNode,"background-color");
0 {# n% V. x: }" H& M! b: K$ s6 _+ l9 D
/ V0 D7 ]9 Q: w+ l) ~, s* o S. G if(parentBgColor != "transparent")
. s6 E) t* s/ @, w4 I4 n7 ` {
! j+ V" B; U, g' ~2 i: U break;& d1 x: j" n4 a9 j
}
; ]: K- q5 j" f; W+ @ } o3 K4 r, k# ] `, p2 x7 Y
if(isLast)
! C& z; x) O2 ~1 h- l* ^ {; Y6 U* |! B% _" d# c
if(debug)6 p& ?( C$ f/ `
{
; b/ j7 X0 \5 R. b' H* e alert("last!!");) w- H, }6 v; e( t* X4 e
}! @5 o1 ]% C$ ~! V4 ]4 D2 m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 k% a$ b# s1 I4 S3 Y6 v6 d
{; l( M B5 ]4 d3 [9 `, z3 s
orgNode.parentNode.removeChild(orgNode); : }+ `% M% E, e. ~: x/ S' L
}
4 k0 q D& W5 Q0 L3 U4 f% I& J7 y }
- v9 T* G! ?7 i" h9 A! E. r' V else/ y- G5 F% ^$ y$ c$ M
{) @" k) ]# p- A) z5 j! Q/ q/ O
if(debug)
4 V+ H% d' i; T( z) l1 ^ {1 u$ G) N2 `* P) [) s
alert("compare color and parent bgcolor!");
8 b1 N" o6 M0 J: f$ M }" P3 w$ o. V- t- A
parentBgRGB=getRGB(parentBgColor);' R6 \6 ~# B" B% b6 E! G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 ]3 L- a- ~; O3 w5 V
{
1 s$ M9 F( | `$ @) m3 g4 s" H3 F orgNode.parentNode.removeChild(orgNode);
8 |: R, s9 ~5 [7 M }8 o6 L: e0 J" w3 i/ \, O! z
}
7 t& {$ m5 @- U& }( t }
% r: z( r6 |. f( j }
- p. J& l* j5 S }8 V3 q. J8 ?" K9 @1 W
} d) x& S+ @ I1 _9 _# ?/ b) C
$ N$ \8 s2 S1 j8 _" ? F* V
6 [" {* ]* U8 D5 M" v
var itemFrames = page.getElementsByTagName("frame");1 d' H3 P6 x0 t# P
var itemiFrames = page.getElementsByTagName("iframe");
9 ^: v7 l r5 M3 ?) a) c; X
+ q0 e& M% V- i" \ var frame, iframe;; S- u4 Y/ `4 H7 k- n
if (itemFrames.length > 0)
9 V+ J. i Z% ?+ u0 @ {+ V8 w6 @) M, z, f. w. l! ]1 g, H
for (var i = 0 ; i< itemFrames.length ; i++) 6 J) L7 J& B5 s, F& v( q
{
5 W3 p+ A7 a& w7 M) @- }) m/ m frame = itemFrames.contentDocument;
: P( c! U0 e6 f this.RemoveHide(frame,objname); 2 V3 A* P7 E- J& y' `9 w0 k( }
}
7 C: K9 E7 J" [9 H }+ ]/ V4 h+ z' p- E. {: H, v1 R# @& Y9 B/ A
if (itemiFrames.length > 0)
* w0 \( Y; ^1 I# l6 z1 i {
1 b. I1 R; P' t4 g4 O5 {- ] for (var i = 0 ; i < itemiFrames.length ; i++) * ]" U- f" M! }: K
{
- Q# Q* o) K Q! {1 R9 ` iframe = itemiFrames.contentDocument;
/ I* j$ j: ]( f: R( H \3 u this.RemoveHide(iframe,objname);
" b7 c* f4 ]6 E+ g, a2 e }
2 D8 V* e4 K ^2 G0 N }1 c9 {, i+ \+ |& w
}) l3 ?- E+ e/ g$ J: ^& |
catch(e)- [' s; R( p+ L# z0 l8 @; u
{
% Z& }; B' g$ F+ n* Y3 I6 R( e if(debug)
$ A) n+ ?1 d1 e. c {" _$ C, s5 m% D2 o+ i8 x
alert(e.message);
{+ J' M3 P' s2 Y* f! a8 y# D9 |3 i* { }$ S0 g) L- z- [, x
}1 s. o y4 {3 v
}1 l5 [3 |$ o( Q" {% X
$ H4 t9 b/ G9 s, d$ H& [0 U% U
}
( R. s/ r2 J) `$ O/ a' I3 Z( T3 T
function getRGB(colorString)
' d$ ^4 Z) M# m" r$ J+ ]( p{
$ o3 G8 m) k# F+ @, d/ K% {/ F var RGB = new Array;" ]2 q. a, D, F/ k F v2 U* Y Q
var tempSting=colorString.substring(4,colorString.length-1);
! p3 f: g7 c1 y var tempArray=tempSting.split(",");
% ~% R2 [" V( d7 L5 B. b0 @8 \7 p# ^) X- h! H7 e0 A$ G5 d
RGB[0]=parseInt(tempArray[0]);+ c$ E& R# G6 L; H( ^$ `
RGB[1]=parseInt(tempArray[1]);8 i: A" x/ S; L& p' j
RGB[2]=parseInt(tempArray[2]);
8 U4 _3 a6 v- W( t w
. L% {7 s- z! v return RGB;0 \1 |3 I* h- S# B2 ~" L5 U+ |
}
2 g0 g: W6 p! v7 r3 cfunction keys(evt) , p# l: Q. [; n; @* k6 s
{ # D& m; Q% |6 H/ K: |7 K
if(evt.ctrlKey && evt.keyCode=="81") $ T1 [( x9 r1 K: c; D# Y1 e
{
" G: T! q. G( k" y CleanHideObj.on(0,1); Z5 p+ P) e: J5 ^) p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 n3 J4 ~1 V. E8 b . Y0 F8 ^2 [, @
}
7 N2 v8 @& |; m7 J }
: _ ^& I" n7 U6 bdocument.addEventListener('keydown', keys, false);
5 t( B: J& c5 c' H; FGM_registerMenuCommand ('Clean Hide',9 b- `! m' |. R6 T$ |7 s1 @
function(e){+ S& e2 d6 x4 H9 h& a
CleanHideObj.on(0,1)
# l( z6 m6 P j8 C" b4 v$ A- {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) D: _- d' o% U
});
$ V# k \3 D; a; N4 | |
评分
-
查看全部评分
|