41个Web开发者必须收藏的JavaScript实用技巧
Web开发者必须收藏的JavaScript实用技巧,供大家参考,具体内容如下
1.将彻底屏蔽鼠标右键
oncontextmenu=”window.event.returnValue=false”
<tableborderoncontextmenu=return(false)><td>no</table>可用于Table
2.取消选取、防止复制
<bodyonselectstart=”returnfalse”>
3.JS不允许粘贴
onpaste=”returnfalse”
4.JS防止复制
oncopy=”returnfalse;”oncut=”returnfalse;”
5.IE地址栏前换成自己的图标
<linkrel=”ShortcutIcon”href=”favicon.ico”>
在文件的根目录放进去这个图片,后缀修改成ico就可以了
6.可以在收藏夹中显示出你的图标
<linkrel=”Bookmark”href=”favicon.ico”>
7.关闭输入法
<inputstyle=”ime-mode:disabled”>
8.永远都会带着框架
<scriptlanguage=”JavaScript”><!–
if(window==top)top.location.href=“frames.htm”;//frames.htm为框架网页
//–></script>
9.防止被人frame
<SCRIPTLANGUAGE=JAVASCRIPT><!–
if(top.location!=self.location)top.location=self.location;
//–></SCRIPT>
10.网页将不能被另存为
<noscript><iframesrc=*.html></iframe></noscript>
11.<inputtype=buttonvalue=查看网页源代码
onclick=”window.location=“view-source:”+“http://www.pconline.com.cn””>
12.删除时确认
<ahref=”javascript:if(confirm(”确实要删除吗?”))location=”boos.asp?&areyou=删除
&page=1″”>删除</a>
13.取得控件的绝对位置
//Javascript <scriptlanguage=”Javascript”> functiongetIE(e){ vart=e.offsetTop; varl=e.offsetLeft; while(e=e.offsetParent){ t+=e.offsetTop; l+=e.offsetLeft; } alert(“top=”+t+”/nleft=”+l); } </script> //VBScript <scriptlanguage=”VBScript”><!– functiongetIE() dimt,l,a,b seta=document.all.img1 t=document.all.img1.offsetTop l=document.all.img1.offsetLeft whilea.tagName<>”BODY” seta=a.offsetParent t=t+a.offsetTop l=l+a.offsetLeft wend msgbox“top=”&t&chr(13)&”left=”&l,64,”得到控件的位置” endfunction –></script>
14.光标是停在文本框文字的最后
<scriptlanguage=”javascript”> functioncc() { vare=event.srcElement; varr=e.createTextRange(); r.moveStart(“character”,e.value.length); r.collapse(true); r.select(); } </script> <inputtype=textname=text1value=”123″onfocus=”cc()”>
15.判断上一页的来源
javascript:
document.referrer
16.最小化、最大化、关闭窗口
<objectid=hh1classid=”clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11″> <paramname=”Command”value=”Minimize”></object> <objectid=hh2classid=”clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11″> <paramname=”Command”value=”Maximize”></object> <OBJECTid=hh3classid=”clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″> <PARAMNAME=”Command”VALUE=”Close”></OBJECT> <inputtype=buttonvalue=最小化onclick=hh1.Click()> <inputtype=buttonvalue=最大化onclick=hh2.Click()> <inputtype=buttonvalue=关闭onclick=hh3.Click()>
本例适用于IE
17.屏蔽功能键Shift,Alt,Ctrl
<script> functionlook(){ if(event.shiftKey) alert(“禁止按Shift键!”);//可以换成ALTCTRL } document.onkeydown=look; </script>
18.网页不会被缓存
<METAHTTP-EQUIV=”pragma”CONTENT=”no-cache”>
<METAHTTP-EQUIV=”Cache-Control”CONTENT=”no-cache,must-revalidate”>
<METAHTTP-EQUIV=”expires”CONTENT=”Wed,26Feb199708:21:57GMT”>
或者<METAHTTP-EQUIV=”expires”CONTENT=”0″>
19.怎样让表单没有凹凸感?
<inputtype=textstyle=”border:1solid#000000″>
或
<inputtype=textstyle=”border-left:none;border-right:none;border-top:none;border-bottom:
1solid#000000″></textarea>
20.<div><span>&<layer>的区别?
<div>(division)用来定义大段的页面元素,会产生转行
<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行
<layer>是ns的标记,ie不支持,相当于<div>
21.让弹出窗口总是在最上面:
<bodyonblur=”this.focus();”>
22.不要滚动条?
让竖条没有:
<bodystyle=”overflow:scroll;overflow-y:hidden”>
</body>
让横条没有:
<bodystyle=”overflow:scroll;overflow-x:hidden”>
</body>
两个都去掉?更简单了
<bodyscroll=”no”>
</body>
23.怎样去掉图片链接点击后,图片周围的虚线?
<ahref=”#”onFocus=”this.blur()”><imgsrc=”logo.jpg”border=0></a>
24.电子邮件处理提交表单
<formname=”form1″method=”post”action=”mailto:****@***.com”enctype=”text/plain”>
<inputtype=submit>
</form>
25.在打开的子窗口刷新父窗口的代码里如何写?
window.opener.location.reload()
26.如何设定打开页面的大小
<bodyonload=”top.resizeTo(300,200);”>
打开页面的位置<bodyonload=”top.moveBy(300,200);”>
27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动
<STYLE>
body
{background-image:none;background-repeat:no-repeat;
background-position:center;background-attachment:fixed}
</STYLE>
28.检查一段字符串是否全由数字组成
<scriptlanguage=”Javascript”><!–
functioncheckNum(str){returnstr.match(//D/)==null}
alert(checkNum(“1232142141”))
alert(checkNum(“123214214a1”))
//–></script>
29.获得一个窗口的大小
document.body.clientWidth;document.body.clientHeight
30.怎么判断是否是字符
if(/[^/x00-/xff]/g.test(s))alert(“含有汉字”);
elsealert(“全是字符”);
31.TEXTAREA自适应文字行数的多少
<textarearows=1name=s1cols=27onpropertychange=”this.style.posHeight=this.scrollHeight”>
</textarea>
32.日期减去天数等于第二个日期
<scriptlanguage=Javascript> functioncc(dd,dadd) { //可以加上错误处理 vara=newDate(dd) a=a.valueOf() a=a–dadd*24*60*60*1000 a=newDate(a) alert(a.getFullYear()+“年”+(a.getMonth()+1)+“月”+a.getDate()+“日”) } cc(“12/23/2002”,2) </script>
33.选择了哪一个Radio
<HTML><scriptlanguage=”vbscript”> functioncheckme() foreachobinradio1 ifob.checkedthenwindow.alertob.value next endfunction </script><BODY> <INPUTname=”radio1″type=”radio”value=”style”checked>Style <INPUTname=”radio1″type=”radio”value=”barcode”>Barcode <INPUTtype=”button”value=”check”onclick=”checkme()”> </BODY></HTML>
34.脚本永不出错
<SCRIPTLANGUAGE=”JavaScript”> <!–Hide functionkillErrors(){ returntrue; } window.onerror=killErrors; //–> </SCRIPT>
35.ENTER键可以让光标移到下一个输入框
<inputonkeydown=”if(event.keyCode==13)event.keyCode=9″>
36.检测某个网站的链接速度:
把如下代码加入<body>区域中:
<scriptlanguage=Javascript> tim=1 setInterval(“tim++”,100) b=1 varautourl=newArray() autourl[1]=”www.njcatv.net” autourl[2]=”javacool.3322.net” autourl[3]=”www.sina.com.cn” autourl[4]=”www.nuaa.edu.cn” autourl[5]=”www.cctv.com” functionbutt(){ document.write(“<formname=autof>”) for(vari=1;i<autourl.length;i++) document.write(“<inputtype=textname=txt”+i+”size=10value=测试中……>=》<input type=text name=url”+i+”size=40>=》<inputtype=buttonvalue=GO onclick=window.open(this.form.url”+i+”.value)> “) document.write(“<inputtype=submitvalue=刷新></form>”) } butt() functionauto(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++ } functionrun(){for(vari=1;i<autourl.length;i++)document.write(“<img src=http://”+autourl+”/”+Math.random()+” width=1height=1 onerror=auto(“http://”+autourl+””)>”)} run()</script>
37.各种样式的光标
auto:标准光标
default:标准箭头
hand:手形光标
wait:等待光标
text:I形光标
vertical-text:水平I形光标
no-drop:不可拖动光标
not-allowed:无效光标
help:?帮助光标
all-scroll:三角方向标
move:移动标
crosshair:十字标
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize
38.页面进入和退出的特效
进入页面<metahttp-equiv=”Page-Enter”content=”revealTrans(duration=x,transition=y)”>
推出页面<metahttp-equiv=”Page-Exit”content=”revealTrans(duration=x,transition=y)”>
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。
transition表示使用哪种特效,取值为
1-23:
0矩形缩小
1矩形扩大
2圆形缩小
3圆形扩大
4下到上刷新
5上到下刷新
6左到右刷新
7右到左刷新
8竖百叶窗
9横百叶窗
10错位横百叶窗
11错位竖百叶窗
12点扩散
13左右到中间刷新
14中间到左右刷新
15中间到上下
16上下到中间
17右下到左上
18右上到左下
19左上到右下
20左下到右上
21横条
22竖条
23以上22种随机选择一种
39.在规定时间内跳转
<METAhttp-equiv=V=”REFRESH”content=”5;URL=http://www.51js.com”>
40.网页是否被检索
<metaname=”ROBOTS”content=”属性值”>
其中属性值有以下一些:
属性值为”all”:文件将被检索,且页上链接可被查询;
属性值为”none”:文件不被检索,而且不查询页上的链接;
属性值为”index”:文件将被检索;
属性值为”follow”:查询页上的链接;
属性值为”noindex”:文件不检索,但可被查询链接;
属性值为”nofollow”:文件不被检索,但可查询页上的链接。
41.回车
用客户端脚本在页面添加document的onkeydown事件,让页面在接受到回车事件后,进行Tab
键的功能,即只要把event的keyCode由13变为9
Javascript代码如下:
<scriptlanguage=”javascript”for=”document”event=”onkeydown”> <!– if(event.keyCode==13) event.keyCode=9; –> </script>
这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完
资料以后,跳到按钮后,最好能直接按”回车”进行数据的提交.因此,对上面的方法要进行一下
修改,应该对于”提交”按钮不进行焦点转移.而直接激活提交.
因此我对上面的代码进行了一个修改,即判断事件的”源”,是否为提交按钮,代码如下:
<scriptlanguage=”javascript”for=”document”event=”onkeydown”> <!– if(event.keyCode==13&&event.srcElement.type!='button'&& event.srcElement.type!='submit'&&event.srcElement.type!='reset'&& event.srcElement.type!='textarea'&&event.srcElement.type!=”) event.keyCode=9; –> </script>
判断是否为button,是因为在HTML上会有type=”button”
判断是否为submit,是因为HTML上会有type=”submit”
判断是否为reset,是因为HTML上的”重置”应该要被执行
判断是否为空,是因为对于HTML上的”<a>链接”也应该被执行,这种情况发生的情况不多,可以使用”tabindex=-1″的方式来取消链接获得焦点。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。