|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 v/ @5 V& X* k5 e. R$ @2 h* i- R* M/ \ H9 U) h
火狐插件,用猴子7 M) F. Y$ Z3 D& g, g- Y; b+ w
4 ?6 S. [2 g0 B4 t- z# \2 Q `
var debug=false; . |! g9 P% w/ G3 c9 G
var CleanHideObj=new CleanHideClass();
9 F. D' ]6 g: I2 z0 k, X6 O! r3 t# n% z
function CleanHideClass()
5 t% h- ~% M' c. i( N{ $ |5 ]( m! j* J- e
8 B# U/ q' k8 x' ?8 w: L this.on=function(id,bMZ)
) S, t' N) B5 N6 S7 o {
# ~' t7 s* z9 x) y- }$ d ( a& \$ t) O- A' L3 S# Z/ U0 H
if(id == 0)4 F4 u, `! B9 v
{
# S+ [# L6 \/ v9 B7 O var page=/* document.getElementById("content").contentDocument */document; # {3 Z$ D+ O5 O
this.RemoveHide(page,"span");, k/ ^* g9 F' u' r( }: {; ]' i4 @8 h4 y
this.RemoveHide(page,"font");
/ C. W, x8 s% p4 N' |" A: Z this.RemoveHide(page,"div");
1 X! L3 }9 Z9 K5 [/ w this.RemoveHide(page,"p");
; Z7 t) Q3 t4 G, i+ W 4 n8 q7 w7 Z: ]0 J* J" j1 H7 w* H
}
& v% U2 W# Y( O7 ^
/ v r( ], B' U5 z5 r/ @+ K }* K) v0 [# m5 N' f
this.getobjstyle=function(node,prop)
4 Z0 f( Y! h& {" ^+ u {( D; G4 @- R4 ~5 u1 i5 ?
try8 S+ r3 j0 w/ e
{
1 A! ?( b2 ~, S4 K$ p, l5 c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' `3 e. v. ~$ w% ]1 v: T }; E) h' R" d. b7 s3 B9 r
catch(e)
! G' d9 w9 @0 }7 g( w* q. O; m {' ~$ c" z5 m+ H! a# ^7 W8 o
if(debug). a f0 Y; v( i0 H4 S9 B
{7 s+ n0 j! g+ h0 @- I& e
alert(e.message);
& c8 R* L/ [% O% ^# y# o' h }
7 D: u7 O2 Y+ K5 K- t" M 1 w2 |3 k& l- H9 o+ E G
return "200";
# k* E' h0 Q5 Q# S: f& W% e+ a }
) Z! Y5 k$ R1 G! n }1 F# l5 C+ l1 h) w0 g
4 S9 A( s1 r9 e$ b
this.RemoveHide=function(page,objname)
7 W9 a' v. k) R" n% L {3 E2 \. c d& p7 }( s
try
+ ?" p# l9 Z; ^! \' N+ _! S {3 H6 p+ |2 b' h$ x; D3 u
var minValue=15;
: O6 |4 |; n! b, k" v7 Y: v var objs=page.getElementsByTagName(objname);
8 P8 g% J- `; T, R) D$ X, r# ~1 Y' l
if(objs.length == 0) 8 _. e k! b. R
{
3 C. O7 r5 K9 R8 [ if(debug)
1 A/ f+ q i4 Z3 }* i4 _. Z {
! R( {6 n! D$ Q( z alert("no object found!:"+objname);
4 l5 l1 F' J A# m. E* a% X }, {# @* h t/ D2 i8 W/ F* ~
}- W k2 Z' P+ Y
else
8 ~$ S; ^% K* n5 L {6 T7 m% m) P2 k8 P% D
2 [: |: H6 x, r, C4 O
for(var i=objs.length-1;i>=0;i--)
+ x1 `8 J0 t" c* Q9 p' A- k {
* B- e% A# v1 I1 Q var node=objs.item(i); 4 X0 F" G5 H; t) m1 N
y% m( k; X2 k : L" y0 |4 y8 T
if(this.getobjstyle(node,"display") == "none" ||. L+ F2 l% T! o2 A6 _+ A5 m; Z
this.getobjstyle(node,"visibility") =="hidden" ||2 I# H' C1 m* n3 [% t9 w. X
parseInt(this.getobjstyle(node,"font-size")) == 0)
F% T! v1 l) T {
8 E* v. ^8 H1 B: u8 v+ c if(debug)
+ U7 ]- j$ J) Q6 b' I! w9 ~3 L& q$ @ {, P, J% C( c7 X; e% h; b
alert("remove invisiable!");. ?; ^& Y# P6 ^4 `2 Z9 |* G) Y, b7 M
}" e" d( x* m( j- V4 ]3 p5 d
node.parentNode.removeChild(node);
5 F7 i; W, s2 n) L* k+ @
- [/ l w/ H& V5 K }
5 N. s2 P3 R4 W% K( @' P( g6 G else
; ? D6 \6 ] @ {; U& v' r: W$ R+ Q% o4 q- c; Y- E* B
if(node.parentNode)
$ d6 z' I" n* z2 S% Z {; V, B4 g- Z, E6 \+ g$ {0 q
var orgNode=node;
/ [* G8 y. k+ l4 k) t var orgColor=this.getobjstyle(orgNode,"color")8 p/ D0 z/ f# X: k7 B
var orgRGB=getRGB(orgColor); - D4 a/ [$ g$ @
3 H# b& k/ S# ?9 { var parentNode=node.parentNode
+ g% ^" t2 v% L var parentBgColor=this.getobjstyle(parentNode,"background-color");! N3 \3 T& j3 ?. y1 |! W- I
+ N, O; z0 r. m( _' P- k
var isLast=false;' F: @- f" s7 j4 ]' m
2 v7 D: `. x+ Y* W$ ?
while(parentBgColor == "transparent") 2 R4 Z: n6 U6 g) `
{
% ^4 T- @/ y( X8 B
/ g3 j# ^4 G: y3 [8 P7 n ; b/ |3 m& n9 W. S+ u( W8 Q
if(parentNode.parentNode == null)0 E0 Z# E, O+ o9 x
{
% q. I: Z U+ k# M( M4 J6 l& k isLast=true;3 R; A( B7 _' E& d& O, g: B
break;
/ }$ v8 O0 a: @4 ^$ d& _" ] }
' x* E$ E+ u' Z parentNode=parentNode.parentNode;
1 B$ B8 E- r5 O9 u parentBgColor=this.getobjstyle(parentNode,"background-color");1 V8 G, [0 q8 l/ [
8 D: q' E; T7 E1 |- [ if(parentBgColor != "transparent")
( n$ V8 c: L& O4 t& c1 H( ^$ r: f {
, _3 \, K$ ~! F break;- `7 A5 p3 S( h& [* I" d
}
' |% Q, i) j: F- {) u" K n }) J7 y6 U2 b `5 O+ n
if(isLast)
3 \) F' C& }& m x1 @2 t {, _& o( S% r. c) m
if(debug)
* R( r6 a+ B6 _& [: H% o# p {
! E: @" G; E% e7 d9 s- y alert("last!!");
1 ]& U+ W6 n/ U' F; {% {# A2 N2 I }7 M& W% C( _, Q8 _) |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 k9 H# U* I' ?# o
{% V( `, m. a5 c. Z# H! s
orgNode.parentNode.removeChild(orgNode); 7 V) N- V: S A6 B
}: T( h( [8 }* ~' s9 ~! f
}
2 w$ Z0 N4 Y: F9 f# G5 q' ] else1 n) a( I& S7 b& N
{
! Y" {& I7 U, G9 _; H if(debug)2 ~2 K' a9 U: J
{9 d- G& R. Z' Q" I2 J/ [1 \
alert("compare color and parent bgcolor!");
h, s2 `- C4 T) ?' \) Y/ h+ p }4 F! m y4 A( S! V% \, w: j
parentBgRGB=getRGB(parentBgColor);
% {# a4 q& @( Y8 ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& G( E6 b! e1 h C {
1 A/ H) v, n) ~/ D Q3 R7 S- ], I1 f orgNode.parentNode.removeChild(orgNode);
; P6 o! O) \" ]3 `: |4 W8 P. R }) m7 T$ K. C. @9 V( m
}/ P, v7 {$ o6 P4 @ g
}/ E3 N+ I2 J3 ^
}2 ]3 Y: E' B0 J
}
! n8 S9 J5 u5 _: l# {. l, Z }: x# q; [/ W o# w, t9 n- n9 Q
3 q- a& Z! ~5 ^- N+ C: y# p+ j% R
8 y9 C' ^* D! i6 w" [4 _ var itemFrames = page.getElementsByTagName("frame");; T* D) @( C+ N) l5 z% ]
var itemiFrames = page.getElementsByTagName("iframe");
, J; O# }' D, j3 @8 X& L" y& R 9 P9 A: ?+ c" @; F" \2 [
var frame, iframe;
2 X& a5 y8 |; j- O5 p5 w" q3 z if (itemFrames.length > 0)
, g( G$ o6 F" v$ _ {
. }3 T7 g8 b' Q( ?6 p for (var i = 0 ; i< itemFrames.length ; i++)
0 g7 z( }- [; s {$ A, F1 [; c: v/ V. b2 V0 w( d
frame = itemFrames.contentDocument;7 Y3 _! N! L. l0 l) Y" J3 [/ g4 J
this.RemoveHide(frame,objname);
1 k$ D* ]) U1 P }
, U+ B( } b) E+ G! N }4 L6 x7 `/ P+ t
if (itemiFrames.length > 0)
* h& d$ K, q" j7 m1 H" j \! b: k {
1 [: o o- o- _5 J0 N for (var i = 0 ; i < itemiFrames.length ; i++) 1 v8 B& d) b3 k2 _- W
{ R7 X- L7 W$ }! f
iframe = itemiFrames.contentDocument;/ j2 {! H4 N# W
this.RemoveHide(iframe,objname);
1 Y# b% Q' J2 e( }" \8 M }! } s; B) \: x/ E8 m# D
}1 ^1 Q5 \ z. z. O3 o! Z! j
}
P9 y5 K0 l5 y0 I# j( B/ t0 e catch(e)7 `9 A; U8 x, Z. B
{" C+ c4 _2 r7 Z) P E+ M. h0 l
if(debug)
& W+ P) t$ x* Y3 N1 {' q {3 z1 {8 [: G K5 z/ |
alert(e.message);
8 H9 _* B9 D4 P }
3 P+ e1 ]) Q: O& t, g- c }
$ J2 Q: `2 x% K( X+ p- W8 ?8 H }
. w; e( ?# F4 g! Q 5 {+ l. M/ X* v. m
}( g8 e) O) H8 [/ j, ?2 x* W' {
. u( z5 p2 Q# l4 l
function getRGB(colorString)
: ~0 U, s0 Y P+ E# l3 E8 f{
$ J; e1 B: L) n( F S* i# m var RGB = new Array;1 m$ J9 q4 c. E* a& N
var tempSting=colorString.substring(4,colorString.length-1);+ N& B3 J& }9 F0 |* Q- v+ H
var tempArray=tempSting.split(",");6 D0 n# G( h6 W3 |
) U4 r! `* f `5 x- J8 f RGB[0]=parseInt(tempArray[0]);4 M" W: N% j0 W. o& I8 v8 g; n( Z
RGB[1]=parseInt(tempArray[1]);. I) J# T- l6 d! m" p. j
RGB[2]=parseInt(tempArray[2]);
) }6 h3 c$ m" I7 Z, H1 ? & G. }' ?1 }$ e1 N1 k- f: N, q
return RGB;
8 L7 d" B! A6 v$ G P}
$ c: q# f `/ Q" S0 k0 d$ p% v6 hfunction keys(evt)
* u* Q2 [% S8 M' C) \2 K O5 t { % s$ }4 h! c' ~3 R7 P
if(evt.ctrlKey && evt.keyCode=="81") 3 u s. r# V' b9 G
{
9 V, F5 v- c$ e- u! G: p CleanHideObj.on(0,1);$ W' U* b3 H: K6 C ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 |( z ^# r5 @( ~
8 s y$ j/ K( N# `' ?& Z8 N }
; N# a/ [2 @. r4 }$ |9 H2 M, j }
- P. D! p& l$ y: D! z8 X2 Jdocument.addEventListener('keydown', keys, false);
; `: E, g6 D1 y; g7 rGM_registerMenuCommand ('Clean Hide',
. e3 R9 x5 R7 O/ y, S. |6 U1 {function(e){6 g6 H" Z& `2 z5 N& d# C7 i
CleanHideObj.on(0,1)" b/ D" x4 O4 h# }+ T. D3 N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 o! [; _8 o, c& c& b" N5 j});$ Z/ d: s2 M0 ~- k8 l; R* ?7 _8 k
|
评分
-
查看全部评分
|