JavaScript高级应用(一)
1.尺寸
- //各种尺寸
- s += "\r\n网页可见区域宽(document.body.clientWidth):"+ document.body.clientWidth;
- s += "\r\n网页可见区域(document.body.clientHeight)高:"+ document.body.clientHeight;
- s += "\r\n网页可见区域高(document.body.offsetWeight):"+ document.body.offsetWidth +" (包括边线的宽)";
- s += "\r\n网页可见区域高(document.body.offsetHeight):"+ document.body.offsetHeight +" (包括边线的宽)";
- s += "\r\n网页正文全文宽(document.body.scrollWidth):"+ document.body.scrollWidth;
- s += "\r\n网页正文全文高(document.body.scrollHeight):"+ document.body.scrollHeight;
- s += "\r\n网页被卷去的高(document.body.scrollTop):"+ document.body.scrollTop;
- s += "\r\n网页被卷去的左(document.body.scrollLeft):"+ document.body.scrollLeft;
- s += "\r\n网页正文部分上(window.screenTop):"+ window.screenTop;
- s += "\r\n网页正文部分左(window.screenLeft):"+ window.screenLeft;
- s += "\r\n屏幕分辨率的高(window.screen.height):"+ window.screen.height;
- s += "\r\n屏幕分辨率的宽(window.screen.width):"+ window.screen.width;
- s += "\r\n屏幕可用工作区高度(window.screen.availHeight):"+ window.screen.availHeight;
- s += "\r\n屏幕可用工作区宽度( window.screen.availWidth):"+ window.screen.availWidth;
2.过滤数字
- //过滤数字
- <input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
3.特殊用途
- //特殊用途
- <input type=button value=导入收藏夹 onclick="window.external.ImportExportFavorites(true,'http://localhost');">
- <input type=button value=导出收藏夹 onclick="window.external.ImportExportFavorites(false,'http://localhost');">
- <input type=button value=整理收藏夹 onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)">
- <input type=button value=语言设置 onclick="window.external.ShowBrowserUI('LanguageDialog', null)">
- <input type=button value=加入收藏夹 onclick="window.external.AddFavorite('http://www.google.com/', 'google')">
- <input type=button value=加入到频道 onclick="window.external.addChannel('http://www.google.com/')">
- <input type=button value=加入到频道 onclick="window.external.showBrowserUI('PrivacySettings',null)">
4.不缓存
- //不缓存
- <META HTTP-EQUIV="pragma" CONTENT="no-cache">
- <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
- <META HTTP-EQUIV="expires" CONTENT="0">
5.正则
- //正则匹配
- 匹配中文字符的正则表达式: [\u4e00-\u9fa5]
- 匹配双字节字符(包括汉字在内):[^\x00-\xff]
- 匹配空行的正则表达式:\n[\s| ]*\r
- 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
- 匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
- 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
- 匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
- 以下是例子:
- 利用正则表达式限制网页表单里的文本框输入内容:
- 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
- 1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
- 2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
- 3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
6.消除图像工具栏
- //消除图像工具栏
- <IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">
- or
- <head>
- <meta http-equiv="imagetoolbar" content="no">
- </head>
7.无提示关闭
- //无提示关闭
- function Close()
- {
- var ua=navigator.userAgent
- var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
- if(ie)
- {
- var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))
- if(IEversion< 5.5)
- {
- var str = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
- str += '<param name="Command" value="Close"></object>';
- document.body.insertAdjacentHTML("beforeEnd", str);
- document.all.noTipClose.Click();
- }
- else
- {
- window.opener =null;
- window.close();
- }
- }
- else
- {
- window.close()
- }
- }
8.获取控件位置
- //取得控件得绝对位置(1)
- <script language="javascript">
- function getoffset(e)
- {
- var t=e.offsetTop;
- var l=e.offsetLeft;
- while(e=e.offsetParent)
- {
- t+=e.offsetTop;
- l+=e.offsetLeft;
- }
- var rec = new Array(1);
- rec[0] = t;
- rec[1] = l;
- return rec
- }
- </script>
- //获得控件的绝对位置(2)
- oRect = obj.getBoundingClientRect();
- oRect.left
- oRect.
9.最小化,最大化,关闭
- //最小化,最大化,关闭
- <object id=min classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
- <param name="Command" value="Minimize"></object>
- <object id=max classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
- <param name="Command" value="Maximize"></object>
- <OBJECT id=close classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
- <PARAM NAME="Command" value="Close"></OBJECT>
- <input type=button value=最小化 onclick=min.Click()>
- <input type=button value=最大化 onclick=max.Click()>
- <input type=button value=关闭 onclick=close.Click()>
10.光标停在文字最后
- //光标停在文字最后
- <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.页面进入和退出的特效
- //页面进入和退出的特效
- 进入页面<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
12.网页是否被检索
- //网页是否被检索 <meta name="ROBOTS" content="属性值">
- 其中属性值有以下一些:
- 属性值为"all": 文件将被检索,且页上链接可被查询;
- 属性值为"none": 文件不被检索,而且不查询页上的链接;
- 属性值为"index": 文件将被检索;
- 属性值为"follow": 查询页上的链接;
- 属性值为"noindex": 文件不检索,但可被查询链接;
- 属性值为"nofollow":
13.屏蔽按键
- //屏蔽按键
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <noscript><meta http-equiv="refresh" content="0;url=about:noscript"></noscript>
- <title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title>
- </head>
- <body>
- <script language="Javascript"><!--
- //屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
- //Author: meizz(梅花雨) 2002-6-18
- function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键
- function window.onhelp(){return false} //屏蔽F1帮助
- function document.onkeydown()
- {
- if ((window.event.altKey)&&
- ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←
- (window.event.keyCode==39))) //屏蔽 Alt+ 方向键 →
- {
- alert("不准你使用ALT+方向键前进或后退网页!");
- event.returnValue=false;
- }
- /* 注:这还不是真正地屏蔽 Alt+ 方向键,
- 因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
- 用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
- 有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/
- if ((event.keyCode==8) || //屏蔽退格删除键
- (event.keyCode==116)|| //屏蔽 F5 刷新键
- (event.ctrlKey && event.keyCode==82)){ //Ctrl + R
- event.keyCode=0;
- event.returnValue=false;
- }
- if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11
- if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n
- if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10
- if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
- window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页
- if ((window.event.altKey)&&(window.event.keyCode==115)) //屏蔽Alt+F4
- {
- window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
- return false;
- }
- }
- </script>
- 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键
- </body>
- </html>
- //屏蔽打印
- <style>
- @media print{
- * {display:none}
- }
- </style>
14.操作COOKIE
- function SetCookie(sName, sValue)
- {
- document.cookie = sName + "=" + escape(sValue) + "; ";
- }
- function GetCookie(sName)
- {
- var aCookie = document.cookie.split("; ");
- for (var i=0; i < aCookie.length; i++)
- {
- var aCrumb = aCookie.split("=");
- if (sName == aCrumb[0])
- return unescape(aCrumb[1]);
- }
- }
- function DelCookie(sName)
- {
- document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
- }
15.下载文件
- function DownURL(strRemoteURL,strLocalURL)
- {
- try
- {
- var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP");
- xmlHTTP.open("Get",strRemoteURL,false);
- xmlHTTP.send();
- var adodbStream=new ActiveXObject("ADODB.Stream");
- adodbStream.Type=1;//1=adTypeBinary
- adodbStream.Open();
- adodbStream.write(xmlHTTP.responseBody);
- adodbStream.SaveToFile(strLocalURL,2);
- adodbStream.Close();
- adodbStream=null;
- xmlHTTP=null;
- }
- catch(e)
- {
- window.confirm("下载URL出错!");
- }
- //window.confirm("下载完成.");
- }
- //检验连接是否有效
- function getXML(URL)
- {
- var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
- xmlhttp.Open("GET",URL, false);
- try
- {
- xmlhttp.Send();
- }
- catch(e){}
- finally
- {
- var result = xmlhttp.responseText;
- if(result)
- {
- if(xmlhttp.Status==200)
- {
- return(true);
- }
- else
- {
- return(false);
- }
- }
- else
- {
- return(false);
- }
- }
- }
JavaScript高级应用(一)的更多相关文章
- 《JavaScript高级程序设计(第3版)》笔记-序
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 【javascript学习——《javascript高级程序设计》笔记】DOM操作
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head& ...
- 读javascript高级程序设计00-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 《JavaScript高级程序设计》读书笔记--前言
起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...
- 阅读摘录《javascript 高级程序设计》01
前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...
- 《JavaScript高级程序设计》学习笔记(5)——面向对象编程
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object ...
- 《JavaScript高级程序设计》学习笔记(4)——引用类型
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中, ...
- 《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装 ...
- 1 《JavaScript高级程序设计》学习笔记(1)
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教 ...
随机推荐
- 自动删除Mysql备份(数组+for)
#!/bin/bash #author:V #Dispaly:auto delete mysql backup. BACKDIR=(/home/11/mysqlbackup/ /home/full/) ...
- 关于java多线程
package testSynchronized; /** * * 当使用this也就是该文件中的testclass对象作为对象锁时, * 两个线程都使用该对象锁访问该对象的同步代码块, * 是顺序执 ...
- Windows2003中IIS的安全设置技巧
在Windows Server 2003中对于IIS的安全设置具有十分重要的意义,所以掌握IIS安全设置的六大技巧是一个网管员必备的基本技能.下面就是对IIS的安全设置的六大技巧. 技巧1.安装系统补 ...
- Excel 中 Index 和 Match 方法的使用
MATCH函数(返回指定内容所在的位置) MATCH(lookup-value,lookup-array,match-type) lookup-value:表示要在区域或数组中查找的值,可以是直接输入 ...
- iOS 横竖屏切换(应对特殊需求)
iOS 中横竖屏切换的功能,在开发iOS app中总能遇到.以前看过几次,感觉简单,但是没有敲过代码实现,最近又碰到了,demo尝试了几种情况,这里就做下总结.注意 横屏两种情况是反的你知道吗? UI ...
- Geolocation
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS后台定位,实时向服务器发送最新位置
第一步,开启后台模式,选中定位,选择project --> capabilities-->Backgorund Modes --> Location updates 如图: Past ...
- RDIFramework.NET 框架之组织机构权限设置
RDIFramework.NET 框架之组织机构权限设置 对于某些大型的企业.信息系统,涉及的组织机构较多,模块多.操作权限也多,对用户或角色一一设置模块.操作权限等比较繁琐.我们可以直接对某一组织机 ...
- 20145320《Java程序设计》第五次实验报告
20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...
- 记录重置css样式
;} ol,ul{;;} table {; } caption, th, td { font-weight: normal; text-align: left; } a img, iframe { b ...