|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' j* J$ Y- t" d% O$ {0 ~- ]) T, p) c; u6 A# G4 J/ N" \% n) R* T5 d
火狐插件,用猴子
& H+ ]9 E+ s- E
5 R/ y5 i- j! ]) U' Kvar debug=false; , C2 u) X9 {& ]( K w3 q8 w
var CleanHideObj=new CleanHideClass();$ S0 C. I" U* M0 J# S' @3 x G
4 z1 H5 N* z) I8 D1 w1 e
function CleanHideClass()
" @. t1 ]2 n* P8 p% F* M7 D{ " y4 t6 s5 y3 J( A& T& T, W
8 C, D }) A$ k( y5 @5 m this.on=function(id,bMZ), o7 d* G1 z1 D w8 W
{# d6 J+ e7 U7 @/ p* R+ C
& P" F3 Q& H2 p$ d if(id == 0)
9 L9 o9 Q5 t: ^2 x* S {* M7 R; T9 t6 D0 n& }: q1 ]4 o. L
var page=/* document.getElementById("content").contentDocument */document; & b# O* y ^2 q( e* f
this.RemoveHide(page,"span");6 q& t& _. w+ L4 @" h
this.RemoveHide(page,"font");
# f, r& k2 ^) Q: ^ H6 N* s this.RemoveHide(page,"div");! {1 k: x r* W8 }
this.RemoveHide(page,"p");5 z% I) B, H h: s) K! W- Z7 U
9 L# l! P* J" X0 p }
6 _+ f; M% d! R5 n( |7 H4 I. h ( P7 L/ X2 \- L" j" f2 [" V' _* [
}) m8 S2 v8 l2 f2 Y
this.getobjstyle=function(node,prop)- ]( A0 u/ `. ?4 g- _* N, |
{
I6 X8 Y* `3 O9 e. ~ try- H" d/ h2 K3 j, N! f5 f3 X7 }
{
3 | f& F, c5 t, x7 _. R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( o4 G' K! x: A1 _; r }
# a; I Q6 O7 T- T0 x) N catch(e)
+ t# J8 k/ O- K, o {
* F& ^/ {" @, U: T6 `5 J! q if(debug)
. N; M8 d5 k4 a7 a+ G+ ^# f {
" u9 {3 k* k w' [$ N! u/ u! U alert(e.message);
5 f% ?6 I+ Z- u6 W2 ?% i U6 |9 s }) S4 {- ]3 T! |) [
8 V3 q; S1 U$ u, H# e5 y return "200";' j8 y4 Q/ F" Q6 ?7 }
} ]# B& D% b4 D9 C, u
}% \6 p" ^4 h m0 g! J! m. y7 B
4 s* l7 C& e: q) ~
this.RemoveHide=function(page,objname)
- ?8 O8 ], n2 H M# P& a* S' W1 B {
$ ~! ]# X5 H# H- l try
1 c/ ]- N; {( @& | {% J8 B' T7 y& h: P- ?$ {# Z" [. r7 G
var minValue=15;4 G, M; g x6 D$ z
var objs=page.getElementsByTagName(objname); ! f- l; k% t- W+ C" I2 h
7 V5 Q% ]2 a) }" S! ?
if(objs.length == 0)
1 D/ @( x9 Q- z- q6 b {2 w2 K% P' W" o
if(debug)
: G, k1 ?4 |& W5 q2 Y$ k {
. V9 g& i/ b/ g" r' X2 K alert("no object found!:"+objname);* m8 ]7 u/ F8 D
}2 `; M; X1 A# o& A) E% n
}
! r8 M U: Y/ ]4 d7 ?% ]0 }$ Q else
+ y/ \) j& R. z/ s$ s9 q Q! H {* h- ^2 b5 T+ @$ e$ ~' d
! d5 l; N6 L+ ]8 i& Z3 |* L for(var i=objs.length-1;i>=0;i--)
8 a/ f/ ]( i6 E$ S0 Y& T) S {9 \6 Z/ c* o) A
var node=objs.item(i);
" r+ e* \) p% P1 P8 K. Z! b
9 C/ r, o* ^9 b9 M7 I4 ~# e( m
+ \) Y8 \. j( z; D) d$ o* l if(this.getobjstyle(node,"display") == "none" ||
0 d: I" B* A6 _6 _4 u+ U this.getobjstyle(node,"visibility") =="hidden" ||
% k7 }1 R1 x6 |& D" } parseInt(this.getobjstyle(node,"font-size")) == 0)
. H$ m, E8 A0 T; Q' B {+ K/ P+ [ f6 T: \0 |- N
if(debug)& y) Z6 T1 U( w
{
0 a9 s; W- W1 E alert("remove invisiable!");
7 E9 P- L3 p* _: H9 X( ^ }
% m1 q9 w6 n8 b! j8 p% o* _ node.parentNode.removeChild(node);
; {- g P0 e& ^7 I5 Z( F 4 I% c1 _) Q; W
}
: m; c i/ L+ x# a else
5 X4 y3 _0 m( n8 ?7 X$ M- M {
9 h7 N! ^& z% q' t if(node.parentNode) ' }# c. J1 c2 K. x
{
: n" }. w9 w4 E var orgNode=node;& m7 J) N( G( G0 B! K& _2 Q
var orgColor=this.getobjstyle(orgNode,"color")
- W4 e v+ q. F, R var orgRGB=getRGB(orgColor); : j+ u$ G/ b( p" ^
6 ~7 ~" s/ d. n
var parentNode=node.parentNode, i- G5 ~' I- N$ r0 X; Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");( X! |* I" r& L& H- j1 y
6 U/ ]# W2 `( C- ?& X. S! a0 C var isLast=false;
: [0 m9 F: N7 M( X& F9 B3 r" w , R+ ^3 U% ^' j: S
while(parentBgColor == "transparent")
/ J: v) I% A2 m% \2 [ {6 C6 q" i9 M& s! H
5 l f6 k/ S; n
% u; `8 {8 z$ z5 a9 P: Q* J if(parentNode.parentNode == null)7 h: v5 L. Q6 L5 B; b
{) k/ C9 x2 P, L, ~, a
isLast=true;' F9 P( X. Q1 D# V2 _. w
break;
3 v+ M5 ?% J: L, p" K }& `2 N! ?2 ~6 R7 l( V' u1 Y
parentNode=parentNode.parentNode;. ]# { h* W( t2 I+ X" \7 g
parentBgColor=this.getobjstyle(parentNode,"background-color");
( u: r# s' w1 j9 T! ~% o g K) b) C; G+ k. g0 H
if(parentBgColor != "transparent") 1 I- {1 H- }. G& ^, v5 Q
{+ G5 V2 _! s2 H- k7 M$ _
break;0 m3 P6 Z& W' y0 f
}0 D3 Q( k/ }2 p0 T9 u
}, F# F& F/ @; N* g+ x& e
if(isLast) * O3 z0 K+ n; ~! R) ]( p
{: N1 f4 G5 P2 [' b) a" G
if(debug)
9 F2 }+ x6 T5 _3 E2 K; w. A; } {
4 Y- _% g5 \6 k% [* N alert("last!!");
6 }# j& G+ C; t) a8 L }
9 w. n9 }! H4 z5 t* j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 W' ], _& V) N0 @' |9 Q5 ] {
! S2 W; N& T* u ~$ G: Q1 d0 ]3 Z orgNode.parentNode.removeChild(orgNode);
7 `0 a# w& C5 R1 |9 L; X) _ }
. D6 \2 \$ L6 _1 B3 | ^7 j, F6 m }2 ?9 Z+ _% U+ @! h) M
else+ G2 }5 U d; } w
{
8 u, m6 X, P( E if(debug)
. S! t, R& |* `7 H( Y$ J: t3 v {3 j% U: N' b3 m
alert("compare color and parent bgcolor!");
2 q# Z" S0 `8 H }
, O+ H! s" p1 D& u5 u parentBgRGB=getRGB(parentBgColor);7 R& }0 `4 r" ]" B" R7 ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. O8 q v' |* O$ z. |: b/ u! }1 h {, U3 _0 W, k. V" o2 v, B$ [, g: W
orgNode.parentNode.removeChild(orgNode); 9 s/ K2 _9 S8 E( E# s& b9 a
}
8 p$ ~ @" Q H n- V, V }
$ P {$ H0 P& O! ] `* i }. P" W8 X2 _0 L) U4 v
}3 \! K! B2 p/ V/ K$ M9 t
}8 n' ~1 q! |) j0 v7 A
}
/ b" M0 F p* S/ C% i ) C9 h) I* x8 J- s ~+ E6 U4 S
# |) i! f& {0 c1 h2 d
var itemFrames = page.getElementsByTagName("frame");
4 A! p% c$ o; b9 {" u! S var itemiFrames = page.getElementsByTagName("iframe");% o: r- g! [, h8 R( T& K$ c+ c
+ k' L5 p/ q% b. F
var frame, iframe;
, V; D! M. M% k: G4 q+ l7 U if (itemFrames.length > 0)" @& P+ E" @& {6 i! V' I; }+ }* Y
{; ]/ ^' ^3 c: b W( L2 ^- O$ p
for (var i = 0 ; i< itemFrames.length ; i++) ; w1 b" j l( u! V
{* C4 K* t$ m! U5 l( W
frame = itemFrames.contentDocument;! J: `( O7 M& w7 V. o# v; x
this.RemoveHide(frame,objname); # j" K4 L. t$ m
}2 ~4 v1 A. I4 T0 m, F! w4 V
}" L" }' R+ Z7 W. s! n$ u3 O
if (itemiFrames.length > 0) K. h. ?: k: P. @; S2 ~6 Z8 \
{
: ^% l2 a- B2 B" J( u7 K for (var i = 0 ; i < itemiFrames.length ; i++)
* g& V( Z& X7 E" z {( J0 C+ S; P3 }% k0 t& K
iframe = itemiFrames.contentDocument;
4 m" p: k" \' A7 } this.RemoveHide(iframe,objname); 6 D* b9 e) ?" s3 j- y/ O4 a
}
: p. j& t/ u, `0 X8 p9 W* P }
% j0 x( f B$ ]5 p' d ~ }1 R& N* ?5 c" I1 m2 I3 P
catch(e)
' ? }5 |) U1 i. o$ [ {! [; j+ h+ }: @; U' [, L% Z& z8 b0 |
if(debug)
/ v( l+ r3 ~% G) t R. @' \ {
1 F5 B( A2 E+ h$ F% [ E alert(e.message);
+ [1 Q0 o; S2 N6 [% m, v: ~5 b- V }
8 r6 k" _" m) t7 k- X' c }3 i/ x2 Q+ @7 p# l, L
}+ \) R. x% u }1 `/ b
# O+ W, w+ A, u, n}
% `# _$ ^& a$ y- y! C( |! Y2 |' i, S- j0 y
function getRGB(colorString)
2 {2 p. }6 A4 `7 F; [" U{
. A; ]' t. O7 B( W var RGB = new Array; p! V1 Q+ w$ f% `9 [6 [6 }. Q
var tempSting=colorString.substring(4,colorString.length-1);; S' ?" C" j+ x+ n' Q
var tempArray=tempSting.split(",");, Y( _+ U1 h8 n! \2 o
_* a1 L/ O- W RGB[0]=parseInt(tempArray[0]);! n" e5 d7 p6 q0 G7 ~ `+ Y
RGB[1]=parseInt(tempArray[1]);. z. b3 i* ?* Z4 _1 D. e; D
RGB[2]=parseInt(tempArray[2]);8 K) ]4 M# Z$ l2 r
* m. I+ o* x6 y3 @) ]% i return RGB;4 U. @* `5 m5 H+ n4 h
}
7 C7 P9 [) G E( i7 T2 |( ifunction keys(evt)
: d2 M- Q1 Q( g' w: V5 R% A, s/ D {
, h$ D, b: X& V* e% ? if(evt.ctrlKey && evt.keyCode=="81") ( J8 ?. h9 H# v. U. p `# L
{
1 P+ n% k5 t+ G% u& \" ~ O CleanHideObj.on(0,1);/ t; A1 j8 q: r4 A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( F( x( e6 L6 r5 [% o& O5 k
6 P' G$ S) z5 E. o
} ( l2 |* f4 p2 v/ ~( n" ?
} ' W) d% a' p$ @; y9 Q+ H
document.addEventListener('keydown', keys, false);
, ~6 ~" w2 h" ]) }0 G' k8 B2 [GM_registerMenuCommand ('Clean Hide',
0 o& j. A! M0 o8 ~, H% m3 xfunction(e){7 R! f; C. w) s/ Z9 S' X
CleanHideObj.on(0,1)
4 m) H5 a9 \! n7 k& u2 kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 j: P" Z/ ^0 n/ j; x% ^2 }});* k+ a) F) e; f' F) {
|
评分
-
查看全部评分
|