浏览器对象模型(BOM)使得JavaScript能够和浏览器对话。
1. location.hostname: 返回Web主机的域名 2. location.pathname: 返回当前页面的路径和文件名称 3. location.port: 返回Web主机的端口 4. location.protocol: 返回所使用的web协议(eg: http、https) 5. window.location.href: 返回(当前页面的)整个URL
window.history对象在编写的时候不可使用window这个前缀
* history.back() - 与浏览器点击后退按钮相同 * history.forward() - 与浏览器点击向前按钮相同
go(args)中args标示跳转页面的个数 - history.go(1): 前进一个页面 - history.go(-1): 后退一个页面 - history.go(0): 刷新所在页面
window.navigator对象存储浏览器信息
navigator.appCodeName // 浏览器代号 navigator.appName // 浏览器名称 navigator.appVersion // 浏览器版本 navigator.cookieEnabled // 启动Cookies navigator.platform // 硬件平台 navigator.userAgent // 用户代理 navigator.language // 用户代理语言
JavaScript中创建三种消息框:警告框、确认框、提示框
window.alert("sometext");
var res = window.confirm("按下按钮"); if(res == true){ x = "你按下了确定按钮!"; }else { x = "你按下了取消按钮!"; }
var username = window.prompt("请输入你的名字", "Harry Potter"); if(username != null && person != ""){ x = "Hi " + username + " ! How you feel?"; }
使用JavaScript可以在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行(计时事件),两个关键方法是:
Cookie:存储Web页面的用户信息
Cookie是一些数据,存储在电脑的文本文件中。
客户端向浏览器发送Web页面时,连接关闭后不会记录用户的信息。
Cookie作用: 解决如果记录客户端的用户信息
function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + " = " + cvalue + ";" + expires; }
function getCookie(cname) { var name = cname + " = "; var ca = document.cookie.split(";"); for(var i = 0; i < ca.length; i++){ var c = ca[i].trim(); if(c.indexOf(name) == 0) return c.substring(name.length, c.length); } return ""; }
function checkCookie() { var user = getCookie("username"); if(user != "") { window.alert("欢迎" + user + " 再次访问 "); } else { user = prompt("请输入你的名字:"); if(user != "" && user != null){ setCookie("username", user, 30); } } }