|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
网页制作的中的一些工具代码(转). k& G4 ~ u4 _* ^( R6 I; U
$ h. i# p; l/ f: k7 C; q# M
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键
' Z. v- x% M+ \0 p$ g2 W/ U<table border oncontextmenu=return(false)><td>no</table> 可用于Table
, T, v7 U. l3 R ~2 L" l3 M# r' J, g8 I
2. <body onselectstart="return false"> 取消选取、防止复制8 @. b# _: f) O3 J5 u' W9 q
7 p8 a5 C5 j4 x" D5 _. G3. onpaste="return false" 不准粘贴
5 U7 Q) |7 m- b4 ]
1 O, y h% t- v- X8 a4. oncopy="return false;" oncut="return false;" 防止复制& [0 A) o4 [# T) ?
6 G0 I& g0 |! T. m5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
& O0 r/ n( P) t: R2 I' Z2 ?! N5 P
6 T/ ~- v1 l2 H. A+ _, c1 n6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标$ K3 m7 I" G9 z' F0 r
. H2 i* m! W* K* B! X/ l
7. <input style="ime-mode isabled"> 关闭输入法4 D# G4 k* _$ i8 X
* o' P) `0 c2 ], {* I9 q8. 永远都会带着框架+ y( O6 W1 Z w/ Z) q4 T4 M) S( Z, Y
<script language="javascript"><!--; h" l) j' j0 {$ T4 _" P. Z J
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
) B. _" M' @. o1 Z// --></script>
/ [" g8 p! d2 @, O/ T5 w6 B( |& P$ ]* ^- d
9. 防止被人frame
3 J7 Y4 \7 ?7 [: Z. D% ?<SCRIPT LANGUAGE=javascript><!--
7 [5 D7 g* U, Q$ Sif (top.location != self.location)top.location=self.location;6 ^4 ?+ z' w" f9 E% ~' O6 k$ p+ X
// --></SCRIPT>
; ]2 S; U/ \* w' A/ }3 B! R
, V2 j( L* f" M2 X1 O10. <noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为6 O6 G0 J! l, a9 w
+ N0 W8 o2 T, Z. n
11. <input type=button value=查看网页源代码 ( q' I# H. i* `, X
onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
, P0 ^4 P1 m" H
/ l8 M/ D4 Z5 |& p. d! M; Q/ J) o12. 怎样通过asp的手段来检查来访者是否用了代理, C1 O1 u) [* V6 |. a
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
+ A0 z( \: l3 z' c' dresponse.write "<font color=#FF0000>您通过了代理服务器,"& _
7 \$ H( o+ P* h) D2 I" O* H"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
) L3 ]4 E6 o. P2 \end if
0 p( h! `. p0 [( r6 G2 R( y) t%>
( M# \" F1 I$ ~9 l8 ?) {: Z; C
9 u. d. y5 ~+ k13. 取得控件的绝对位置+ H9 M& O1 u9 g/ ?3 u1 M
% L' \1 H; r& t5 D
//javascript5 H" d% ^2 {& h" }
<script language="javascript">
( i$ z5 z: t& t6 n4 Q9 a& {# ]function getIE(e){
% v! S3 K! ]& w4 bvar t=e.offsetTop;! ?" F$ O- L8 P4 L
var l=e.offsetLeft;
3 {% @, p5 x. ]7 ?while(e=e.offsetParent){
2 ]2 D, `4 j) i4 B2 |2 Tt+=e.offsetTop;( f1 H5 ]4 B! e+ b5 i
l+=e.offsetLeft;6 X0 E0 o" @4 i# m, \ i0 K7 [
}) _9 V, |9 f$ \+ \% w
alert("top="+t+"\nleft="+l);
# m/ ] S" W6 U' z$ Z, e2 ^# L5 r}: ~! a% Y& h& \- x @+ }* U
</script>
5 U: U2 U. G* P1 ] N/ \! K
" c# `2 }: _" e( D- i1 n//VBScript
' m: c9 C3 X" @ j% V<script language="VBScript"><!--
! ~% m3 F8 t- L# T" j1 I1 F) pfunction getIE(). M7 w) I4 _* Y) ~% o6 S3 J
dim t,l,a,b$ e) x6 X2 [* [( I
set a=document.all.img15 n% E0 |' x* W: h, a0 r7 m
t=document.all.img1.offsetTop3 }7 D- b& [+ Y
l=document.all.img1.offsetLeft
2 i8 q G* W: d" ?/ y1 C' Rwhile a.tagName<>"BODY"
5 q# F5 e& C, Q" h: Kset a = a.offsetParent
. f. [0 h( Q2 k8 h+ u5 K6 m; T$ h& Gt=t+a.offsetTop
- ^) h- ^+ ]( c! y( P, e6 kl=l+a.offsetLeft0 C+ o! Q8 B2 m3 R, `9 S
wend
4 i% U ]# \/ F# k* ]msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"3 _) k* T9 [/ {: P7 [) W
end function5 }. Z" f3 _ i
--></script>
- d9 P& y9 y5 a& O* U6 k5 b7 X+ v/ d5 I9 e
14. 光标是停在文本框文字的最后9 B) [1 A/ f# G& U- F
<script language="javascript">
3 P, b. h2 n2 G9 Zfunction cc()+ M8 P% N1 Q' _5 Q1 Z( q" Q! T
{% r3 A1 d" D; f7 r! I- Z
var e = event.srcElement;( E; J( m+ p6 k6 }$ _
var r =e.createTextRange();
, H" M$ y" v( ?7 ^% G: g" f) f8 rr.moveStart('character',e.value.length);
& r& ` n- ]# u+ k* jr.collapse(true);
- `6 z, y' {+ {. zr.select();
0 g# V h. t/ a8 W9 J$ I}+ \" E* o( T% c
</script>* |" A6 t9 m% g e7 ^5 D
<input type=text name=text1 value="123" onfocus="cc()">
z7 ]7 b) \: }- A: w- c
: j8 u3 e" { _1 K y$ s% x( z' {15. 判断上一页的来源
$ h0 ^$ H) G# {asp:
' f% v9 { T6 K) c% L Drequest.servervariables("HTTP_REFERER")3 W0 J2 E8 @$ ~/ C8 E( T5 s
6 N' M& ?" J; J1 @/ ]
java script:
3 x: [) H) q# o4 _( d* sdocument.referrer5 b) G: v7 [' Y. K4 c
9 T6 C* j" L7 y* V+ A' v2 v
16. 最小化、最大化、关闭窗口, q+ e" n: R# O1 `, R
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> ' f7 b& l3 M" W# V! V6 M3 Z* x
<param name="Command" value="Minimize"></object>! U" W3 J) G2 d) L: g: {) F
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> + g/ o5 D* \* P" H3 K- M2 s$ G4 F* h
<param name="Command" value="Maximize"></object>
6 @; S+ l" a3 T<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
5 v/ {4 X T* B< ARAM NAME="Command" value="Close"></OBJECT>
& r+ E+ r7 X9 ~/ f( d( H6 @! w5 r" e, c! S& J1 w3 }& n+ g
<input type=button value=最小化 onclick=hh1.Click()>
, A, W) r$ Y3 ~# q<input type=button value=最大化 onclick=hh2.Click()>7 V5 U1 C2 I1 `
<input type=button value=关闭 onclick=hh3.Click()>
! C& c: |+ g9 x5 x' W本例适用于IE8 u" K1 D7 E% t7 n
7 ~9 S2 O+ E. K2 p# h; v17. ) ?* o1 K6 J% V: V+ X) G# a
<%3 i4 x" W& @/ N5 j9 G
'定义数据库连接的一些常量9 Z9 W9 M6 W+ k. T
Const adOpenForwardOnly = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark
) B1 \8 J# S) l# \% l" _9 }- t1 n# hConst adOpenKeyset = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark" t. Z: l7 C/ p. o9 O$ ?
Const adOpenDynamic = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。; o2 J# e% [5 Q T5 i! E2 K
Const adOpenStatic = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动$ J' L1 {- Q# L& T9 }" x A' B
* u! W) P, ~; D1 |7 p% l4 ~+ `Const adLockReadOnly = 1 '锁定类型,默认的,只读,不能作任何修改8 o8 H* U& w$ k2 q" A9 Z4 k
Const adLockPessimistic = 2 '当编辑时立即锁定记录,最安全的方式& Y. {% @# G4 }! y$ s1 m4 V% E
Const adLockOptimistic = 3 '只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等6 M( s3 Y+ U) U
Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的, `4 N- Z: X9 i* @
4 L! ? {- a- J2 a5 W
Const adCmdText = &H0001- _' w1 o3 Q1 d. l, I3 q
Const adCmdTable = &H0002& f/ j, F" e8 t# U' P
%>& Z% \9 n$ c, `
8 D h. j& \2 u( G' _# `5 g' S" x# j+ \
18. 网页不会被缓存( u* `2 }: f) X2 V1 R- I
HTM网页
7 e+ ?/ M% G+ f O" t/ ^+ ?$ D( z<META HTTP-EQUIV="pragma" CONTENT="no-cache">
( n) k/ } H/ r<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">* c w& C6 \8 g+ f
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
/ h4 f: k* w7 C/ X! }: |! m或者<META HTTP-EQUIV="expires" CONTENT="0">
p+ i' l- |2 u0 M$ O" c; sASP网页 [. U p& [) e
Response.Expires = -1! ~& o, f, A! x# a5 Q( S
Response.ExpiresAbsolute = Now() - 1
, g$ i/ W/ U! |4 tResponse.cachecontrol = "no-cache"' c( j4 E4 X; c, O+ L& @4 G
PHP网页
y" u1 Z" O1 lheader("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- B: j- F9 u1 p: Mheader("Cache-Control: no-cache, must-revalidate");+ b# |7 U& X. @6 d$ S$ K
header("Pragma: no-cache");1 T; F7 z8 w: |9 f: q% ]
7 b, n5 }4 m! o2 W
怎样让表单没有凹凸感?
( y7 ^1 q4 y" t9 K( d" g<input type=text style="border:1 solid #000000">
) O' g# L" V/ s* t* A! y9 D9 o3 p或) d% e$ L. E* {5 o2 b
<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom: 1 solid #000000"></textarea>
$ K' X% {) E2 M0 J, ~$ _2 C% [* c: G
<div><span>&<layer>的区别? - m& i3 u- @0 x- H$ U
<div>(division)用来定义大段的页面元素,会产生转行 # W% c; r- n* V8 a* C3 i: C( b
<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行 4 c P1 W' |; m" B5 G' g/ E7 F* O8 g. K
<layer>是ns的标记,ie不支持,相当于<div>
/ k% \- P9 Q# U O6 l% b6 o$ \5 } c7 }" a* T! [% h
/ y4 P, ^2 b5 o4 u7 P' E让弹出窗口总是在最上面:
$ V( y: M1 Y( A0 u8 ?<body onblur="this.focus();">
2 h' @4 e5 I* m) L9 k- ] D |- X* Z) R# r1 I) l
不要滚动条? / y8 P9 I% R3 ?1 {# L
让竖条没有: 8 Z# D1 N& [: J8 S/ n( E
<body style='overflow:scroll;overflow-y:hidden'>
8 r' F5 [8 J2 Q5 s9 c! V</body>
6 l, g# W7 H1 u4 l% m3 m让横条没有: : J" W( l3 w$ [$ q/ O: p6 U. ?0 B
<body style='overflow:scroll;overflow-x:hidden'> * Y# r& M) M9 [; Z) r _! C0 u# h
</body>
0 V: B+ {' l4 L两个都去掉?更简单了 + X/ s' \" E T. N
<body scroll="no">
( Q/ r" O. D* x5 j" y( m</body>
: S0 x9 u' H( d" s* j# X
& _! z) H8 j6 A, M' P$ c怎样去掉图片链接点击后,图片周围的虚线?9 i5 _! J* H3 T. A
<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>7 P; E& {5 U5 D/ \$ \! a3 a2 x
- m" B; q: C+ B' N" o电子邮件处理提交表单
$ ]* S- Y3 I- V1 P/ ~: j<form name="form1" method="post" action="mailt****@***.com" enctype="text/plain">
: t I4 C: I! S! T7 ^9 c6 L<input type=submit>
# X9 C: X) s' p" o4 e/ M" Z0 Q$ E</form>9 l1 j% G; x6 c8 y9 A; S }2 ]/ ?
7 j% U$ v9 n9 @. D; b* @
在打开的子窗口刷新父窗口的代码里如何写?- O$ k( p' ]- ~6 s& M
window.opener.location.reload()
7 j2 G; U- E4 w+ R5 O+ \# E" m5 ^# u: a( i' k& Q0 |9 L3 ^7 b
如何设定打开页面的大小
; _ y' N8 J, Z g% S<body onload="top.resizeTo(300,200);">, Q, u; l5 C; _# m7 e# K
: Y0 b+ `2 P' M9 {0 e1 R在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 $ n+ V+ o) X" c7 N+ b- h
<html><head>
6 g! u; c5 ?% J# D1 T<STYLE> ( A4 S% P0 S- ?; g; {% R! p
body 1 N7 C0 ?0 @5 X2 y
{background-image:url(logo.gif); background-repeat:no-repeat; background-position:center }
" `3 t, e: c8 r8 Q</STYLE> - z8 {# m+ K4 ^$ s% g- Y7 w$ e! T
</head>
/ F* h% b4 H7 d5 h& Y$ j<body bgproperties="fixed" >
# H; p* |# w! \( C6 u</body> 3 m8 O7 W+ L. \6 J; j' d
</html> ( | q; l& S/ R8 s6 }* Z3 \2 P& [
: R! }- S% m. t+ q5 t. [
19. 检查一段字符串是否全由数字组成, x* C0 e% D$ u- z6 @' Q# I
<script language="javascript"><!--3 {7 V7 @) Q2 Z9 ?& ?/ T
function checkNum(str){return str.match(/\D/)==null}' e9 m& B, r8 y$ u4 |
alert(checkNum("1232142141"))2 l) E% N( F9 a9 I8 |; R
alert(checkNum("123214214a1"))
" j8 [) v# x2 ^( S! u% z// --></script>
/ n" p! C5 x% C% t
3 m8 F% U; C/ q20. 获得一个窗口的大小$ ]) P7 z- g' m" ?
document.body.clientWidth,document.body.clientHeight
4 e: O |6 e! W8 V: k+ U0 w5 G+ r) g" U% c2 n! R2 G. Z
21. 怎么判断是否是字符
1 }/ T: {. h1 Z }/ X. }if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");
+ p: r, o( c% P6 V! lelse alert("全是字符");
& h! _: z1 `- P" r6 I! p2 D* f" m
t$ [( L" y5 Y$ O. A22.TEXTAREA自适应文字行数的多少' l5 C$ k: _1 t, r
<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">8 T4 X b5 s" a3 E. c m- {
</textarea>
3 x- b$ I" }2 M& U+ i! T: p. r# D y2 L& P. z
23. 日期减去天数等于第二个日期) \$ ]; d5 e" o) T, O* l& j
<script language=javascript>3 U v& R: v* c+ s2 F; R
function cc(dd,dadd)
4 k" [2 U+ F& K1 Q{
0 V/ F1 h2 b! v' b5 X/ n& G2 a# Q//可以加上错误处理
. o9 j$ `, i0 G, `% ]. evar a = new Date(dd)
: o6 I6 {" X& ~$ i4 a- U9 V. X7 Ka = a.valueOf()( ]& E$ h2 S3 n P! r# m+ X1 @
a = a - dadd * 24 * 60 * 60 * 1000/ x% g( h, Q5 t% k
a = new Date(a)
% p; z W* |1 o* u9 D8 A2 ~# j7 T9 Walert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")2 o1 u+ z- ~- M5 z1 j6 R% u% r
}
5 i5 \& \( P. u- W( g `cc("12/23/2002",2)) R. C, D S) w# {
</script>
0 f7 {6 P+ N# g
/ {" u5 B# H: x5 [ W0 T; t7 |24. 选择了哪一个Radio/ m% n* S9 N& f7 x
<HTML><script language="vbscript">
3 s; x. g, L: I+ \& yfunction checkme()
* }4 }5 v( w4 p" r/ ]for each ob in radio1
* Z: n+ ?# [" f. c" `6 Bif ob.checked then window.alert ob.value& F0 M! c/ P k: ?9 Q
next0 ?* J2 y' h* Z2 c8 c0 }
end function
) C+ J5 @2 ]1 P! T8 T- R2 @7 b9 \</script><BODY>
# E/ u" d/ B- g% T( B<INPUT name="radio1" type="radio" value="style" checked>Style
. X- i' [% A2 j4 k z<INPUT name="radio1" type="radio" value="barcode">Barcode7 F7 u9 r5 v6 W, x* ` M' T1 ]5 N& l
<INPUT type="button" value="check" onclick="checkme()">6 w; g# m7 O0 @4 ]( K0 b
</BODY></HTML>
9 H8 X) o M7 J8 t6 F0 [( r3 z1 }8 c b6 _
25.获得本页url的request.servervariables("")集合
0 h7 ~2 W( ~0 g+ d) z' A& e' O% nResponse.Write "<TABLE border=1><!-- Table Header --><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>"
* U5 Y5 Q) n& x6 Efor each ob in Request.ServerVariables
0 @& H h) I" o @% NResponse.Write "<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"
( B1 }- d+ ~' E6 fnext
1 t$ y3 h' \5 u( q- rResponse.Write "</TABLE>"
$ O* Q& U$ O) ~! _4 t9 s0 W6 m7 k7 x7 S2 N5 i4 y- w1 b, I) y* M' F; a% f; G
26.& z6 O$ Z7 B& Q n: C: r5 y
本机ip<%=request.servervariables("remote_addr")%>
: k9 Y8 m8 U8 ^$ \9 g6 W& z服务器名<%=Request.ServerVariables("SERVER_NAME")%>
- {/ J& J% E/ Q% D服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>
1 h4 D5 m& h4 H: s% q& i: \服务器端口<%=Request.ServerVariables("SERVER_PORT")%>
8 Y" }: B$ |" h( D. R. c服务器时间<%=now%>
: S& ]2 M, g1 q, O; nIIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>
$ s- t$ s# E3 ?9 X2 c1 N, r脚本超时时间<%=Server.ScriptTimeout%>
' C+ f0 C! E6 n0 x. Z2 e" D本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>8 ?3 }1 a7 R. J5 L5 K, O) M$ S
服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%># n; Q! Z) x( | W8 m& j
服务器解译引擎<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
7 c3 t# d1 R/ Q& E: Z" Z0 u服务器操作系统<%=Request.ServerVariables("OS")%>" P, y( F+ [7 y, p1 x5 ~; a
# H% [$ b5 d% @& g; a" N9 k" p
27.ENTER键可以让光标移到下一个输入框. o8 Z2 X4 C- X2 Y
<input onkeydown="if(event.keyCode==13)event.keyCode=9">
( J2 l v, Y0 y* \3 r" H; ~8 H2 {' d0 c8 F% a8 ?: l
28. 检测某个网站的链接速度:) W# R4 w7 l) y; ?; P
把如下代码加入<body>区域中:2 Q0 J% \" d* @% l
<script language=javascript>1 [: E& r j" ]+ j/ d- ]( j/ M
tim=1) ?6 e* C; v2 }7 w6 Y/ e
setInterval("tim++",100)
4 ^8 p$ a+ p$ D+ v) s& Yb=1& ?$ P: q! g2 l6 o1 w( }3 A- m
7 V3 Z$ p: B2 q
var autourl=new Array()7 o4 ?7 `# M% {5 I. s0 x
autourl[1]="www.njcatv.net"
! h; \8 L% A/ u7 b1 m) Q* Tautourl[2]="javacool.3322.net"
4 \1 [- m+ o) [8 h: ~* pautourl[3]="www.sina.com.cn"
% _# S# J. B, k" d0 |8 z: ?9 w2 dautourl[4]="www.nuaa.edu.cn"- \6 b" v9 {) W, O! E$ b- L7 @
autourl[5]="www.cctv.com". V2 j( v; x# d; k1 q
+ I. D! v8 g) t
function butt(){
& u+ Q* P" e) q& j* Sdocument.write("<form name=autof>")
" X0 F2 p: |( u; K) J( t8 _5 cfor(var i=1;i<autourl.length;i++)% M |. ^/ N1 O! O5 M) e4 J7 B9 z
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>")! G! }8 ?0 n/ ]9 A& O
document.write("<input type=submit value=刷新></form>")
; K0 J& @, p0 q K# O( [}2 ]/ U* C: |2 l2 u3 k8 \
butt()
# l! o( `: y( n. lfunction auto(url){
9 ]* y! u0 P- _. o& Ydocument.forms[0]["url"+b].value=url
$ [- M* G1 G# a! d3 d' g tif(tim>200)
" k" e# }& q2 z' [6 y0 R{document.forms[0]["txt"+b].value="链接超时"}* k. `2 j2 M7 `$ G8 H6 Y' ~
else0 I& q9 l! N% z! s. S- t
{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}
5 H$ y1 Q: [! e5 R' x6 ab++0 J; E+ |0 E9 F1 T+ ~4 n
}+ P( ]( K |& V) F% y
function 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+"')>")}
# \: F0 O+ q) ?( g3 y! erun()</script>
/ j' y% ~$ \& y7 X0 t- p* I; }5 N2 |
29. 各种样式的光标6 o2 v4 O9 p5 V; k8 ?
auto :标准光标
2 t( |) v# Y' H0 |7 x4 tdefault :标准箭头
9 f8 E- d. \% U% a# G, \* l9 _hand :手形光标- v9 I3 }3 ^) m0 C) `/ I1 o, _( U
wait :等待光标
! y$ }" x$ O/ \$ ~& I) ?text :I形光标& R; c3 Q) n0 I" z1 _( O& q
vertical-text :水平I形光标
/ J. e/ J3 ?- f9 Zno-drop :不可拖动光标
( e& `, X7 X A3 m' p/ K" W% N C: G) dnot-allowed :无效光标/ @- E0 _+ Q' v- p7 L5 l) d5 [
help :?帮助光标' Y3 r* _' E2 F$ }3 S" S
all-scroll :三角方向标
/ T! S' d) s/ X5 q5 Amove :移动标
$ m4 Y; A. m+ P1 W3 zcrosshair :十字标: l3 x" o) z; ^7 X% z
e-resize
$ r" M9 Y1 d; N( w* ~n-resize
1 w7 G% a, V# R& r5 V3 E. Pnw-resize2 T, @, T& J1 v6 ~ W! p4 n C
w-resize
8 d; x+ D- m; V5 Rs-resize
& H/ }8 n" O Y* e r: sse-resize" g: p0 K& X) o" H Y; Z
sw-resize0 P Z0 h/ E' i% a/ p- X
上面的错误
& l; e. n9 v) y<body oncontextmenu="return false"> 将彻底屏蔽鼠标右键
1 c8 x5 V, t/ w: H1 ]0 |5 B2 Y4 o- g! y/ E7 e% k @
这个是彻底的!但是在下觉得都是自欺欺人的东西
7 c X0 @' \% t- ^1 q2 F<script language="javascript">
- A% I- x% ]7 ^! o<!--6 z# `/ o: X/ s% ^( R# O
( J, [$ M/ \4 o. ]) T; m6 N @' ~
if (window.Event)
" C7 b1 T Z p2 \5 P" o) L( v8 Fdocument.captureEvents(Event.MOUSEUP);
. W, f: h+ D) _# C0 e: k2 T) s4 E8 g5 E- h
function nocontextmenu() : T/ x2 |/ g6 W& \3 {1 Y/ w$ Y
{+ J* ?* t% x0 P+ f$ a
event.cancelBubble = true& Y" R9 B5 t+ X4 q
event.returnvalue = false;
6 O$ a7 b$ T0 _2 c4 P/ h& y0 {% z/ F+ t
3 c$ @9 ~& ~6 Ireturn false;! d3 q+ Y0 E! N9 @
}( \. p+ s5 x7 h% {# [
) b+ ^* H! L. B- g2 A# y1 ?: ~+ vfunction norightclick(e) $ ]( y2 q! [3 j2 N
{
0 W8 S! K' b+ N7 B* U W& ?if (window.Event) o/ _" y1 P# n% D; N
{
, a, D9 _) h# oif (e.which == 2 || e.which == 3)
A: Y& ]8 T( {5 T, I. dreturn false;4 z* j$ e1 j& T: f
}
# r3 D9 k" I2 j. Q+ S _! v+ helse1 _% ~+ C% f: o4 ~+ Z' M
if (event.button == 2 || event.button == 3)
. m0 N' O9 w7 `% |{5 P, F' C2 x- g; b8 M
event.cancelBubble = true; f" \- D* R& o5 K. g0 Q
event.returnvalue = false;
' ~' w4 O5 Q. C" A8 l" X+ J2 o* Hreturn false;9 f( n! Z0 X: T& R- [5 e
}
. c0 _7 h4 d F @# ^
: Q# Z3 F6 {, A+ I' _$ L}
" R/ F7 y- |) `* s( ?
3 ]4 p% K; a6 t0 x4 v3 F- r- c* N+ Fdocument.oncontextmenu = nocontextmenu; // for IE5+
' K! j. o3 J! |" e5 Ydocument.onmousedown = norightclick; // for all others! a6 H E& N7 S# s4 C! G0 {
//-->
6 Y4 J; I$ L; S2 B</script>
6 R7 t# w O9 H1 g8 c9 ]
' I2 J+ l/ s3 e3 z2 r$ s5 m4 T4 J) s& j) \5 ]
) j" w9 M7 \+ M% |* ^* W, L/ U% r' H
, X8 l) ]7 [: S) r
6 U* `% z* d3 B; `彻底禁止右键快捷菜单的出现呢?其实只要将上述代码做如下修改即可。 3 m Z) \; z9 R6 k( m+ d4 t: _
7 u$ o2 y( H, O$ o, y< Script Language=javascript> 2 M' K" H6 d2 x$ q0 B, b
function Click(){ / x" t, K7 y. C: u7 I4 E) G
alert('版权所有(C)2001 XXX工作室');
+ O* v5 v$ u' v5 N* a' B! y0 K# Swindow.event.returnvalue=false;
5 b7 Y+ d$ Z8 Y, V( {3 w+ a4 F}
6 ?# A1 P) r6 S Hdocument.oncontextmenu=Click;
3 s/ ~) Y3 G3 f9 |5 ]' `< /Script>
& R* {2 T6 N: n+ ~% x5 ^3 \0 F0 R- |
这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键入"javascript:alert(document.oncontextmenu='')",就可以解除对右键菜单的屏蔽。对这类访问者怎样防范呢?其实,把地址栏隐藏掉就可以了,具体方法见本文介绍的"屏蔽窗口菜单栏查看方式"。
; c5 M' r# [) \! ]" j
7 O b7 m) ^8 ?3 [, P! [) p, b6 U) [# r1 w
/ X4 C; A+ h9 I4 E& E8 X; y
屏蔽窗口菜单栏查看方式 / ?7 }7 c1 u9 Z8 i; F0 d& Q, Y G
% o! d4 U+ G' C( X) }& G4 Q" |
制作过网页的朋友都知道,对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单栏和地址栏隐藏,不就可以屏蔽窗口菜单栏查看方式了吗?实现代码如下: : v. S! A! c* w* p7 r( i+ n4 M/ s
5 R- u/ h* @. |< Head> 9 d) B' c' K- r) W( ?" h
< Object id=closes type="application/x-oleobject"
2 k, o6 f1 W; P: @4 O/ ]+ Aclassid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> ; q' f8 v3 ~) a* y9 k. g1 X3 j
< Param name="Command" value="Close"> 9 E7 D7 }" t. H' e' ~+ d
< /Object> 2 S0 o. P! {7 x3 C
< /Head>
* w4 G4 O/ e. \( ~< Body>
) r. s8 p* [% |# F) M< Script Language=javascript> : _9 m/ M v: m! Q8 ?
closes.Click()
- h i4 C) |9 A% _window.open("XXX.htm","","menubar=no,location=no,
; C. R: w& L4 W, S4 G/ Dscrollbars=yes,resizable=yes") 7 Y. M- S8 n( ^0 O
< /Script> 4 f8 A- p2 e) D
< /Body>
6 G* _+ V$ @9 g( O+ z' U
% D7 N/ D1 h! M0 o这种方法的原理就是首先将自己网站的首页制作成index.htm形式,把首页设计成一个过渡页。然后将自己的真正主页制作成default.htm形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。
, P2 T3 N1 \+ B2 k- ^+ g; ^0 Z8 M/ z, P1 Q6 o
附:源代码清单
8 ~( o4 d" |+ x& q, c2 Dindex.htm 1 C" m( J% y! R" I
< Head>
4 I; b3 W- H- p: B< Object id=closes type="application/x-oleobject" classid="clsid:
0 a. y" l' r# O- k nadb880a6-d8ff-11cf-9377-00aa003b7a11"> : k! x) l- F& l; U7 w0 ^: Y
< Param name="Command" value="Close">
/ Y$ F0 P, v, M8 c: A2 V< /Object>
" r, t% ] `/ H- s$ k< /Head>
5 H) w& ~% \ Z5 p; h# n$ R1 K< Body> # M1 | c. I+ J M5 @. _% w) P$ n
< Script Language=javascript> 5 ^$ x. J- G8 A% V& C/ b/ K; A
closes.Click()
' H9 s6 h- S, d! N0 l7 fwindow.open("defalut.htm","","menubar=no,location=no, 9 `4 c4 |* m" `0 f
scrollbars=yes,resizable=yes")
3 d% f9 _, i+ Q) b( }1 x< /Script> " \) B0 k, S1 {& a% C
< /Body>
3 y) ~' i6 H! h" M& vdefault.htm " J2 p) z/ g' z1 A- ]& _( o- v$ \
< Html> `& W, @0 ]3 m( h$ Q+ n6 C
< Head> 8 l5 w. r6 Y- i# p4 \
< Script Language=javascript>
~. ]! @0 b6 ~4 J" t. }function Click(){ ( x9 c; Q" S2 X- k
alert('版权所有(C)2001 XXX工作室'); 0 q X1 x. u, C, g C3 m/ k7 Z
window.event.returnvalue=false;
[4 Q# {4 y" Q, p} / C/ T6 E$ \( s7 g# k( H) ]
document.oncontextmenu=Click; % W* i! j& d3 U( D6 d" u" k4 Z$ l
< /Script> & b. M' b7 D+ }4 L' `
< /Head>
# l/ W" t7 J' n4 P1 b< Body>
' y+ {6 f2 ^! h3 Z6 j; e5 e+ q! L1 `... ...
& q# `+ H/ E& ]; q3 M. T; r< /Body> 9 k, y( R+ L6 z' y
< /Html> |
|