Web开发者必须收藏的JavaScript实用技巧


  1. 将彻底屏蔽鼠标右键
  oncontextmenu=”window.event.returnValue=false”   <table border oncontextmenu=return(false)><td>no</table> 
可用于 Table 
  1. 取消选取、防止复制
< body onselectstart=”return false”>
  1. JS不允许粘贴
onpaste=”return false”
  1. JS防止复制
oncopy=”return false;” oncut=”return false;”
  1. IE 地址栏前换成自己的图标
<link rel=”Shortcut Icon” href=”favicon.ico”>

在文件的根目录放进去这个图片,后缀修改成ico就可以了

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”; //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:”+ “http://www.pconline.com.cn””>

12.删除时确认

<a href=”javascript:if(confirm(” 确实要删除吗?”))location=”boos.asp?&areyou=删除&page=1″”>删除</a>

13.取得控件的绝对位置

//Javascript<script language=”Javascript”>
   function getIE(e){    var t=e.offsetTop;
    var l=e.offsetLeft;
    while(e=e.offsetParent){
    t+=e.offsetTop;    l+=e.offsetLeft;}    alert(“top=”+t+”/nleft=”+l);}
< /script>//VBScript
< script language=”VBScript”>
< !–  function getIE()
   dim t,l,a,b
   set a=document.all.img1
   t=document.all.img1.offsetTop
   l=document.all.img1.offsetLeft
   while a.tagName< >”BODY”
   set a = a.offsetParent
   t=t+a.offsetTop
   l=l+a.offsetLeft 
  wend
 msgbox “top=”&t&chr(13)&”left=”&l,64,”
得到控件的位置”end function–>
< /script>

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.判断上一页的来源

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

17.屏蔽功能键 Shift,Alt,Ctrl

< script> function look(){   if(event.shiftKey)
   alert(“禁止按 Shift 键!”);
 //可以换成 ALT CTRL} 
  document.onkeydown=look;< /script>

18.网页不会被缓存

< META HTTP-EQUIV=”pragma” CONTENT=”no-cache”>< META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache, must-revalidate”>
< META HTTPEQUIV=”expires” CONTENT=”Wed, 26 Feb 1997 08:21:57 GMT”>
或者< META HTTP-EQUIV=”expires” CONTENT=”0″>

19.怎样让表单没有凹凸感?

< input type=text style=”border:1 solid #000000″>< input type=text style=”border-left:none; border-right:none; border-top:none; border-bottom:1 solid #000000″>< /textarea>

20.< div>< span>&< layer>的区别?
< div>(division)用来定义大段的页面元素,会产生转行< span>用来定义同一行内的元素,跟< div>的唯一区别是不产生转行< layer>是 ns 的标记,ie 不支持,相当于< div>
21.让弹出窗口总是在最上面:

< body onblur=”this.focus();”>

22.不要滚动条?

让竖条没有:
<body style=”overflow:scroll;overflow-y:hidden”></body>
让横条没有:
<body style=”overflow:scroll;overflow-x:hidden”></body>
两个都去掉?更简单了
<body scroll=”no”></body>

23.怎样去掉图片链接点击后,图片周围的虚线?

<a href=”#”onFocus=”this.blur()”><img src=”logo.jpg” border=0></a>

24.电子邮件处理提交表单

<form name=”form1″ method=”post” action=”mailto:****@***.com” enctype=”text/plain”>
 <input type=submit></form>

25.在打开的子窗口刷新父窗口的代码里如何写?

window.opener.location.reload()

26.如何设定打开页面的大小

<body onload=”top.resizeTo(300,200);”>打开页面的位置< body onload=”top.moveBy(300,200);”>

27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动

<STYLE>
body
  {background-image:none; background-repeat:no-repeat; 
   background-position:center;background-attachment: fixed}</STYLE>

28.检查一段字符串是否全由数字组成

<script language=”Javascript”>
< !–function checkNum(str){
     return str.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(“含有汉字”);else alert(“全是字符”);

31.TEXTAREA 自适应文字行数的多少

< textarea rows=1 name=s1 cols=27 onpropertychange=”this.style.posHeight=this.scrollHeight”>
< /textarea>```
32.日期减去天数等于第二个日期

<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>

33.选择了哪一个 Radio

< HTML>
< 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” onclick=”checkme()”>
< /BODY>
< /HTML>

34.脚本永不出错

<SCRIPT LANGUAGE=”JavaScript”>
< !– Hide function killErrors() { return true;} window.onerror = killErrors; // –>
</SCRIPT>

35.ENTER 键可以让光标移到下一个输入框

< input onkeydown=”if(event.keyCode==13)event.keyCode=9″>

36.检测某个网站的链接速度:
把如下代码加入< body>区域中:

<script language=Javascript>
tim=1
setInterval(“tim++”,100)
b=1 var autourl=new Array()
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
function butt(){
document.write(“< form name=autof>”)
for(var i=1;i< autourl.lengthi++)
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)>“)
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>

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.页面进入和退出的特效

进入页面< meta http-equiv=”Page-Enter” content=”revealTrans(duration=x, transition=y)”>
推出页面< meta http-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.在规定时间内跳转

< META http-equiv=V=”REFRESH” content=”5;URL=http://www.51js.com”>

40.网页是否被检索

< meta name=”ROBOTS” content=”属性值”>
        其中属性值有以下一些:

        属性值为”all”: 文件将被检索,且页上链接可被查询;

        属性值为”none”: 文件不被检索,而且不查询页上的链接;

        属性值为”index”: 文件将被检索;

        属性值为”follow”: 查询页上的链接;

        属性值为”noindex”: 文件不检索,但可被查询链接;

        属性值为”nofollow”: 文件不被检索,但可查询页上的链接。

41.回车

用客户端脚本在页面添加document 的onkeydown事件,让页面在接受到回车事件后,进行Tab键的功能,即只要把 event 的 keyCode 由 13 变为 9
Javascript 代码如下:

<script language=”javascript” for=”document” event=”onkeydown”><!–  if(event.keyCode==13)   event.keyCode=9;–>
</script>

这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完资料以后,跳到按钮后,最好能直接按”回车”进行数据的提交.
因此,对上面的方法要进行一下修改,应该对于”提交”按钮不进行焦点转移.而直接激活提交.
对上面的代码进行了一个修改,即判断事件的”源”,是否为提交按钮,代码如下:

<script language=”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″的方式来取消链接获得焦点。

想了解更多?那就赶紧来关注我们

一起玩前端~欢迎关注
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,389评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,647评论 18 139
  • 这几天本来就病得没一点儿力气了,但为了自己的课能入围部级优课,还是撑着身体用同事的账号密码登陆进去,然后投票...
    sunflower80阅读 239评论 0 0