本文汇总了B/S架构项目中常用的JavaScript与HTML技巧,涵盖屏蔽右键菜单、背景音乐嵌入、自动弹窗与关闭、防止页面保存与缓存、输入法控制及日期计算等实用功能。通过具体代码示例,帮助开发者快速实现网页交互优化与安全限制,适用于传统Web开发场景。
网页基础交互与安全控制
屏蔽网页右键菜单可通过在<body>标签中添加属性实现:<body oncontextmenu="return false">,或者通过CSS样式隐藏滚动条:<body style="overflow-y:hidden">。
为网页添加背景音乐需区分浏览器类型。IE浏览器可使用<bgsound src="*.mid" loop=infinite>,Netscape浏览器则使用<embed src="*.mid" autostart=true hidden=true loop=true></embed>,其中*.mid为MIDI格式的背景音乐文件。
实现自动开启和关闭窗口功能。
使用JavaScript定义窗口打开函数:<script Language="&#106avascript"> function winopen1(){ 打开的窗口名=open("nb","Homepage","toolbar=no,location=no, directories=no,status=no,menubar=no,scrollbars=no,resizable=no, copyhistory=no,width=160,height=200,left=200,top=100"; ) </script>
通过链接触发窗口打开与关闭:<a href onMouseOver="winopen1();return true;" onMouseOut="打开的窗口名.close();"> <p>这里是连接</a></p>
阻止浏览器保存页面,使用户无法另存为:<NOSCRIPT><iframe src="*.html"></iframe></NOSCRIPT>
实现网页自动关闭且不显示提示:<html> <head> <object id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> <param name="Command" value="Close"> </object> </head> <body onload="window.setTimeout('closes.Click()',10000)"> 这个窗口会在10秒过后自动关闭,而且不会出现提示. </body> </html>
JavaScript实用技巧汇总
更多JavaScript小技巧。
1. oncontextmenu="window.event.return value=false" 彻底屏蔽鼠标右键,例如<table border oncontextmenu=return(false)><td>no</table>可用于Table。
2. <body onselectstart="return false"> 取消选取、防止复制。
3. onpaste="return false" 禁止粘贴。
4. oncopy="return false;" oncut="return false;" 防止复制。
5. <link rel="Shortcut Icon" href="favicon.ico"> 将IE地址栏前的图标替换为自己的图标。
6. <link rel="Bookmark" href="favicon.ico"> 在收藏夹中显示自定义图标。
7. <input style="ime-mode:Disabled"> 关闭输入法。
8. 强制页面始终在框架内显示:<script language="javascript"><!-- if (window == top)top.location.href = "frames.htm"; file&#58//frames.htm为框架网页 // --></script>
9. 防止页面被其他网站Frame:<SCRIPT LANGUAGE=javascript><!-- if (top.location != self.location)top.location=self.location; // --></SCRIPT>
10. <noscript><iframe src=*.html></iframe></noscript> 使网页不能被另存为。
11. <input type=button value=查看网页源代码 onclick="window.location = 'view-source:'+ '//www.jb51.net/'">
14. 光标停在文本框文字最后:<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" onfocus="cc()">
15. 判断上一页来源,ASP中使用request.servervariables("HTTP_REFERER"),JavaScript中使用document.referrer。
16. 最小化、最大化、关闭窗口:<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Minimize"></object> <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Maximize"></object> <OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> <PARAM NAME="Command" value="Close"></OBJECT> <input type=button value=最小化 onclick=hh1.Click()> <input type=button value=最大化 onclick=hh2.Click()> <input type=button value=关闭 onclick=hh3.Click()> 本例适用于IE
18. 防止网页被缓存,HTM网页中添加:<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> 或者<META HTTP-EQUIV="expires" CONTENT="0">
19. 检查字符串是否全由数字组成:<script language="javascript"><!-- function checkNum(str){return str.match(/\D/)==null} alert(checkNum("1232142141")) alert(checkNum("123214214a1")) // --></script>
21. 判断是否包含字符:<if (/[^\x00-\xff]/g.test(s)) alert("含有汉字"); else alert("全是字符");
22. TEXTAREA自适应文字行数:<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"> </textarea>
23. 日期减去天数得到第二个日期:<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>
27. 按ENTER键将光标移到下一个输入框:<input onkeydown="if(event.keyCode==13)event.keyCode=9">