JS浏览器BOM常见操作实例详解
本文实例讲述了JS浏览器BOM常见操作。分享给大家供大家参考,具体如下:
window尺寸
有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。
对于InternetExplorer、Chrome、Firefox、Opera以及Safari:
window.innerHeight-浏览器窗口的内部高度 window.innerWidth-浏览器窗口的内部宽度
对于InternetExplorer8、7、6、5:
document.documentElement.clientHeight document.documentElement.clientWidth
或者
document.documentElement.clientHeight document.documentElement.clientWidth
实用的JavaScript方案(涵盖所有浏览器):
其他Window方法
window.open()-打开新窗口 window.close()-关闭当前窗口 window.moveTo()-移动当前窗口 window.resizeTo()-调整当前窗口的尺寸
WindowScreen
window.screen对象在编写时可以不使用window这个前缀。
screen.availWidth-可用的屏幕宽度 screen.availHeight-可用的屏幕高度
WindowScreen可用宽度
screen.availWidth属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏。
WindowScreen可用高度
screen.availHeight属性返回访问者屏幕的高度,以像素计,减去界面特性,比如窗口任务栏。
WindowLocation
location.hostname返回web主机的域名 location.pathname返回当前页面的路径和文件名 location.port返回web主机的端口(80或443) location.protocol返回所使用的web协议(http://或https://) location.href属性返回当前页面的URL。 location.pathname属性返回URL的路径名。 location.assign()方法加载新的文档。
WindowHistory
history.back()-与在浏览器点击后退按钮相同 history.forward()-与在浏览器中点击按钮向前相同
JavaScriptNavigator
window.navigator对象包含有关访问者浏览器的信息。
警告!!!
来自navigator对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
-
navigator数据可被浏览器使用者更改
-
一些浏览器对测试站点会识别错误
-
浏览器无法报告晚于浏览器发布的新操作系统
JavaScript弹窗
可以在JavaScript中创建三种消息框:警告框、确认框、提示框。
警告框
警告框经常用于确保用户可以得到某些信息。
当警告框出现后,用户需要点击确定按钮才能继续进行操作。
语法
window.alert("sometext");
window.alert()方法可以不带上window对象,直接使用alert()方法。
确认框
确认框通常用于验证是否接受用户操作。
当确认卡弹出时,用户可以点击"确认"或者"取消"来确定用户操作。
当你点击"确认",确认框返回true,如果点击"取消",确认框返回false。
语法
window.confirm("sometext");
window.confirm()方法可以不带上window对象,直接使用confirm()方法。
提示框
提示框经常用于提示用户在进入页面前输入某个值。
当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。
如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为null。
语法
window.prompt("sometext","defaultvalue");
window.prompt()方法可以不带上window对象,直接使用prompt()方法。
换行
弹窗使用反斜杠+"n"(\n)来设置换行。
JavaScript计时事件
通过使用JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
在JavaScritp中使用计时事件是很容易的,两个关键方法是:
setInterval()-间隔指定的毫秒数不停地执行指定的代码。 setTimeout()-暂停指定的毫秒数后执行指定的代码
Note:setInterval()和setTimeout()是HTMLDOMWindow对象的两个方法。
setInterval()方法
setInterval()间隔指定的毫秒数不停地执行指定的代码
语法
window.setInterval("javascriptfunction",milliseconds);
window.setInterval()方法可以不使用window前缀,直接使用函数setInterval()。
setInterval()第一个参数是函数(function)。第二个参数间隔的毫秒数
如何停止执行?
clearInterval()方法用于停止setInterval()方法执行的函数代码。
语法
window.clearInterval(intervalVariable)
window.clearInterval()方法可以不使用window前缀,直接使用函数clearInterval()。
要使用clearInterval()方法,在创建计时方法时你必须使用全局变量:
myVar=setInterval("javascriptfunction",milliseconds);
然后可以使用clearInterval()方法来停止执行。
setTimeout()方法
语法
window.setTimeout("javascript函数",毫秒数);
setTimeout()方法会返回某个值。在上面的语句中,值被储存在名为t的变量中。假如你希望取消这个setTimeout(),你可以使用这个变量名来指定它。
setTimeout()的第一个参数是含有JavaScript语句的字符串。这个语句可能诸如"alert('5seconds!')",或者对函数的调用,诸如alertMsg()"。
第二个参数指示从当前起多少毫秒后执行第一个参数。
如何停止执行?
clearTimeout()方法用于停止执行setTimeout()方法的函数代码。
语法
window.clearTimeout(timeoutVariable)
window.clearTimeout()方法可以不使用window前缀。
要使用clearTimeout()方法,你必须在创建超时方法中(setTimeout)使用全局变量:
myVar=setTimeout("javascriptfunction",milliseconds);
如果函数还未被执行,你可以使用clearTimeout()方法来停止执行函数代码。
JavaScriptCookies
Cookies用于存储web页面的用户信息。
什么是Cookies?
Cookies是一些数据,存储于你电脑上的文本文件中。
当web服务器向浏览器发送web页面时,在连接关闭后,服务端不会记录用户的信息。
Cookies的作用就是用于解决"如何记录客户端的用户信息":
-
当用户访问web页面时,他的名字可以记录在cookie中。
-
在用户下一次访问该页面时,可以在cookie中读取用户访问记录。
Cookies以名/值对形式存储,如下所示:
username=JohnDoe
当浏览器从服务器上请求web页面时,属于该页面的cookies会被添加到该请求中。服务端通过这种方式来获取用户的信息。
使用JavaScript创建Cookie
JavaScript可以使用document.cookie属性来创建、读取、及删除cookies。
JavaScript中,创建cookie如下所示:
document.cookie="username=JohnDoe";
还可以为cookie添加一个过期时间(以UTC或GMT时间)。默认情况下,cookie在浏览器关闭时删除:
document.cookie="username=JohnDoe;expires=Thu,18Dec201312:00:00GMT";
可以使用path参数告诉浏览器cookie的路径。默认情况下,cookie属于当前页面。
document.cookie="username=JohnDoe;expires=Thu,18Dec201312:00:00GMT;path=/";
使用JavaScript读取Cookie
在JavaScript中,可以使用以下代码来读取cookies:
varx=document.cookie; document.cookie将以字符串的方式返回所有的cookies,类型格式:cookie1=value;cookie2=value;cookie3=value;
使用JavaScript修改Cookie
在JavaScript中,修改cookies类似于创建cookies,如下所示:
document.cookie="username=JohnSmith;expires=Thu,18Dec201312:00:00GMT;path=/";
旧的cookie将被覆盖。
使用JavaScript删除Cookie
删除cookie非常简单。您只需要设置expires参数为以前的时间即可,如下所示,设置为Thu,01Jan197000:00:00GMT:
document.cookie="username=;expires=Thu,01Jan197000:00:00GMT";
注意,当您删除时不必指定cookie的值。
设置cookie值的函数
首先,我们创建一个函数用于存储访问者的名字:
//cookie的名称为cname,cookie的值为cvalue,并设置了cookie的过期时间expires。 functionsetCookie(cname,cvalue,exdays) { vard=newDate(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); varexpires="expires="+d.toGMTString(); document.cookie=cname+"="+cvalue+";"+expires; }
获取cookie值的函数
然后,我们创建一个函数用户返回指定cookie的值:
functiongetCookie(cname) { varname=cname+"=";//创建一个文本变量用于检索指定cookie:cname+"="。 varca=document.cookie.split(';');//使用分号来分割document.cookie字符串,并将分割后的字符串数组赋值给ca(ca=document.cookie.split(';'))。 //循环ca数组(i=0;i检测cookie值的函数
最后,我们可以创建一个检测cookie是否创建的函数。
如果设置了cookie,将显示一个问候信息。
如果没有设置cookie,将会显示一个弹窗用于询问访问者的名字,并调用setCookie函数将访问者的名字存储365天:
functioncheckCookie() { varusername=getCookie("username"); if(username!="") { alert("Welcomeagain"+username); } else { username=prompt("Pleaseenteryourname:",""); if(username!=""&&username!=null) { setCookie("username",username,365); } } }感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容可查看本站专题:《JavaScript操作DOM技巧总结》、《JavaScript页面元素操作技巧总结》、《JavaScript事件相关操作与技巧大全》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。