发新话题
打印

[技术] 客户端脚本,非常值得草根站长收藏!

客户端脚本,非常值得草根站长收藏!

〓简介〓) U0 E3 ^+ A, A0 B- r, M+ [/ W
屏闭右键,防止别人Frame,不准粘帖,不准复制,IE限制自己的图标,网页另存,查看网页代码,等等!
  r% p0 y( [2 _0 V5 b6 A
) G# f6 `; a9 C* w) H: {4 e〓正文〓
; `( s1 P: R- }5 H' B' F+ Q5 U1.        将彻底屏蔽鼠标右键  
7 Q& Z9 a% W2 A! _- N% C    <table border oncontextmenu=return(false)><td>no</table>   可用于Table  
8 |" M( H! f2 R6 P% d/ o7 o  {
4 l2 I5 f2 t; o( D$ l2.  <body >                 取消选取、防止复制  . a1 d1 C+ R7 L3 B% U3 L/ b" v, j
% K1 |) \% V+ @0 x2 h
3.                                          不准粘贴  
9 p9 C( @8 D7 r6 ]
* P: Q* r/ S- Z/ X4.                     防止复制  ) Y- Q/ ]- V8 o% P

3 C" B% v  ?3 f- W4 ]- G) z/ v5.  <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标  
* [+ o" x' D5 M3 k9 |3 I3 l6 X9 Y6 ^/ W
6.  <link rel="Bookmark" href="favicon.ico">  可以在收藏夹中显示出你的图标    N; K4 @8 x+ R* O9 S
" |* s" P2 \  _4 L
7.  <input style="ime-mode:disabled">                           关闭输入法  4 F5 Y  i* e1 \# d# i

2 O  q+ r6 ]- F' x3 o" ]8.  永远都会带着框架  & ^! |% V& H) W
<script language="javascript"><!--  / F0 b2 Z% n9 _8 e
  if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页  
% ?; C, Q, O  ^2 |! A// --></script>  
$ @1 X( J8 W" l$ i8 `; s
* u" R6 @% U+ e+ I" b. J/ w9.  防止被人frame  
* i7 W! n; D" L; V<SCRIPT LANGUAGE=javascript><!--   
7 O' b+ d  ?1 S5 |2 V: w0 L( p  if (top.location != self.location)top.location=self.location;  
: ~1 W0 O+ t& u, k. Y* ^// --></SCRIPT>  ; O: M2 h) Z/ w* \4 c
. R9 w  }. b/ M& W& k4 s, _  S
10. <noscript><iframe src=*.html></iframe></noscript>     网页将不能被另存为  
  B# G7 e$ T1 o0 @8 Q6 p5 g
, O6 H' n9 b8 Z# V' E11. <input type=button value=查看网页源代码   
' q3 W) S; Q' \, |, L>  4 a4 {$ U) e3 C5 _; M; l; m

' T2 {6 F* o9 O6 V- Q: @12. 怎样通过asp的手段来检查来访者是否用了代理  - y& |; P2 @! y0 K
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then  
: R/ j- K8 q+ bresponse.write "<font color=#FF0000>您通过了代理服务器,"& _  ' o; m$ l# |6 ], \
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")  ( e' u, J" ?9 j; W/ j
end if  
) q7 C. u, o' P, l/ x' U%>  
# A' L( Y9 }% `& E+ a. T
4 k6 z1 @! u1 o13. 取得控件的绝对位置  
. v2 L; N/ {0 ~/ j3 D+ x
5 F- [  P& C" ^5 K# a//javascript  
7 o. h  m2 L8 n% H$ X' V<script language="javascript">  3 u& L, a+ n, R  e6 I4 ], `
function getIE(e){  0 W7 L8 k7 s9 `
  var t=e.offsetTop;  ( v1 P9 }! }6 {" Y
  var l=e.offsetLeft;  
3 P" X4 P& J0 ?; y. l8 a+ F. ]  while(e=e.offsetParent){  
" m& V& d6 D, V2 j) S2 ]5 \% F4 R    t+=e.offsetTop;  
. `9 v7 B4 m( `2 ~3 n" m' y    l+=e.offsetLeft;  
; A! H% ?& J6 C# s( ^    }  
4 E7 U. \& g$ w8 h& B0 _0 H  alert("top="+t+"\nleft="+l);  
6 E/ l" u' K' F3 y  }  
- K/ {* J% r9 o0 ]) D</script>  - x, ~" }" @3 @3 `
' a; y/ |/ X/ \8 }! n  {
//VBScript  * n3 l  T: E& q# d3 w4 j
<script language="VBScript"><!--  ( ^9 r$ r/ j3 e* ?+ u
function getIE()  # E  v4 p0 M# A+ o. d# ~
  dim t,l,a,b  ' G5 v7 B2 M9 X1 W
  set a=document.all.img1  3 S& o' [) V' [) `( p% i
  t=document.all.img1.offsetTop    k* O& S- F5 k2 }/ z( Y& K  o0 ?
  l=document.all.img1.offsetLeft  6 Z7 {) S5 [' \6 J
  while a.tagName<>"BODY"  
" u: d3 L8 y: N' O    set a = a.offsetParent  ' s) u1 k6 m8 e4 L/ F7 m
    t=t+a.offsetTop  % {/ t5 m8 @# A$ @% O1 p
    l=l+a.offsetLeft  9 ~9 I3 s1 z" j; f6 l
  wend  
, p3 J* ~6 c+ N/ u  msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"  7 P; @) ?# H- p3 q! n( {- g
end function  
( Y1 q* a# t# x4 i--></script>  4 j! c8 n( E. W: C% Y# @+ j

1 z- o& A! j1 S+ j14. 光标是停在文本框文字的最后
6 k% m! W. O* A( R7 j& a% Z<script language="javascript">  function cc()  {    var e = event.srcElement;    var r =e.createTextRange();    r.moveStart('character',e.value.length);    r.collapse(true);    r.select();  }  </script>  <input type=text name=text1 value="123" >  : b4 g( t9 Q5 }9 m& _
    提示:您可以先修改部分代码再运行
' c. M4 ], \- z/ w% z" P15. 判断上一页的来源  
9 ~/ R: g; n% r# ~& U6 _3 `% Masp:  , q5 E$ p' T" n0 p0 u  A6 r' p# V
request.servervariables("HTTP_REFERER")  
& N( @; @. o0 l. p0 y& b# z7 e/ \) C6 W' V
javascript:  ! l6 q( L+ v8 M6 m5 N3 k3 H' h
document.referrer  
$ `: {( {7 E1 A0 b8 z3 M" O
2 S# w) H0 y, M! A4 ^2 l16. 最小化、最大化、关闭窗口  & x1 @( L6 l, d. Y8 h9 T
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">   6 L1 |% N6 o. K" S' b
<param name="Command" value="Minimize"></object>  ( T  w7 q5 O2 `5 x' r& A& J& l
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">   4 }& e% M" Z1 h' s
<param name="Command" value="Maximize"></object>  9 l: ]" R5 P0 \4 h2 F
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">  
3 s! K4 c- o( y* ]( X<PARAM NAME="Command" value="Close"></OBJECT>    @# ], s7 n, T! }/ ^
5 D4 ^% A4 m& E/ a" C: }
<input type=button value=最小化 onclick=hh1.Click()>  ( l, {+ Z1 F7 _/ I1 e4 O
<input type=button value=最大化 onclick=hh2.Click()>  
, C9 {; H% p2 Y2 k  l) V9 ^<input type=button value=关闭 onclick=hh3.Click()>  
- _) c6 `( d" K" l2 u本例适用于IE  
  O% W9 M/ N$ Q: }3 U+ {7 F/ H7 y) t. b- g; T
17.   
2 S% b+ N0 [0 E3 o5 s# E. d- U<%  
1 U* b2 a3 y) E* q; ]/ U'定义数据库连接的一些常量  
0 B7 `: G0 |% W/ s, G3 c* C4 AConst adOpenForwardOnly     = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark  # _$ ]. C, W& E1 V3 X
Const adOpenKeyset          = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark  ! `) H/ \! g9 h/ C0 T
Const adOpenDynamic         = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。  . ^; B  q1 Z% B' d- T6 k
Const adOpenStatic          = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动  : z/ `- R8 Z7 y, Q
" x$ O" B: R! c8 f
Const adLockReadOnly        = 1 '锁定类型,默认的,只读,不能作任何修改  7 @' H; t3 o4 T1 u2 F, H0 w
Const adLockPessimistic     = 2 '当编辑时立即锁定记录,最安全的方式  
, E) x- \3 b9 E9 R' cConst adLockOptimistic      = 3 '只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等  
& E4 h- i( Q1 F" _: j+ u3 r" ]Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的  
# L, m  P: W1 V1 v. K9 M
9 E2 m% t; r& U6 cConst adCmdText  = &H0001  / s  W. M( Q# A! r8 g: m4 }& G
Const adCmdTable = &H0002  
7 H3 c  {" h6 F* v! I%>  / |8 C4 f8 Q3 [! q( L
$ A! K7 @2 ]  }5 q
18. 网页不会被缓存  
6 K6 s' ^  M. X; U1 d, X: U9 h8 PHTM网页  2 `- d: o7 O# L( U5 o7 @
<META HTTP-EQUIV="pragma" C>  & k6 S" Z# s+ {+ n. d* k
<META HTTP-EQUIV="Cache-Control" C>  
; d  x/ w* m6 d! q. D<META HTTP-EQUIV="expires" C>  4 q9 r9 C6 [) ]5 j  t8 t. \% o
或者<META HTTP-EQUIV="expires" C>  
( T5 m! \4 z3 ^$ a; t% i/ PASP网页  % V# T& e1 f0 B; k1 _0 ?* ?3 f# x
  Response.Expires = -1  
4 w2 f! }+ [) c# }. f. r8 [- K  Response.ExpiresAbsolute = Now() - 1  
1 b4 l( b+ s: J& @. h  Response.cachec  : |: P# l$ P" \+ m+ f( _* y( p
PHP网页  
, ~8 D  R# ^$ P, d" Xheader("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  
* |/ m! h2 R8 S" ]5 {0 Lheader("Cache-Control: no-cache, must-revalidate");  2 E% c. F. E* O; N
header("Pragma: no-cache");  
1 ]3 f9 M& A! q2 d9 \. g4 L, e2 l( R& z, o3 m2 m
$ a. k  P$ `% x
19. 检查一段字符串是否全由数字组成+ i) W4 n- l( C+ g( @& u- W7 P$ I
<script language="javascript"><!--  function checkNum(str){return str.match(/\D/)==null}  alert(checkNum("1232142141"))  alert(checkNum("123214214a1"))  // --></script>  - P5 H' x: n% {4 n! Q; Z
    提示:您可以先修改部分代码再运行. H  ?! _. O' i6 t$ k
20. 获得一个窗口的大小  
; I( B: m9 Z6 c" i, D3 tdocument.body.clientWidth,document.body.clientHeight  % G7 `9 ~+ A$ ]- j

6 K6 I; i* k: f. @21. 怎么判断是否是字符  
5 a5 I4 m; D3 i; @1 U. hif (/[^\x00-\xff]/g.test(s)) alert("含有汉字");  1 t4 A' O% F+ q
else alert("全是字符");  , E2 [8 N4 u5 n4 O
7 }) p% f0 _" g' r% L: R1 O
22.TEXTAREA自适应文字行数的多少
9 h) f0 A+ p! ?9 o+ }4 @<textarea rows=1 name=s1 cols=27 >  </textarea>  
0 s& f8 F# B. D" X8 u    提示:您可以先修改部分代码再运行
0 Y6 O$ r' |3 s7 ^- I5 \) a" g! l" G23. 日期减去天数等于第二个日期2 J3 }, ~3 Q0 i! j5 ~  n
<script language=javascript>  function cc(dd,dadd)  {  //可以加上错误处理  var a = new Date(dd)  a = a.valueOf()  a = a - dadd * 24 * 60 * 60 * 1000  a = new Date(a)  alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")  }  cc("12/23/2002",2)  </script>  
! K: M1 T6 z8 G: i    提示:您可以先修改部分代码再运行
* G# O5 N$ O1 V$ n' o0 a) m: I: R24. 选择了哪一个Radio$ N+ w& z, L  R! C9 Q
<script language="vbscript">  function checkme()    for each ob in radio1      if ob.checked then window.alert ob.value    next  end function  </script><BODY>  <INPUT name="radio1" type="radio" value="style" checked>Style  <INPUT name="radio1" type="radio" value="barcode">Barcode  <INPUT type="button" value="check" >  </BODY>
# x3 F, [- Z# y, h- b    提示:您可以先修改部分代码再运行
* N5 V# D* J5 G# [7 @# Y25.获得本页url的request.servervariables("")集合  
3 T( n5 m# Y& B1 z7 f1 L1 JResponse.Write "<TABLE border=1><!-- Table Header --><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>"  
4 j0 c! @6 f/ q  Lfor each ob in Request.ServerVariables  0 }1 n" b2 }# X  U, H& Y0 ]
Response.Write "<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"  
9 S; i  X9 \2 nnext  
+ N* _- z8 h+ X- qResponse.Write "</TABLE>"  
' w  d/ k3 I( Q, d" r+ T9 P8 m1 {9 N/ {9 [2 m5 Y2 |+ M3 A8 F% U
26.  $ `6 Y: J# d+ m9 \4 v9 d. L1 C
本机ip<%=request.servervariables("remote_addr")%>  
3 j1 T, l9 T: y服务器名<%=Request.ServerVariables("SERVER_NAME")%>  * t! v( ^# \/ X# c
服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>  
' ?  \4 F5 O$ w5 E2 T* X; j服务器端口<%=Request.ServerVariables("SERVER_PORT")%>  
: k% U7 h3 q" X( f8 `4 ]8 s$ N服务器时间<%=now%>  
& Z  D& e* y" YIIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>  , i; M, ~: D# \2 @0 T+ S- P2 Q
脚本超时时间<%=Server.ScriptTimeout%>  
& W0 d7 }8 Z/ d1 u0 N本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>  9 n) n3 l8 E9 _/ r: ~5 p( h2 `; [) G
服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>  
, R# c; C- f3 h服务器解译引擎<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>  
0 p4 t" z0 a/ k# s" n服务器操作系统<%=Request.ServerVariables("OS")%>  " _; }4 Y9 d. N

6 h& z6 a7 n2 G27.ENTER键可以让光标移到下一个输入框
+ {3 P3 J& q% N3 j<input > # {% S- f+ W' Q+ ~1 _- C
    提示:您可以先修改部分代码再运行- o5 F, U! L# b6 }- d! k9 L
28. 检测某个网站的链接速度:  6 r) ]* H/ k+ I3 b
把如下代码加入<body>区域中:
! c3 B" J* L. v5 ^+ ]# }7 T; V<script language=javascript>  tim=1  setInterval("tim++",100)  b=1  var autourl=new Array()  autourl[1]=" www.goshyboy.com"  autourl[2]="javacool.3322.net"  autourl[3]=" www.sina.com.cn"  autourl[4]="www.nuaa.edu.cn"  autourl[5]=" www.cctv.com"  function butt(){  document.write("<form name=autof>")  for(var i=1;i<autourl.length;i++)  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/>")  document.write("<input type=submit value=刷新></form>")  }  butt()  function auto(url){  document.forms[0]["url"+b].value=url  if(tim>200)  {document.forms[0]["txt"+b].value="链接超时"}  else  {document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}  b++  }  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+"')>")}  run()</script>  7 X: D: n/ b5 O9 \: f
    提示:您可以先修改部分代码再运行
) r6 ^5 p% n! }29. 各种样式的光标  
8 U: ]6 [; |! C* b6 d7 F. P) R$ ?1 Rauto          :标准光标  4 G6 x2 B9 S6 k2 b! e; y, [
default       :标准箭头  
/ G/ n$ K+ E3 ^! V1 D3 b$ Nhand          :手形光标  
. i% ~  ?: J6 i, j4 m7 `' ~; Hwait          :等待光标  ! E+ E# F% E: X  X! u
text          :I形光标  
7 G/ m& [6 q1 \7 V6 c3 _$ }vertical-text :水平I形光标  " u$ u+ b' D3 K, R% m% b
no-drop       :不可拖动光标  . ~  `- I; `) x% J
not-allowed   :无效光标  
$ [% }# Z2 A$ Thelp          :?帮助光标  0 @$ q& R3 t  S
all-scroll    :三角方向标  
! E- @: f1 }# _move          :移动标  7 t% j1 _4 g6 o% R. s
crosshair     :十字标  
7 |/ ], W! W5 B) \7 s; l3 n9 ze-resize  
" G$ ?- G% B6 s. m% v4 Cn-resize  . ?7 b6 a) |! [9 u2 `, o- e
nw-resize  
* w# G! Q  g1 O, c. t1 n) pw-resize  
0 \9 w9 u8 [0 A: _: z8 js-resize  
8 R4 N9 ?0 T8 x8 H- Y( gse-resize  
4 T# ~1 Z: X1 N, asw-resize

- ]/ s9 p- x8 ~( ]
: o5 r* u; L4 i8 r7 x[ 本帖最后由 金不换 于 2008-6-13 14:22 编辑 ]
本帖最近评分记录
  • 阿祥 金币 +5 感谢支持!草根有你更精彩! 2008-6-13 22:36
http://www.jz0234.cn/

TOP

有些还是相当适用的

TOP

谢谢楼主````````

TOP

发新话题