1、彻底屏蔽鼠标右键,可用于Table
1
|
<table oncontextmenu='return false'></table>
|
2、取消选取、防止复制
1
|
<body onselectstart="return false"/>
|
3、禁用复制、粘贴、剪切
1
|
onpaste="return false" oncopy="return false;" oncut="return false;"
|
4、在收藏夹中显示出你的图标
1
|
<link rel="Bookmark" href="favicon.ico"/>
|
5、关闭输入法
1
|
<input style="ime-mode:disabled"/>
|
6、永远都会带着框架
1
|
<script language="JavaScript"><!--if(window == top)top.location.href = "frames.htm"; //frames.htm为框架网页// --></script>
|
7、防止被人frame
1
2 3 |
<script LANGUAGE=JAVASCRIPT><!--
if(top.location != self.location)top.location=self.location; // --></script> |
8、网页将不能被另存为
1
|
<noscript><iframe src=*.html></iframe></noscript>
|
9、查看网页源代码
1
|
<input type=button value=查看网页源代码 onclick="window.location = 'view-source:http://www.pconline.com.cn'"/>
|
10、光标是停在文本框文字的最后
1
2 3 4 5 6 7 8 9 10 11 |
<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()"/> |
11、最小化、最大化、关闭窗口
1
2 3 4 5 6 7 8 9 |
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></param></object> <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Maximize"></param></object> <object id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> <param NAME="Command" VALUE="Close"></param></object> <input type=button value=最小化 onclick=hh1.Click()/> <input type=button value=最大化 onclick=hh2.Click()/> <input type=button value=关闭 onclick=hh3.Click()/> |
12、网页不会被缓存
1
2 3 |
<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"/></meta> |
13、去掉图片链接点击后,图片周围的虚线
1
|
<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0/></a>
|
14、在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动
1
2 3 |
<style>
body{background-image:url(logo.gif); background-repeat:no-repeat;background-position:center;background-attachment: fixed} </style> |
15、TEXTAREA自适应文字行数
1
2 |
<textarea rows=1 name=s1 cols=27 onpropertychange=
"this.style.posHeight=this.scrollHeight"></textarea> |
16、脚本永不出错
1
2 3 4 5 6 7 8 |
<script LANGUAGE="JavaScript">
<!-- Hide function killErrors() { return true; } window.onerror = killErrors; // --> </script> |
17、ENTER键可以让光标移到下一个输入框
1
|
<input onkeydown="if(event.keyCode==13)event.keyCode=9"/>
|
18、网页是否被检索
1
2 3 4 5 6 7 8 |
<meta name="ROBOTS" content="属性值">
其中属性值有以下一些: 属性值为"all": 文件将被检索,且页上链接可被查询; 属性值为"none": 文件不被检索,而且不查询页上的链接; 属性值为"index": 文件将被检索; 属性值为"follow": 查询页上的链接; 属性值为"noindex": 文件不检索,但可被查询链接; 属性值为"nofollow": 文件不被检索,但可查询页上的链接。</meta> |
19、格式化数字
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
/**
* 格式化数字显示方式 * @param num * @param pattern '#,##0.00' '#,##0.##' '000000' */ function formatNumber(num,pattern){ var strarr = num?num.toString().split('.'):['0']; var fmtarr = pattern?pattern.split('.'):['']; var retstr=''; // 整数部分 var str = strarr[0]; var fmt = fmtarr[0]; var i = str.length-1; var comma = false; for(var f=fmt.length-1;f>=0;f--){ switch(fmt.substr(f,1)){ case '#': if(i>=0 ) retstr = str.substr(i--,1) + retstr; break; case '0': if(i>=0) retstr = str.substr(i--,1) + retstr; else retstr = '0' + retstr; break; case ',': comma = true; retstr=','+retstr; break; } } if(i>=0){ if(comma){ var l = str.length; for(;i>=0;i--){ retstr = str.substr(i,1) + retstr; if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr; } } else retstr = str.substr(0,i+1) + retstr; } retstr = retstr+'.'; // 处理小数部分 str=strarr.length>1?strarr[1]:''; fmt=fmtarr.length>1?fmtarr[1]:''; i=0; for(var f=0;f<fmt .length;f++){ switch(fmt.substr(f,1)){ case '#': if(i<str.length) retstr+=str.substr(i++,1); break; case '0': if(i<str.length) retstr+= str.substr(i++,1); else retstr+='0'; break; } } return retstr.replace(/^,+/,'').replace(/.$/,''); } |
20、时间验证
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function isCorrectTime(str){ //like:13:04:06
var a = str.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/); if (a == null) {alert('输入的参数不是时间格式'); return false;} if (a[1]>24 || a[3]>60 || a[4]>60){ alert("时间格式不对"); return false; } return true; } function isCorrectDate(str){ //2003-12-05 var r = str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/); if(r==null) return false; var d= new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); } function isCorrectDateTime(str){ //2003-12-05 13:04:06 var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/; var r = str.match(reg); if(r==null) return false; var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); } |
21、添加到收藏夹
1
|
window.external.AddFavorite('http://www.orgcent.com');
|
22、模态对话框
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<input type="button" value="打开对话框" onclick="showDialog('#')"/>
<script LANGUAGE="JavaScript"> <!-- function showDialog(url){ if(document.all){//IE feature="dialogWidth:300px;dialogHeight:200px;status:no;help:no"; window.showModalDialog(url,null,feature); }else{ //modelessDialog可以将modal换成dialog=yes feature ="width=300,height=200,menubar=no,toolbar=no,location=no,"; feature+="scrollbars=no,status=no,modal=yes"; window.open(url,null,feature); } } //--> </script> |
23、屏蔽打印按钮
1
2 3 4 5 |
<style type="text/css">
<!-- @media print { .disp{display: none;}} --> </style> |
24、动态改变CSS
1
2 3 4 5 6 7 8 |
function changeLinkCss(url){
var link_css=document.getElementsByTagName('link'); for(var i=0;i<link_css .length;i++){ if(link_css[i].rel.toLowerCase() == 'stylesheet'){ link_css[i].href = url; } } } |
25、获得当前目录路径
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function getCurrentDirectory(){
var locHref = location.href; var locArray = locHref.split("/"); /**这里测试locArray效果** for(x in locArray){ document.write("locArray["); document.write(x+"]: "); document.write(locArray[x]+"<br />"); } **/ delete locArray[locArray.length-1]; var dirTxt = locArray.join("/"); return dirTxt; } document.write(getCurrentDirectory()); |
26、置下一元素焦点
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function setNextFocus(){
var srcObj = event.srcElement; var len = document.all.length; var idx = -1; for(var i=0; i<len ; i++){ var curObj = document.all[i]; if(curObj == srcObj){ idx = i; break; } } if(idx != -1 && idx < len-1){ for(var j=idx+1 ;j<len;j++){ if(checkTags(document.all[j])){ document.all[j].focus(); return; } } } } function checkTags(obj){ if(obj.readOnly == true || obj.disabled == true) {return false;} var tag_name = obj.tagName; var el_tags = ['select','input','textarea']; for(var i=0; i<el_tags.length; i++){ if(el_tags[i] == tag_name.toLowerCase()){ return true; } } return false; } |
27、javascript之可变参数arguments
使用JavaScript函数内置的arguments可以遍历所有传入的参数。arguments有个callee属性,可以调用arguments自身所在的函数。也就是说,可以通过这个属性递归调用函数自身
1
2 3 4 5 6 7 8 9 |
function sum() {
var total = 0; for(var i = 0; i < arguments.length; i++) { total += arguments[i]; } alert(total); } sum(1, 2); sum(1, 2, 3); |
1
2 3 4 5 6 7 |
function sum(n) {
if(n < = 1) { return 1; } return n + arguments.callee(n - 1); // 递归调用自身 } alert(sum(100)); |
28、document.execCommand()
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<input type=button value=剪切 onclick=document.execCommand('Cut')/>
<input type=button value=拷贝 onclick=document.execCommand('Copy')/> <input type=button value=粘贴 onclick=document.execCommand('Paste')/> <input type=button value=撤消 onclick=document.execCommand('Undo')/> <input type=button value=重做 onclick=document.execCommand('Redo')/> <input type=button value=删除 onclick=document.execCommand('Delete')/> <input type=button value=黑体 onclick=document.execCommand('Bold')/> <input type=button value=斜体 onclick=document.execCommand('Italic')/> <input type=button value=下划线 onclick=document.execCommand('Underline')/> <input type=button value=停止 onclick=document.execCommand('stop')/> <input type=button value=保存 onclick=document.execCommand('SaveAs')/> <input type=button value=另存为 onclick=document.execCommand('Saveas',false,'c:test.htm')/> <input type=button value=字体 onclick=document.execCommand('FontName',false,fn)/> <input type=button value=字体大小 onclick=document.execCommand('FontSize',false,fs)/> <input type=button value=刷新 onclick=document.execCommand('refresh',false,0)/> |
isNaN是测试是否为数值型 ,限制输入只能为数值如:1981.121,允许最多有一个小数点
1
|
<input type="text" name="text" onkeyup="if(isNaN(value))execCommand('undo')" />
|
29、取消事件冒泡
1
|
event.cancelBubble=true;
|
30、禁止选择文字
1
|
<div unselectable="on" onselectstart="return false;" style="-moz-user-select:none;" >禁止选择,unselectable为IE准备 , onselectstart为Chrome、Safari准备 -moz-user-select是FF的 </div>
|
31、js释放内存
1
2 3 4 5 6 7 |
System.gc = function(){
if(System.isIeBrowser()) { CollectGarbage(); setTimeout("CollectGarbage();", 1); } } |
32、QVOD播放器代码
1
2 3 4 |
<object classid="clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF" width="500" height="400" id="QvodPlayer" name="QvodPlayer" onError=if(window.confirm('请您先安装QvodPlayer软件,然后刷新本页才可以正常播放.')){window.open('http://www.qvod.com/download.htm')}else{self.location='http://www.qvod.com/'}>
<param NAME='URL' VALUE='此处请替换成QVOD播放链接地址'> </param><param NAME='Autoplay' VALUE='1'> </param></object> |
33、图片旋转
1
2 3 4 |
function imageTurn(id,filter){//水平:"fliph"与垂直:"flipV"
var img = document.getElementById(id); img.style.filter = img.style.filter ==filter ? "" : filter; } |
34、滤镜RevealTrans (duration=转换的秒数,transition=转换的类型)
transition的取值为0-23。代表24种过渡效果。可以用在整个页面上,也可以用在页面的某一个物件上。
1
2 3 |
<meta http-equiv='Page-Exit’ CONTENT='RevealTrans(Duration=0.5,Transition=23)'>
<img id="img1" src="img1.jpg" width="300" height="226" style="filter:revealTrans(Transition=1,Duration=1.5);" /></meta> |
35、不提示关闭窗口
1
2 3 4 5 |
function closeWindow(){
window.opener=null; window.open('','_self'); window.close(); } |
36、不用eval,解析JSON
1
2 3 4 5 |
function jsonDecode(data){
return (new Function("return " + data))(); } 其他要想实现类似eval的功能,在DOM中创建一个script节点,然后script.text = data; |
37、双击:
function MM_openBrWindow(theURL,winName,features) {
window.open(theURL,winName,features);
}
感谢:http://log-cd.javaeye.com