javascript技巧

来源:互联网 发布:日知古典丛书pdf 编辑:程序博客网 时间:2024/05/17 23:31
  1. function getInfo()
    {
    var s = "";
    s += " 网页可见区域宽:"+ document.body.clientWidth+" ";
    s += " 网页可见区域高:"+ document.body.clientHeight+" ";
    s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)"+" ";
    s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)"+" ";
    s += " 网页正文全文宽:"+ document.body.scrollWidth+" ";
    s += " 网页正文全文高:"+ document.body.scrollHeight+" ";
    s += " 网页被卷去的高(ff):"+ document.body.scrollTop+" ";
    s += " 网页被卷去的高(ie):"+ document.documentElement.scrollTop+" ";
    s += " 网页被卷去的左:"+ document.body.scrollLeft+" ";
    s += " 网页正文部分上:"+ window.screenTop+" ";
    s += " 网页正文部分左:"+ window.screenLeft+" ";
    s += " 屏幕分辨率的高:"+ window.screen.height+" ";
    s += " 屏幕分辨率的宽:"+ window.screen.width+" ";
    s += " 屏幕可用工作区高度:"+ window.screen.availHeight+" ";
    s += " 屏幕可用工作区宽度:"+ window.screen.availWidth+" ";
    s += " 你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色"+" ";
    s += " 你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸"+" ";
    s += " window的页面可视部分实际高度(ff) "+window.innerHeight+" ";
    alert (s);
    }
    一).确认删除用法: 
  2.   1. BtnDel.Attributes.Add("onclick","return confirm('"+"确认删除?"+"')"); 
  3.   2. linktempDelete.Attributes["onclick"]="javascript:return  confirm('"+"确认删除?"+"');"
  4.   3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e) 
  5.   4. 
  6.   { 
  7. if ((e.Item.ItemType == ListItemType.Item) ¦ (e.Item.ItemType == ListItemType.AlternatingItem)) 
  8.   // 刪除按鈕上的提示部分 
  9.   e.Item.Cells[10].Attributes.Add("onclick""return confirm('确定删除吗?');"); 
  10. }  
  11.   } 
  12.   5. 
  13.     <script language="JavaScript" type="text/JavaScript"
  14. function delete_y(e) 
  15.         { 
  16.     if(event.srcElement.outerText == "删除"
  17.         event.returnValue=confirm("确定删除?"); 
  18. phperz.com
  19. document.onclick=delete_y; 
  20.     </script> 
  21. (二).跨语言字符串替换 
  22.     System.Text.RegularExpressions.Regex.Replace(str1,@" <{1}[^ <>]*>{1}","").Replace(" ","").Replace("/","//").Replace("-","-").Replace("&","").Replace("<"," <").Replace(">",">").Replace("br","/n"); 
  23. (三).关闭窗体 
  24.   1. 
  25.       this.btnClose.Attributes.Add("onclick",  "window.close();return false;"); 
  26.   2.关闭本窗体间跳转到另一个页面 
  27.       this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign 
  28.         ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();"; phperz.com 
  29.   3.关闭父窗体: 
  30.       <INPUT type="reset" value=' <%=this._Cancel%>' onclick="window.parent.close()"  Class="Button"
  31.   4.关闭本弹出窗体,并刷新父页面 
  32.       this.Response.Write(" <script language='javascript'>window.opener.location.reload();window.close(); </script>"); 
  33. (四).Web MessageBox  
  34.   1. 
  35.       Response.Write(" <script language=javascript> window.alert('保存成功1'); </script>"); 
  36.   2. 
  37.       Response.Write(" <script>alert('"+"保存成功!"+"'); </script>"); 
  38.   3. 
  39.       this.Page.RegisterStartupScript("ChiName"," <script language='javascript'>alert('" + "保存成功!" + "') </script>"); 
  40. (五).DataGrid中加CheckBox控件模板列. 
  41.   请看:  http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx 
  42. php程序员站
  43. (六). window.open() 方法 
  44. 语法:window.open(pageurl,name,parameters); 
  45. window对象的open()方法用于创建一个新的窗口实例,新创建的窗口的外观由参数:parameters指定。新窗口中打开的文档由参数:        pageurl指定。系统能够根据参数:name确定的名称访问该窗口。 
  46.         下表为parameters参数表: 
  47.         参数          衩始值          说明 
  48.         alwaysLowered yes/no 指定窗口隐藏在所有窗口之下。 
  49.         alwaysRaised yes/no 指定窗口浮在所有窗口之上。 
  50.         dependent yes/no 指定打开的窗口为父窗口的一个了窗口。并随父窗口的关闭而关闭。 
  51.         directions yes/no 指定Navigator 2和3的目录栏是否在新窗口中可见。 
  52.         height pixel value 设定新窗口的像素高度。 
  53.         hotkeys yes/no 在没有菜单栏的新窗口设置安全退出热键。 
  54.         innerHeight pixel value 设置新窗口中文档的像素高度。 phperz~com 
  55.         innerWidth pixel value 设置新窗口中文档的像素宽度。 
  56.         location yes/ no 指明位置栏在新窗口中是否可见。 
  57.         menubar yes /no 指明菜单栏在新窗口中是否可见。 
  58.         outerHeight pixel value 设定窗口(包括装饰边框)的像素高度。 
  59.         outerWidth pixel value 设定窗口(包括装饰边框)的像素宽度。 
  60.         resizable yes /no 指明新窗口是否可以调整。 
  61.         screenX pixel value 设定新窗口离屏幕边界的像素长度。 
  62.         screenY pixel value 设定新窗口离屏幕上边界的像素长度。 
  63.         scrollbars yes /no 指明滚动栏在新窗口中是否可见。 
  64.         titlebar yes /no 指明菜单题目栏在新窗口是否可见。 
  65.         toolbar yes /no 指明工具栏在新窗口中是否可见。 
  66.         Width pixel value 设定窗口的像素宽度。 
  67.         z-look yes /no 在文档中包含各个 <pplet>标签的数组。 php程序员站 
  68.         fullscreen yes / no 打开的窗体是否进行全屏显示 
  69.         left pixel value 设定新窗口距屏幕左方的距离 
  70.         top pixel value 设定新窗口距屏幕上方的距离 
  71.   
  72.       例子: 
  73.         <html> 
  74.           <head> 
  75.               <title>window.open函数 </title> 
  76.           </head> 
  77.           <body> 
  78.               <script language="javascript"
  79.                   <!-- 
  80.                 window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); 
  81.                     //-->  
  82.               </script> 
  83.           </body> 
  84.         </html> 
  85. (七).location对象    
  86.     href 整个URL字符串. 
  87.     protocol 含有URL第一部分的字符串,如http: 
  88.     host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ 
  89.     hostname 包含URL中主机名的字符串.如http://www.cenpok.net 
  90.     port 包含URL中可能存在的端口号字符串. 
  91.     pathname URL中"/"以后的部分.如~list/index.htm 
  92.     hash "#"号(CGI参数)之后的字符串. 
  93.     search "?"号(CGI参数)之后的字符串. 
  94. (八).按键捕捉 
  95.   1.Ctrl+Enter按键捕捉方法 
  96.     <body onkeydown="doKeyDown()"
  97.     <script language="JavaScript"
  98.     <!-- 
  99.     function doKeyDown() 
  100.     { php程序员之家 
  101.         if (event.ctrlKey && event.keyCode == 13) 
  102.         { 
  103.           alert("You pressed the Ctrl + Enter"
  104.         } 
  105.     } 
  106.     //--> 
  107.     </script> 
  108.     </body> 
  109.   2.Alt加快捷键: Alt+A 
  110.     <button accessKey=A title="Alt+A" onclick="alert('Button clicked!')">Alt+A </button> 
  111. (九).控制输入,非法字符不能输入到TextBox. 
  112.     <asp:textbox class="Text" 
  113.         onkeypress="if (event.keyCode < 48 ¦ ¦ event.keyCode >57) event.returnValue = false;" 
  114. id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12"
  115.     </asp:textbox> 
  116.     说明: 此方法控制TextBox只收数字:0~9 , 也自可以定义其它可输入字符,如改成: 65~123,只允许输入: a~z和A~Z 等. 
  117. [以下为收藏] 
  118. 1>屏蔽功能类 
  119. 1.1 屏蔽键盘所有键 
  120. <script language="javascript"
  121. <!-- 
  122. function document.onkeydown(){ 
  123.   event.keyCode = 0; 
  124.   event.returnvalue = false
  125. --> 
  126. </script> 
  127. 1.2 屏蔽鼠标右键 
  128. 在body标签里加上oncontextmenu=self.event.returnvalue=false 
  129. 或者 
  130. <script language="javascript"
  131. <!-- 
  132. function document.oncontextmenu() 
  133.   return false
  134. --> 
  135. </script> 
  136. function nocontextmenu() 
  137.     if(document.all) { 
  138.         event.cancelBubble=true
  139.         event.returnvalue=false
  140.         return false
  141.     } 
  142. 或者 
  143. <body onmousedown="rclick()" oncontextmenu= "nocontextmenu()"
  144. <script language="javascript"
  145. php程序员站
  146. <!-- 
  147. function rclick() 
  148.     if(document.all) { 
  149.         if (event.button == 2){ 
  150.             event.returnvalue=false
  151.         } 
  152.     } 
  153. --> 
  154. </script> 
  155. 1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键 
  156. <script language="javascript"
  157. <!-- 
  158.   //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键 
  159. function window.onhelp(){return false//屏蔽F1帮助 
  160. function KeyDown(){ 
  161.   if ((window.event.altKey)&& 
  162.       ((window.event.keyCode==37) ¦ ¦  //屏蔽 Alt+ 方向键 ← 
  163.       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 → 
  164.     alert("不准你使用ALT+方向键前进或后退网页!"); 
  165.     event.returnvalue=false
  166.     } 
  167.     /* 注:这还不是真正地屏蔽 Alt+ 方向键, 
  168. php程序员站
  169.     因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放, 
  170.     用鼠标点掉警告框,这种屏蔽方法就失效了。以后若 
  171.     有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/ 
  172.   if ((event.keyCode == 8) && 
  173.       (event.srcElement.type != "text" && 
  174.       event.srcElement.type != "textarea" && 
  175.       event.srcElement.type != "password") ¦ ¦          //屏蔽退格删除键  
  176.       (event.keyCode==116) ¦ ¦                            //屏蔽 F5 刷新键 
  177.       (event.ctrlKey && event.keyCode==82)){            //Ctrl + R 
  178.     event.keyCode=0; 
  179.     event.returnvalue=false
  180.     } 
  181.   if ((event.ctrlKey)&&(event.keyCode==78))  //屏蔽 Ctrl+n 
  182. phperz~com
  183.     event.returnvalue=false
  184.   if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10 
  185.     event.returnvalue=false
  186.   if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
  187.       window.event.returnvalue = false;  //屏蔽 shift 加鼠标左键新开一网页 
  188.   if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4 
  189.       window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); 
  190.       return false;} 
  191.   } 
  192. /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单 
  193. 第一种方法: 
  194.   window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0") 
  195. 第二种方法是打开一个全屏的页面: 
  196.   window.open("你的.asp", "", "fullscreen=yes") php程序员站 
  197. */ 
  198. //--> 
  199. </script> 
  200. 1.4屏蔽浏览器右上角“最小化”“最大化”“关闭”键 
  201. <script language=javascript> 
  202. function window.onbeforeunload() 
  203.   if(event.clientX>document.body.clientWidth&&event.clientY <0 ¦ ¦event.altKey) 
  204.   { 
  205.     window.event.returnvalue = ""
  206.   } 
  207. </script> 
  208. 或者使用全屏打开页面 
  209. <script language="javascript"
  210. <!-- 
  211. window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no"); 
  212. --> 
  213. </script> 
  214. 注:在body标签里加上onbeforeunload="javascript:return false"(使不能关闭窗口) 
  215. 1.5屏蔽F5键 
  216. <script language="javascript"
  217. <!-- 
  218. function document.onkeydown() 
  219.     if ( event.keyCode==116) 
  220.     { 
  221.         event.keyCode = 0; 
  222.         event.cancelBubble = true
  223.         return false
  224.     } 
  225. --> 
  226. </script> 
  227. 1.6屏蔽IE后退按钮 
  228. 在你链接的时候用 <a href="javascript:location.replace(url)"
  229. 1.7屏蔽主窗口滚动条 
  230. 在body标签里加上 style="overflow-y:hidden" 
  231. 1.8 屏蔽拷屏,不断地清空剪贴板 
  232. 在body标签里加上onload="setInterval('clipboardData.setData(/'Text/',/'/')',100)" 
  233. 1.9 屏蔽网站的打印功能 
  234. <style> 
  235. @media print { 
  236.   * { display: none } 
  237. </style> 
  238. 1.10 屏蔽IE6.0 图片上自动出现的保存图标 
  239. 方法一: 
  240. <META HTTP-EQUIV="imagetoolbar" CONTENT="no"
  241. 方法二: 
  242. <img galleryimg="no"
  243. 1.11 屏蔽页中所有的script 
  244. <noscrript> </noscript> 
  245. 2>表单提交验证类 
  246. 2.1 表单项不能为空 
  247. <script language="javascript"
  248. <!-- 
  249. function CheckForm() 
  250. if (document.form.name.value.length == 0) { 
  251.   alert("请输入您姓名!"); 
  252.   document.form.name.focus(); 
  253.   return false
  254.   return true
  255. --> 
  256. </script> 
  257. 2.2 比较两个表单项的值是否相同 
  258. <script language="javascript"
  259. <!-- 
  260. function CheckForm() 
  261. if (document.form.PWD.value != document.form.PWD_Again.value) { 
  262.   alert("您两次输入的密码不一样!请重新输入."); 
  263.   document.ADDUser.PWD.focus(); 
  264.   return false
  265.   return true
  266. --> 
  267. </script> 
  268. 2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等 
  269. php程序员站
  270. <script language="javascript"
  271. <!-- 
  272. function isNumber(String) 
  273.     var Letters = "1234567890-"//可以自己增加可输入值 
  274.     var i; 
  275.     var c; 
  276.       if(String.charAt( 0 )=='-'
  277. return false
  278.       if( String.charAt( String.length - 1 ) == '-' ) 
  279.           return false
  280.     for( i = 0; i < String.length; i ++ ) 
  281.     { 
  282.           c = String.charAt( i ); 
  283.   if (Letters.indexOf( c ) < 0) 
  284.           return false
  285.     return true
  286. function CheckForm() 
  287.     if(! isNumber(document.form.TEL.value)) { 
  288.   alert("您的电话号码不合法!"); 
  289.         document.form.TEL.focus(); 
  290.         return false
  291. return true; php程序员之家 
  292. --> 
  293. </script> 
  294. 2.4 表单项输入数值/长度限定 
  295. <script language="javascript"
  296. <!-- 
  297. function CheckForm() 
  298.     if (document.form.count.value > 100 ¦ ¦ document.form.count.value < 1) 
  299. alert("输入数值不能小于零大于100!"); 
  300. document.form.count.focus(); 
  301. return false
  302.     if (document.form.MESSAGE.value.length <10) 
  303. alert("输入文字小于10!"); 
  304. document.form.MESSAGE.focus(); 
  305. return false
  306. return true
  307. //--> 
  308. </script> 
  309. 2.5 中文/英文/数字/邮件地址合法性判断 
  310. <SCRIPT LANGUAGE="javascript"
  311. <!-- 
  312. function isEnglish(name) //英文值检测 
  313. if(name.length == 0) 
  314.   return false
  315. for(i = 0; i < name.length; i++) { 
  316.   if(name.charCodeAt(i) > 128) 
  317.   return false
  318. php程序员站
  319. return true
  320. function isChinese(name) //中文值检测 
  321. if(name.length == 0) 
  322.   return false
  323. for(i = 0; i < name.length; i++) { 
  324.   if(name.charCodeAt(i) > 128) 
  325.   return true
  326. return false
  327. function isMail(name) // E-mail值检测 
  328. if(! isEnglish(name)) 
  329.   return false
  330. i = name.indexOf("@"); 
  331. j = name.lastIndexOf("@"); 
  332. if(i == -1) 
  333.   return false
  334. if(i != j) 
  335.   return false
  336. if(i == name.length) 
  337.   return false
  338. return true
  339. function isNumber(name) //数值检测 
  340. if(name.length == 0) 
  341.   return false
  342. for(i = 0; i < name.length; i++) { 
  343.   if(name.charAt(i) < "0" ¦ ¦ name.charAt(i) > "9"
  344.   return false
  345. return true
  346. function CheckForm() 
  347. if(! isMail(form.Email.value)) { 
  348.   alert("您的电子邮件不合法!"); 
  349.   form.Email.focus(); 
  350.   return false
  351. if(! isEnglish(form.name.value)) { 
  352.   alert("英文名不合法!"); 
  353.   form.name.focus(); 
  354.   return false
  355. if(! isChinese(form.cnname.value)) { 
  356.   alert("中文名不合法!"); 
  357.   form.cnname.focus(); 
  358.   return false
  359. if(! isNumber(form.PublicZipCode.value)) { 
  360.   alert("邮政编码不合法!"); 
  361.   form.PublicZipCode.focus(); 
  362.   return false
  363. return true
  364. //--> 
  365. </SCRIPT> 
  366. 2.6 限定表单项不能输入的字符 
  367. <script language="javascript"
  368. <!-- 
  369. function contain(str,charset)// 字符串包含测试函数 
  370.   var i; 
  371.   for(i=0;i <charset.length;i++) 
  372.   if(str.indexOf(charset.charAt(i))>=0) 
  373.   return true
  374.   return false;  
  375. function CheckForm() 
  376. if ((contain(document.form.NAME.value, "%/(/)> <")) ¦ ¦ (contain(document.form.MESSAGE.value, "%/(/)> <"))) 
  377.   alert("输入了非法字符"); 
  378.   document.form.NAME.focus(); 
  379.   return false
  380.   return true
  381. //--> 
  382. </script>
原创粉丝点击