|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
网页制作的中的一些工具代码(转)" V$ T: } o+ O1 D
}* q$ z0 d, c* t* ~
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键
, X! I9 L8 d, A0 s! k<table border oncontextmenu=return(false)><td>no</table> 可用于Table
, o7 k# ?1 f! ]( l
- _0 J; _7 _ \: {; i2. <body onselectstart="return false"> 取消选取、防止复制
; K# l$ e; J; k% Q4 ?3 T9 r( s9 |) i+ I: t$ t& u
3. onpaste="return false" 不准粘贴6 Y0 I% V7 K' d: r
4 _% F$ P& G! g/ A0 h( U
4. oncopy="return false;" oncut="return false;" 防止复制
) y# j8 G' T- Q7 O9 e3 T. f8 g8 M+ n) p# S! ?5 p2 P0 I
5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标! u; H& E- @2 R
; f; t5 [6 q3 U6 G! x
6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
3 c9 ?+ A3 Z# N! V& y5 \% `; X, h( O$ h# k( r- Y
7. <input style="ime-modeisabled"> 关闭输入法
) y" r9 N% g3 x7 E1 ]9 p
! e6 c: [' J1 S0 y8. 永远都会带着框架; y; D6 i& |. Z( F; ]3 i
<script language="javascript"><!--' P! G8 ~* E& ~. S) W. G `
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页. M9 q- C$ V2 }& p2 R. a+ q
// --></script>! W1 L; x% z! T# t$ J1 w0 r: d, R
/ P. L; Q9 t' h% l8 z; p9. 防止被人frame! e% m1 X# L7 u7 S
<SCRIPT LANGUAGE=javascript><!-- h3 y1 v! [! ]
if (top.location != self.location)top.location=self.location;% o) F9 ^8 R# c u. W2 m
// --></SCRIPT>
$ n1 [3 t! ]$ Z, e9 g5 q" ]# U8 ~5 t
* a" ] `. n/ x* N# j% ?10. <noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为1 m( R4 L2 V# b- s( K0 L
! d5 j/ \1 Z! u
11. <input type=button value=查看网页源代码
( X8 G5 G& P, ?) ] K, ponclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">. n, o( i2 O/ e8 }( G* c" B4 ^
& s% P% b- E7 c& \6 _, P& p) \12. 怎样通过asp的手段来检查来访者是否用了代理
( d8 P' o/ B; x0 ?<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then2 L5 m" a: W- `6 d
response.write "<font color=#FF0000>您通过了代理服务器,"& _
, {- `: H1 _3 ^+ j- Y" ^; g3 a7 t& t"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
* H6 L2 l+ ?% |) A' R% z$ kend if0 S5 M. V6 R, r( J
%>
# G! E- B( A( E2 p' k% N8 |+ Q) B' Y* R" m, V& x
13. 取得控件的绝对位置
' v! n' R) C q
7 \1 t3 g' J9 v. E% u1 k. e//javascript
. j2 [2 |% L, `( I, Q<script language="javascript">
9 O* Y3 m' K' G+ Pfunction getIE(e){
. T, P4 [; e6 V) H8 N+ Jvar t=e.offsetTop;
- |8 P" o7 b8 d) u" }. s' h% _var l=e.offsetLeft;0 J/ h' ~* P, v( l" A! h: N5 e- z
while(e=e.offsetParent){
/ D1 S9 [5 A0 R1 Nt+=e.offsetTop;: M, ]5 U1 c7 B1 b8 E
l+=e.offsetLeft;, A5 i4 W) z0 E1 t7 v
}
) c# o4 |1 A) w5 c4 x7 g8 A, Kalert("top="+t+"\nleft="+l);
: O! e& X' Z2 q& n}% ~: h& W9 T' R/ I' h, ^; ]5 G
</script>
% h' B& y; O) g. c8 w
( J$ ~1 i" U" [- R//VBScript
* c: ?8 r9 B E<script language="VBScript"><!--
) h Q) K! Y P( F& Wfunction getIE()/ c3 M: f$ @0 O* U! ]2 _8 [: L
dim t,l,a,b+ |4 H o6 k, Y* U9 r+ w
set a=document.all.img1
$ C9 \4 e: L5 ^+ ?( o3 St=document.all.img1.offsetTop
& f6 l* ?0 {9 y, rl=document.all.img1.offsetLeft
0 _; K7 \ L0 @/ S% h. s8 \while a.tagName<>"BODY"* \4 V6 y" ] @
set a = a.offsetParent( `* ~! y4 Z* z% s+ u
t=t+a.offsetTop1 W* W' Z; H* Z1 ?1 F
l=l+a.offsetLeft* B6 P |! K; {8 J; A T6 B$ T9 s
wend
7 D# [& ~( ~( rmsgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
; ^/ K U+ D! L- ~6 Y$ J. K8 rend function* c ?$ b" [) g. s' V
--></script>
7 p0 a6 F% N* s8 Q" l+ P. G9 P. |+ ~3 N
14. 光标是停在文本框文字的最后
- O0 \% z$ a) L: q) i! P3 [6 |" p<script language="javascript">
- J8 o4 n s3 Q+ @ K5 ?9 R% Sfunction cc()
6 E+ q, t/ o* \8 o& ?& t{- P. F: |1 |6 O
var e = event.srcElement;
% `1 g% d4 |. f# [1 I1 {7 hvar r =e.createTextRange();6 @ u7 y7 N2 F: {
r.moveStart('character',e.value.length);
I8 \ u7 ]% p+ w+ P6 Rr.collapse(true);
0 c% q" R/ B8 {: k/ hr.select();+ t! D& [ @/ T, J
}2 K( P! H; |8 a5 r
</script>
9 m8 E1 w3 u! S, q<input type=text name=text1 value="123" onfocus="cc()">
- w, r* u6 I& }+ Y3 P7 s' C5 e% s* G+ T
15. 判断上一页的来源
- z: x# }, J' j( d) gasp:- J+ E/ s' L% x1 l
request.servervariables("HTTP_REFERER")
) Y3 y& h( t3 V8 j5 }* C. }* v; K; d! `5 W }4 q( q. I% ^
java script:
: o' s+ x1 j& h( T! e& Udocument.referrer
+ e0 O8 C n/ K# j5 n- \$ e$ G. M4 F) f+ x4 Q6 B
16. 最小化、最大化、关闭窗口
( V1 y/ C W% u3 A" _8 }- ?<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> # [3 G4 @- ?8 b* k
<param name="Command" value="Minimize"></object>
6 |* f- Q: c. J9 G+ S<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> - S1 }6 t% ?; B; g
<param name="Command" value="Maximize"></object>7 @2 r2 ?& V/ |! l
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
0 [' r( e! V8 S- A3 j5 v) V<ARAM NAME="Command" value="Close"></OBJECT>
6 p3 F& }/ ]3 b1 v
' D3 q7 E5 C C* F; \' C<input type=button value=最小化 onclick=hh1.Click()>7 G+ e* Y. q/ L' {2 h
<input type=button value=最大化 onclick=hh2.Click()>/ a& \2 D3 V7 A7 O! n3 d2 M4 l# b
<input type=button value=关闭 onclick=hh3.Click()>
/ q6 x3 H. t4 q2 R) M+ I b本例适用于IE
% v' L# m w6 \$ @7 k& R4 u( Y) }4 O* j4 P. C2 J
17. . s$ m! h1 I6 w- x: w' X
<%; c8 ?8 r0 l7 g, P5 `+ W
'定义数据库连接的一些常量
0 g7 G) D% T) K4 ]7 XConst adOpenForwardOnly = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark
" u7 @8 b( y: S* J" uConst adOpenKeyset = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
/ C7 e% y W; \Const adOpenDynamic = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
N* i. N$ f& m, t- sConst adOpenStatic = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动' j1 d9 E! E! Q2 S& U& @! B0 I
! c! H, w% s& X c7 l/ B. A/ u, fConst adLockReadOnly = 1 '锁定类型,默认的,只读,不能作任何修改
2 E2 R) U! [8 {6 @. OConst adLockPessimistic = 2 '当编辑时立即锁定记录,最安全的方式
. M6 m5 h$ k3 rConst adLockOptimistic = 3 '只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等9 l& L2 n% T) @0 V) X5 U
Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的& x7 r' v, j7 b; j4 V2 f
6 t' ~" p m6 i2 k0 Z. t1 SConst adCmdText = &H0001
1 U) o! D4 [7 e& q: }) E) VConst adCmdTable = &H0002
( S. K$ E+ b2 X: ~' p& W5 Q6 N) f%>
" ]* t4 K. P6 J% g! B, W
5 [* v! X$ E9 h18. 网页不会被缓存
% L3 G) l' s. P0 S! t/ v: f& \; e6 F0 UHTM网页
: r/ O9 c6 L& B" p0 S" V<META HTTP-EQUIV="pragma" CONTENT="no-cache">
9 z% f, J X& _8 p* @<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
2 m7 {7 _ Z/ l; H1 @5 Z2 {<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"># g. S! a5 F2 W" E: A
或者<META HTTP-EQUIV="expires" CONTENT="0">) y v% z9 L6 f/ g2 ]7 b
ASP网页
4 Z' g. S" k% @Response.Expires = -15 e, q, ]5 W+ d) M: a, G0 K
Response.ExpiresAbsolute = Now() - 1& l: l+ p" v4 {$ ~: e
Response.cachecontrol = "no-cache"
+ Y( ~5 Y+ l0 Z( F% MPHP网页
( E1 k: C7 ^% f8 o0 X- aheader("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
: N) {4 F$ x1 l# Z' G' Cheader("Cache-Control: no-cache, must-revalidate");- ] F N7 r- `! Y1 R8 G
header("Pragma: no-cache");
; x; M- q' a9 d: S4 |# Y6 `
+ `8 @2 o6 n# a! N; C4 q怎样让表单没有凹凸感?% ~8 @, l1 v# `0 H8 B2 R5 w8 x, x) V
<input type=text style="border:1 solid #000000">
5 ?, N" F$ C' E( n$ Y; V5 x+ R; e或; e8 ?. h" \4 a7 i0 \
<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom: 1 solid #000000"></textarea>' d" r# }" u; ?# O' h0 ]
# d- D$ b1 i. V+ R9 {, Q
<div><span>&<layer>的区别?
2 j' s2 R, U" T; K3 N6 o4 m<div>(division)用来定义大段的页面元素,会产生转行 7 W4 f! f9 o; r9 k8 V- H/ i
<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行
& n, y+ x/ _* N2 h' j# n& [& d<layer>是ns的标记,ie不支持,相当于<div>, C. H4 B0 \# B$ z
( t& J( d4 E7 S; o. b# J4 s) Q0 f/ Q s7 r( Y% L$ o& S' ]/ G
让弹出窗口总是在最上面:
3 b+ H* m7 T" e2 {( r: \<body onblur="this.focus();"> O% ~% }! b5 _% ?9 \. u
9 ]0 \: G2 x. L- O2 k不要滚动条? $ |; E9 d( t, \
让竖条没有: * U: [% @* e. J6 k
<body style='overflow:scroll;overflow-y:hidden'>
4 Q2 S1 d" A; W5 z+ h</body> $ T2 h H3 x4 |: V a8 p
让横条没有:
, g! w# F9 d6 Y8 {6 W) K<body style='overflow:scroll;overflow-x:hidden'> 7 J* R& H% `5 a+ z( q& q1 R
</body>
/ k. `" ?2 u. K0 S3 n, o两个都去掉?更简单了 1 u5 u+ u2 i4 J; ^9 s
<body scroll="no">
8 Z8 n$ F: P; i# I) N' r</body>
# W4 Y+ G# W& Z: p! y- y' d5 y) c5 X' G
怎样去掉图片链接点击后,图片周围的虚线?
) D- ~6 A% E7 j# e0 _<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>
% e! j) r4 M; g$ ]& m4 c2 n
$ Z& _' |( p0 N% v+ n+ q电子邮件处理提交表单1 {2 z* E! y6 y% U. `1 x3 b: T
<form name="form1" method="post" action="mailt****@***.com" enctype="text/plain">
0 a1 U0 `) ` v7 d! m3 d<input type=submit>
8 V2 V: }+ C4 Y8 R</form>
, L9 I' f( c5 e
# Y7 Y \! v+ g6 w. N. J在打开的子窗口刷新父窗口的代码里如何写?8 `0 l* ?' w) n6 g5 _8 ?
window.opener.location.reload()# m( ]$ X3 X/ w# w& N: t2 t$ Y
/ }; j4 s9 l( d& v3 K
如何设定打开页面的大小, u* H+ ^1 R3 `* ^7 H* ^
<body onload="top.resizeTo(300,200);"># c k' p6 @8 ? [9 f/ E" j# [( u
3 @7 m7 Y/ M5 m在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 9 Y! |+ H; i# c5 o
<html><head>
0 C* |: {) `/ O5 h5 u7 f5 D<STYLE>
8 I; m. N1 P6 Jbody
2 j; B# U" e0 f8 d0 m{background-image:url(logo.gif); background-repeat:no-repeat; background-position:center }
$ a! Y* K& J' `& [</STYLE>
( I( G; u& t0 L' R</head> # j p! s3 `! ?) R7 K
<body bgproperties="fixed" >
# F# L' X V7 |5 K) i+ [, u</body> : i6 N0 k8 s% h5 l
</html> & `. i+ j4 o' Z2 R+ O) L( U2 \
) T, ?, i% D. P1 P6 x1 j W* a
19. 检查一段字符串是否全由数字组成3 t* |6 Y% @. T
<script language="javascript"><!--
* ~ H% a$ p2 P+ ofunction checkNum(str){return str.match(/\D/)==null}9 p; u- V, f' x5 E
alert(checkNum("1232142141")). \* x& ?! A) |5 ~( L5 n6 J8 K. F
alert(checkNum("123214214a1"))! M6 ^# P( ^4 _9 O: }
// --></script>
! g6 z! y* g' I/ I* P6 r5 z
# [3 _* t0 a c* q* m- Q20. 获得一个窗口的大小
/ d0 J* C- r& ]9 N: odocument.body.clientWidth,document.body.clientHeight% P2 C" q7 e3 {. e
$ X# w% f0 j( x6 x" y7 M
21. 怎么判断是否是字符
+ @7 O5 W0 v; p# f) B$ K7 Tif (/[^\x00-\xff]/g.test(s)) alert("含有汉字");
- K% M% H0 [4 Y0 H/ kelse alert("全是字符");; z1 z; \1 c* Y1 S. H
& e1 U/ {$ w' g* o: \2 p6 [) v4 H2 a& Y
22.TEXTAREA自适应文字行数的多少
0 a* L( K) f a+ V# ~<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"># x& d( k1 _ A% Q# J( i
</textarea>+ N1 _ N% ]* e: y3 t
2 Q4 n! M8 u* n8 M- s6 X; Z" L$ y23. 日期减去天数等于第二个日期
& e$ x' R/ Y! d' L. a$ d) G* l/ i. w<script language=javascript>
( r( d9 ^) K8 mfunction cc(dd,dadd)
0 F0 M* w: g9 t2 ~7 u{
3 ]& K/ z1 l9 \" w2 a$ p//可以加上错误处理
- ^& u4 o% r" X1 Q5 }! jvar a = new Date(dd)
4 B% P7 O8 W* B, Wa = a.valueOf()5 f5 l% G5 q2 P, V; T3 }" a
a = a - dadd * 24 * 60 * 60 * 1000
; d- N# u. ^9 t1 Qa = new Date(a)$ L( s3 H5 R& y- }5 H0 [2 ^! [ D- v
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
- i) t5 @' n( Q$ `/ q}
3 J( `: c2 I; \1 C- r5 L2 f- M+ ~4 ncc("12/23/2002",2)
: k3 i" \/ @* t. L8 ?0 t</script>. [6 Y! e/ m* p
# n1 J( p' z2 P; c0 b* W& N1 x. h6 ^24. 选择了哪一个Radio. l4 [9 E1 K, e g- ~* l
<HTML><script language="vbscript">
0 W: `/ K& W& @# h. ofunction checkme()
; O& Y0 o' A1 ~for each ob in radio1
# z3 w8 p+ Z6 L$ A& P2 bif ob.checked then window.alert ob.value
* v5 R+ k& n, ^4 K& R* E& U! B7 Znext: N2 ?3 d% N; k* D3 I* ]+ ~4 F
end function
8 ~% ?- ^, g3 l. K</script><BODY>' R4 }% D. Y7 E" \4 U2 H7 O6 N% B
<INPUT name="radio1" type="radio" value="style" checked>Style
& b7 C+ Z2 i/ [/ E5 l: y/ t<INPUT name="radio1" type="radio" value="barcode">Barcode3 [) R3 @* R5 N6 T7 [0 J
<INPUT type="button" value="check" onclick="checkme()">
+ R8 b4 w3 B, V4 K- `5 \/ h; m( k</BODY></HTML>
! m0 B; I0 F7 Q: D2 P1 B9 j! d2 F
, m2 z+ |* ~/ s6 r8 q2 P6 r25.获得本页url的request.servervariables("")集合8 a, _6 W9 o( s8 I
Response.Write "<TABLE border=1><!-- Table Header --><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>"
% t( L: v5 a5 n, ofor each ob in Request.ServerVariables% Z7 D: Y8 G1 ~8 _5 T" T( D
Response.Write "<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"
) u9 E& s$ s, v" P/ Lnext
9 W' X7 c1 O# B" o$ ^Response.Write "</TABLE>"
; u2 P" F+ X& ?- k, K) ^) S& |* [5 j+ ^ t
26." h$ E' \0 y1 Q- A# k" \) o
本机ip<%=request.servervariables("remote_addr")%>: t$ x, k& N) a' k p+ p0 o! y! G3 D
服务器名<%=Request.ServerVariables("SERVER_NAME")%>$ c( E0 w. q5 P2 w9 }8 p
服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>
& B* Z, ~* E V6 z服务器端口<%=Request.ServerVariables("SERVER_PORT")%>
: C' O# u# B1 O9 m6 t/ L% V服务器时间<%=now%>
1 E3 y. b# c" O$ }IIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>% \% z. v) n9 Z! P# t
脚本超时时间<%=Server.ScriptTimeout%>
! N" p+ `8 X' [, h6 d本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
5 ]: S5 {* G. z* _# M服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>: g- n8 D6 ?( K0 x2 L. U4 }
服务器解译引擎<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
+ v9 J) V; Y& ?& I X服务器操作系统<%=Request.ServerVariables("OS")%>5 `) p( f+ f5 e# v; X
/ C' z1 \: j( _/ i6 x2 o! ?
27.ENTER键可以让光标移到下一个输入框
" T+ @: R" i% t, x$ O7 b, ^( ~<input onkeydown="if(event.keyCode==13)event.keyCode=9">7 t6 _5 T7 c) w: s
0 k! `2 v0 q1 s- w$ J28. 检测某个网站的链接速度:* v2 |, t0 w! K o1 K
把如下代码加入<body>区域中:) `! Q* H2 z! N7 j
<script language=javascript>
* T1 W( p" L2 Htim=17 E' Q& O4 t- E; L
setInterval("tim++",100)
2 C4 V& o$ R7 g J& ib=1
. i2 B$ L) p6 u! z: ^
0 w: F6 r( y4 v/ N) o- N1 m0 Hvar autourl=new Array()
2 ^: u: }; h* pautourl[1]="www.njcatv.net"
& ?% p2 s5 R. e& Rautourl[2]="javacool.3322.net"
7 Y, e- B K4 f. Yautourl[3]="www.sina.com.cn"
2 A: s& S% d# A* J' Mautourl[4]="www.nuaa.edu.cn"
/ N/ m. m1 c' P& Q! K: R' hautourl[5]="www.cctv.com"
! p* n5 ~) ^, }- C4 ~; d" o# M U5 T" _6 }( p: P
function butt(){/ x# i9 U, I' u7 f# ~
document.write("<form name=autof>")& U) o4 U% i" {
for(var i=1;i<autourl.length;i++)% H6 ]+ j7 E4 O$ z" u' A" R* W
document.write("<input type=text name=txt"+i+" size=10 value=测试中……> =》<input type=text name=url"+i+" size=40> =》<input type=button value=GO onclick=window.open(this.form.url"+i+".value)><br>")( N; r) `0 P% d! u9 F' \
document.write("<input type=submit value=刷新></form>")
- ?2 w! X$ Y) ~ N$ M}0 v2 w5 Y2 e! V: J4 f- N4 q+ f8 D# q
butt(): [1 \" x2 y9 \$ L) ^
function auto(url){
H! Z5 s8 v% K8 r# i' O* h$ Udocument.forms[0]["url"+b].value=url! P% I) p" ?+ m4 q) N3 a2 R4 b; W
if(tim>200)
, ]" l2 n- q5 y' C: a{document.forms[0]["txt"+b].value="链接超时"}
# u# }9 O: `! f& |else- L: l/ p4 F9 i1 C
{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}4 U" u% v$ x2 F* \" W
b++. J H7 Z# J, o% X6 P0 U
}
1 n. T# K6 V1 b k. Jfunction run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1 onerror=auto('http://"+autourl+"')>")}1 T+ f8 u% j+ P3 }$ p1 t
run()</script>
0 j& n& z4 {' x' l( D/ v( B, E) i J/ a, K9 |
29. 各种样式的光标
[# b& y$ S Qauto :标准光标
3 b; H0 Q3 x2 x) L& T$ vdefault :标准箭头; W$ h) T6 }; b/ m* c
hand :手形光标
* |9 |, Q5 W% g; a2 iwait :等待光标: _! m# d# x! i. ?2 e- M t
text :I形光标
y- [/ M6 Q6 P( o* Dvertical-text :水平I形光标
7 A& B* g& T3 E1 r$ z' c# Ano-drop :不可拖动光标
8 l# v! l4 ^2 `8 f4 inot-allowed :无效光标
. I0 R6 s" `0 J$ jhelp :?帮助光标
5 b7 _- i4 l5 C2 hall-scroll :三角方向标. R! Y9 F: V# @8 V( _7 |
move :移动标
9 S$ i) ^- D$ G! p( dcrosshair :十字标, ?! V9 H3 U' h# O8 G3 h
e-resize
& }: i4 E9 ?* i2 H1 F; L" hn-resize% n1 p, \' q* c6 n
nw-resize
+ O$ l3 }0 X/ z, o+ d4 g7 E9 Xw-resize
% K& ]/ U9 ^4 |; u, @7 Ns-resize$ F8 A' H \$ U8 F2 p
se-resize
* y2 Z- Y3 p3 ~6 E% I* O ]sw-resize% K* q3 \) w/ g5 t) c3 z
上面的错误
% Y1 M- X9 Z/ D& A5 H<body oncontextmenu="return false"> 将彻底屏蔽鼠标右键) G* p4 R# ?: n. Y+ Z$ h7 z; j
1 o7 @" _) R9 m0 v+ ^1 o/ a4 W) R这个是彻底的!但是在下觉得都是自欺欺人的东西
- b. n8 ~: W: S: I4 H* G<script language="javascript">: {6 V: w2 s7 X2 X: k/ i
<!--
0 o! `6 V7 x" o. I+ z
& G: Q" H& d1 n7 `if (window.Event) . m" ^& d, N7 _( f: H6 O5 U
document.captureEvents(Event.MOUSEUP);
2 ^& h. S6 d) ^. ?6 `+ P1 d4 g& h6 J. r8 a1 g1 {
function nocontextmenu()
( K) J1 l- o# o7 I/ u5 F$ t$ T{
% d) c8 P# j2 r/ f5 \& L( devent.cancelBubble = true
3 K' Q" n/ ]( ^. I: l1 fevent.returnvalue = false;9 |/ C3 Z% B! b
4 v( S( U$ J: H- ^; U
return false;
/ y) l- b$ _1 c M. k}
+ H4 d7 l: s3 S' ?5 K# o# c. n7 F k: X5 L' o' J
function norightclick(e) 0 z$ N# N! J8 c
{
& l5 X! m8 |& N# \" Wif (window.Event)
/ p: H; Y" c$ T" Y* K$ _{
4 o8 N# P3 E# Mif (e.which == 2 || e.which == 3)
: a7 m9 j+ ?5 Y: I' i; j6 U* Sreturn false;
+ Z5 }" ^+ H# N3 r, d+ ]# D}6 q: {) o& k9 Z5 ?# a
else, c5 ?5 `* Y: k, ]$ v
if (event.button == 2 || event.button == 3)
h, X9 D6 {. W7 H0 Z: n$ L5 ] w O{6 k0 W; C% _6 f6 W2 R* C- l2 k
event.cancelBubble = true! ~; r2 q" X [
event.returnvalue = false;
7 [1 B& `6 V. h% H: greturn false;
; U& l h2 l1 h! n9 Q& i* S}8 L" |) B g# N, ^0 [9 _0 E
& [/ Z& V% ]2 B, e( w9 r}+ p' a1 [1 o2 Y# F( i6 h( N
. e0 A" t i! C1 f/ vdocument.oncontextmenu = nocontextmenu; // for IE5+
4 Y4 x. A% M& c9 V( i G! q5 odocument.onmousedown = norightclick; // for all others
: ~6 G A5 o* G; e//-->' D5 \( u$ o' S4 H! A' K
</script>: u7 [# @: t2 v3 i C
- e, I3 m% `9 R G6 p, c' F3 q- e( D) A* D# t3 S
$ N! Q: m3 L- _
3 j: e- v6 k% U3 j3 U/ ~
' C* ^8 Q/ e1 L5 B, r彻底禁止右键快捷菜单的出现呢?其实只要将上述代码做如下修改即可。 9 s% V$ S0 y# e% h! B
5 J o) K+ L0 n3 R9 m# g a< Script Language=javascript> n5 `2 }; m3 v" O# ?- [7 t
function Click(){ 6 m3 G [: X! f2 i
alert('版权所有(C)2001 XXX工作室'); 2 I6 M9 K, d% ?! ~4 v4 {* i) s8 R
window.event.returnvalue=false;
, }+ ^$ g- L0 [5 R9 x9 O( [ a} ( a6 u. Z/ H& F7 Q, J! S" p, k
document.oncontextmenu=Click;
1 F; F7 B2 j l/ L< /Script> ( |5 R$ u! \( S: h8 u+ F, P
) k5 O3 c2 o( Y% n `1 X
这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键入"javascript:alert(document.oncontextmenu='')",就可以解除对右键菜单的屏蔽。对这类访问者怎样防范呢?其实,把地址栏隐藏掉就可以了,具体方法见本文介绍的"屏蔽窗口菜单栏查看方式"。: S* H& U9 m$ M. m
+ Y: ?" W9 l+ W! ?( z/ A6 a1 s
! b8 k z/ F0 E: |5 S, s& B, A8 G; L& p: z
屏蔽窗口菜单栏查看方式 1 ^) ~: I/ ]0 T' O O
0 q2 y' u, Q1 u: t- A
制作过网页的朋友都知道,对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单栏和地址栏隐藏,不就可以屏蔽窗口菜单栏查看方式了吗?实现代码如下: 0 {0 k* n& G; c9 a
! p! `4 q& q. E
< Head>
9 V* M# f! q9 Z d< Object id=closes type="application/x-oleobject" * e1 p T, k9 X
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 3 L) C# S& d+ y" C0 j
< Param name="Command" value="Close">
: q1 N! K- E# o1 i9 h< /Object> & Y/ q6 C% d1 O' s0 l
< /Head>
- b: Q- H! Q4 D4 |8 k1 v5 v< Body> # H6 U4 s8 W9 l* F
< Script Language=javascript>
* U( S6 r* u% N Hcloses.Click()
% w% F1 U0 D/ R2 R4 C4 [* Fwindow.open("XXX.htm","","menubar=no,location=no,
) L5 X0 [0 S5 _" K: F1 _5 z+ `7 B3 bscrollbars=yes,resizable=yes") * r E) W& z! D: _' I$ [2 @
< /Script> 0 `1 ~/ A0 k# [. e. M/ L# q( \" H
< /Body> # \: V6 W/ y& |6 a+ S6 O
9 b) [! }4 u# a2 `& T+ C+ \0 `
这种方法的原理就是首先将自己网站的首页制作成index.htm形式,把首页设计成一个过渡页。然后将自己的真正主页制作成default.htm形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。 / \; p' t1 Q- ?" @
) W; |6 [: F0 c$ V, s4 \& }附:源代码清单 1 `0 u2 ?0 U+ c' f# G0 r
index.htm ! P! s7 q9 x$ |7 Z" B" R$ N
< Head> 2 {) G4 F/ d# m! {
< Object id=closes type="application/x-oleobject" classid="clsid: . p B; _; e# L& p/ m- A
adb880a6-d8ff-11cf-9377-00aa003b7a11">
% M8 K+ I( M1 {9 v4 M* a- m$ R1 F( c< Param name="Command" value="Close"> / [9 D/ M# m9 V' }. v1 E9 h* F
< /Object>
* \. S; L4 _8 g8 Y9 d< /Head> : k9 T7 d& X @8 C. h* ]
< Body>
: j: H( ]! I+ @< Script Language=javascript>
" D8 }8 q- m2 b' g* Y+ hcloses.Click() 7 H" N$ R1 \1 h8 P
window.open("defalut.htm","","menubar=no,location=no, % Z3 u0 {) y1 w0 e9 l) T
scrollbars=yes,resizable=yes")
( W5 v1 F: M0 C. [< /Script>
6 R5 {5 t h) ^( ]< /Body>
! q5 j9 C* L* S- m3 X! O& Vdefault.htm % e) S4 l* I& _) a4 s6 X
< Html>
; ^+ M& O$ c; |< Head>
- C% G: _: L2 \; q< Script Language=javascript>
. S! r7 c/ Y% p. `! dfunction Click(){ ; h4 T; K S6 d( G2 F
alert('版权所有(C)2001 XXX工作室');
, L9 K! R; ^0 M2 ^' U, ~% Vwindow.event.returnvalue=false; 4 l( C {6 G8 n) v3 Y
} # z4 N* B6 |; H& H. n' u; t. ]. `
document.oncontextmenu=Click; ; P. X0 U% @( q+ w- x8 Y. h
< /Script>
2 a0 P* n4 D/ U0 j) l& j< /Head> ; i3 K4 G% k1 B7 c3 _
< Body>
' v" X' a2 t* L... ... , q3 m* |4 n) F }5 U
< /Body> $ o, W9 ]9 E$ J8 {6 K9 @" J
< /Html> |
|