JavaScript浏览器对象
Window对象
window对象是BOM的核心,window对象指当前的浏览器窗口
所有JavaScript全局对象、函数以及变量均自动成为window对象的成员
全局变量是window对象的属性
全局函数是window对象的方法
设置HTML DOM的document也是window对象的属性之一
window尺寸
window.innerHeight - 浏览器窗口的内部高度
window.innerWidth - 浏览器窗口的内部宽度
window方法
window.open() - 打开新窗口
window.close() - 关闭当前窗口
计时事件
通过使用JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行,我们称之为计时事件。
计时方法
1、setInterval() - 间隔指定的毫秒数不停地执行指定的代码
clearInterval() - 方法用于停止setInterval()方法执行的函数代码
2、setTimeout() - 暂停制定的毫秒数后执行指定的代码
clearTimeout() -用于停止执行setTimeout()方法的函数代码
History对象
window.history对象包含浏览器的历史url的集合
History方法
history.back() - 与浏览器点击后退按钮相同
history.forward() - 与浏览器中点击按钮向前相同
history.go() - 进入历史中的某个页面
Location对象
window.location对象用于获得当前页面的地址url,并把浏览器重定向到新的页面
Location对象的属性
location.hostname 返回web主机的域名
location.pathname 返回当前页面的路径和文件名
location.port返回web主机的端口
location.protocol返回所使用的web协议(http://或https://)
Screen对象
window.screen对象包含有关用户屏幕的信息
属性
screen.availWidth 可用屏幕宽度
screen.availHeight 可用的屏幕高度
screen.Height 屏幕高度
screen.Width 屏幕宽度
Navigator对象
window.navigator 对象包含有关访问者浏览器的信息。在编写时可不使用 window 这个前缀。
navigator.appCodeName
navigator.appName
navigator.appVersion
navigator.cookieEnabled
navigator.platform
navigator.userAgen
navigator.systemLanguage
来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:navigator 数据可被浏览器使用者更改,浏览器无法报告晚于浏览器发布的新操作系统。
浏览器检测
由于 navigator 可误导浏览器检测,使用对象检测可用来嗅探不同的浏览器。
由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器。例如,由于只有 Opera 支持属性 "window.opera",您可以据此识别出 Opera。
例子:if (window.opera) {...some action...}
弹出窗口:可以在JavaScript中创建三种消息框。警告框、确认框、提示框
(1)警告框经常用于确保用户可以得到某些信息。
当警告框出现后,用户需要点击确定按钮才能继续进行操作。
alert("文本")
(2)确认框用于使用户可以验证或者接受某些信息。
当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。
如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。
confirm("文本")
(3)提示框经常用于提示用户在进入页面前输入某个值。
当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。
如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。
prompt("文本","默认值")
Cookies 用来识别用户
cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。
http://www.w3school.com.cn/js/js_cookies.asp
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试</title> </head> <body onload="checkCookie()"> <script> function setCookie(c_name,value,expiredays){ var exdate = new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString()); } function getCookie(c_name) { if(document.cookie.length>0){ c_start = document.cookie.indexOf(c_name+"="); if(c_start!=-1) { c_start = c_start +c_name.length +1; c_end = document.cookie.indexOf(",",c_start); if(c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)) } } return ""; } function checkCookie(){ username=getCookie('username'); if (username!=null && username!="") { alert('Welcome again '+username+'!'); } else { username=prompt('Please enter your name:',""); if (username!=null && username!="") { setCookie('username',username,365); } } } </script> </body> </html>