|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 L, T8 S$ n6 K0 Z; F1 ^
# d' }. \1 ?- e4 I/ e+ L' L火狐插件,用猴子
5 F* r: \+ q3 b1 D% T& A: |- g c
; h( @; e" m% Qvar debug=false;
3 a# j3 g9 N) R/ X+ h0 rvar CleanHideObj=new CleanHideClass();& g5 }- R: p* y# B6 N' b
; R4 [: @4 K/ n1 c2 u& w9 Y1 R
function CleanHideClass() % N$ z* U6 K/ B2 z& @
{ 2 w& _' i0 W. `3 W) ^2 E7 Z% H
- J( W1 W! z6 u! o5 N this.on=function(id,bMZ)* S! n o. h+ s* z# s
{
z/ Y2 Q h5 H' d# k
) {/ V8 Z8 }) P* u7 i q9 v/ r7 F if(id == 0)
! |6 K; X* t+ H7 h3 }# ^ {
1 u# C3 \' Y3 P8 Z3 l1 S( B/ t var page=/* document.getElementById("content").contentDocument */document; 2 r: J6 @7 y+ R* c
this.RemoveHide(page,"span");, a* c T0 W q4 K1 N7 A+ z
this.RemoveHide(page,"font");
, H' a9 Z( q0 {4 Q8 k( o this.RemoveHide(page,"div");4 `* N' l/ L- b+ }& ^8 G
this.RemoveHide(page,"p");5 E& q7 h- z* J+ Z9 i
5 n& t+ r1 [7 ^2 D
}4 ^, V: g/ x7 I5 h
: x3 D7 h8 Y8 _( @+ Z0 s+ s }6 ?, C+ ^" u9 ~# p
this.getobjstyle=function(node,prop)
O8 p: O8 E' [7 R+ h. l+ G {
1 Y/ v: O4 K& ~5 v& k9 o try7 j/ e# {* q# }5 p1 ]1 E
{5 P0 P/ [7 K7 s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ B e' Y+ U. B- N [
}
# M+ }& v) @/ y$ M catch(e)
0 G s+ x& j1 _- @# G( P6 U! b0 r {
4 r$ q/ f3 d1 Q) h if(debug)
& x) v6 ] Q1 C! U' q: d% l& r1 D) I, \ {4 j" Y: B V- @
alert(e.message);- B( R3 I6 R$ G" f" n
}. s6 S, p' U) S3 K, b! Q
y* ~: q1 w. t. Y! q& ^# |
return "200";
2 z3 ~) h$ ?' k }" w$ S F! J& U7 j* ~$ v4 M$ U
}" w- o6 O' O# ]
1 r1 [- }+ c! D# {8 } this.RemoveHide=function(page,objname)
' D; D: c& W" ]" v# W" j {' @' A* w" |9 l6 P- u
try
) v( u% E' |$ d g- h {2 e( C B* i' }/ h! V' V; f; K
var minValue=15;
y" z3 q+ j7 D' w% Z9 m" } var objs=page.getElementsByTagName(objname);
% L4 ^, ^! C9 n; S
, S2 J9 Z. {3 P0 X8 w- c if(objs.length == 0) " ~3 F$ I. a+ L9 M. Q# @8 ~6 j
{
) v* C' G1 S( U I N3 Y0 E if(debug)
" Y8 E$ d4 F# B9 I {% T- ^' O/ j0 f" c" ~# m# y* f3 e
alert("no object found!:"+objname);
& U2 L6 J q- H7 M x }: b0 @2 `' l# B# [, |
}
, J7 p/ b9 s/ O9 e1 B% u else. J4 g) s/ A8 {* T! x
{: A6 R7 g4 q: y3 b* h8 N% ~7 ~
, {4 X X& B Y# a) h, [4 E for(var i=objs.length-1;i>=0;i--)
% O3 P. e% X* E {
. V/ x" W6 J# }& A2 K var node=objs.item(i);
( q3 @1 T/ {( |0 d" H# K) u: ~ ( I" D* n9 ^" L8 l+ U, u
: i P# P, ~; |" } if(this.getobjstyle(node,"display") == "none" ||' ]0 Z2 _' R9 S8 b
this.getobjstyle(node,"visibility") =="hidden" ||' @. m8 a- [% |: M& }) h
parseInt(this.getobjstyle(node,"font-size")) == 0)
4 v, }* q2 N" k6 Z. D# u7 r {
+ C' b/ s5 y7 A$ f if(debug)
4 z; q% M2 x6 W% ]; x {
9 Z* }2 n) g/ D% d$ v alert("remove invisiable!");& N7 @% R% k# }. w+ b% ]
}
* `% P% A" W' q- |9 {. P! O node.parentNode.removeChild(node);1 D7 J- f6 n7 {- Z: ]9 [' N
8 U" A3 [" a8 I6 S
}
/ |+ \3 _3 G0 g else - p- a7 o" y' r
{5 x' f: c( o" J T! w( }
if(node.parentNode)
, P/ E0 p. X+ j7 X6 J% A {8 z; d3 u! q' L4 [: }( e$ }+ W
var orgNode=node;5 ], ]" V) e2 ^* {; F/ F* [0 i. L
var orgColor=this.getobjstyle(orgNode,"color")
. e8 V. _% Q. g9 A var orgRGB=getRGB(orgColor);
- @& G8 v ^+ L. m 8 f- `( P# ?: Z4 Y2 Q X
var parentNode=node.parentNode
, ^, p2 j) e' J" ^2 v var parentBgColor=this.getobjstyle(parentNode,"background-color");
* o: {6 ^! C6 d2 H9 b5 @
3 J2 J. O( L1 {4 u& T4 f. v* V var isLast=false;
; @; I- H* f. l% i' {6 \3 f
0 k9 j( S* v* q8 d$ u; g while(parentBgColor == "transparent")
7 G$ U; B( B2 r5 m. o* O0 u3 h {! n: p1 h4 ]0 T( l. F9 N, l2 p
2 F' a' t2 @7 K' J, l8 l# H6 O
* Z! D- w) I I" b$ T! F
if(parentNode.parentNode == null)
Q0 x' y& p) O, `# A. f, Z {. u, h, Q8 ^/ G8 a) ?( O/ c( Y
isLast=true;2 q/ ]4 n' l7 L+ `5 i5 ~0 r
break;
4 `5 t& _) K, \2 a }2 @. Q, N+ Q' ?$ F9 g1 ]5 q
parentNode=parentNode.parentNode;2 ?( v# B/ K' M" _/ W
parentBgColor=this.getobjstyle(parentNode,"background-color");6 j5 z& }+ T6 Z+ U# U
- b! J* @$ ^7 i% S" m if(parentBgColor != "transparent")
* b( Z1 z0 ~, f0 V* D {. [- R/ V6 r3 x
break;
, k) n" Y4 \ W( d7 u& V% d }3 U# |" i+ j) U* @% U5 Z& A7 f/ I; ^
}6 F; m& R7 T% m2 h5 P5 d, b4 i
if(isLast) & \6 B& L8 K2 x$ Y7 m
{) _' m) U* S5 O) }6 x
if(debug)
# K* v+ O- K0 a# C# z {
I4 {9 M& I- s8 b1 W alert("last!!");
3 A+ S* V( {1 Z# G5 G' v }* N% N. L3 F. T& E# P- E
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 o# {" |" d: E$ `: _1 u% {
{" y# C' A; v0 {$ h2 s4 M- m
orgNode.parentNode.removeChild(orgNode);
8 Y2 W0 u! t8 g1 L+ @8 \ }
+ P9 o5 O: O; T$ v }
\# U+ k* n! I else. W5 N/ _9 b/ L
{
o, b. { U* |* } if(debug)
3 I/ f! d4 h) `8 H! N {( k# Y$ q8 e% a" k, F
alert("compare color and parent bgcolor!");7 u7 F& ]. e& L( v, g$ I/ M7 ?5 n
}4 B! ~7 U) u, \+ R& ?* T! ` Q+ L
parentBgRGB=getRGB(parentBgColor);% h4 @! C& G: B' [. S5 p8 f- g
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) i, e! Q. X5 V {* }, k$ ]0 c% y; y' p( h X4 P$ J
orgNode.parentNode.removeChild(orgNode);
1 X- f- q4 z8 A9 k9 s+ i& _9 }% f }
0 ?& T2 {5 ]% @* D: R }
4 l. q* W% C7 `# `7 m6 b }
9 c/ b1 [! F! h( K' S* y }
* S' v* |5 O4 F( ] }
G" ?1 z# d- M5 G. o! `2 \, R }( S& }+ I* _: Q2 H9 y- n q
" n; V/ X; ?8 f
1 n6 c3 o2 F: N7 s var itemFrames = page.getElementsByTagName("frame");
8 V. w9 @: f# H9 R var itemiFrames = page.getElementsByTagName("iframe");
1 o9 |* [& A5 H2 X) m- P
8 M6 `: X |* B9 c" t9 z var frame, iframe;& d- v+ Y5 j9 Y, x$ j
if (itemFrames.length > 0)
+ V# k ]; }9 {$ }' F1 z {2 ]9 O/ q; G7 l3 O3 c
for (var i = 0 ; i< itemFrames.length ; i++)
" c' B+ B) H; z" f) H! K {
4 Z' L4 |! v- Q6 i0 `7 {0 P frame = itemFrames.contentDocument;! N1 g9 X n4 |- {/ w8 u
this.RemoveHide(frame,objname); ! ^6 M. l4 h6 S: x! X
}$ T E( w! i5 @' [
}
$ R: s4 r; {: p, M0 k% a if (itemiFrames.length > 0)
2 V W: f8 p0 {2 h5 z$ ` {
3 q' {) Z! a9 M1 E Y for (var i = 0 ; i < itemiFrames.length ; i++)
" V x3 e5 {& I' t+ [ @ {
% \0 }) s: H1 L- i) U6 S iframe = itemiFrames.contentDocument;& c3 O0 q" ?& d3 B! N1 `2 j% j
this.RemoveHide(iframe,objname);
! g' f. m5 A6 ~3 `; ], V3 p! b }
6 z/ g9 F2 j* J. p }
$ G: |! P1 o+ Q6 M: Z' M6 A }! `! A' u. k2 }% N/ T/ L) Y4 Y
catch(e)
- W* i* T$ ?7 o: { {9 k' ` `, Z1 P- l0 q e# m
if(debug)
. c( k7 [, k, ]+ Q! T; u, V {0 ~3 V: ]) u3 [# w; }% J
alert(e.message);
7 F% P% u& s3 z* J5 q$ P6 L" u7 ? }2 j9 E6 r+ j, d' m: y# U
}' \8 [. r# i! y6 t: |
}
1 _" ?" t/ U' O/ H) A1 m9 ]3 W 9 d2 I! B# |* H) v- C% v7 \3 A0 Z2 z
}
" g& P) p' I- t: S% |& \
# ^" ^- s$ F i( N& m. X# `( efunction getRGB(colorString)) _4 U8 I/ h/ r" W
{3 }- M* B. F; e* |
var RGB = new Array;
" V' R1 K* I2 {6 f var tempSting=colorString.substring(4,colorString.length-1);2 r6 N" W1 e7 M
var tempArray=tempSting.split(",");4 g9 P0 g% k) y/ X/ c* G( g0 d6 e
2 R- p; D0 i5 g% ?9 g4 X4 w RGB[0]=parseInt(tempArray[0]);
' k# p6 r% `. t; t; B. P RGB[1]=parseInt(tempArray[1]);
- c( W ?; ~& W RGB[2]=parseInt(tempArray[2]);9 M1 _4 Q& l" v4 D5 J
1 }# a# Q' n, b" g
return RGB;. n7 q7 I: J& L$ j9 }% v: P. |' q
}1 |" A* K$ u7 ~9 N
function keys(evt) 7 K, ?; `+ u2 M; x+ {2 w
{ " b) ?& K) O6 L1 W& f
if(evt.ctrlKey && evt.keyCode=="81")
0 y. `1 q0 J- m3 R6 X {
' b! a$ s5 y J( S! r3 E7 c* x4 i8 d; E CleanHideObj.on(0,1);
' a5 ]% m- j% ?4 W( W* }: k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! t/ u* n: c, U! y
& i$ T0 b* h7 K } 7 [% x& w, U6 l9 z6 Z9 l
}
6 d9 q; [5 l4 ?' u" q' I9 n8 udocument.addEventListener('keydown', keys, false); ; o. N; t6 ^2 z/ m5 b
GM_registerMenuCommand ('Clean Hide',
+ ]( s( {7 x5 D' f2 }& Q% Xfunction(e){5 ]! `' i* Y; p' Q
CleanHideObj.on(0,1)3 c1 i6 W, l# @, d4 {3 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 i. H/ u D( |( u});0 z; H/ z. R8 m7 B/ b' O1 x
|
评分
-
查看全部评分
|