BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象、函数以及变量均是window 对象的成员。
对于不同的浏览器,表示宽度和高度的方法不同:
对于IE9及以上、Chrome、Firefox、Opera以及Safari:window.innerHeight和window.innerWidth
对于IE5、6、7、8:document.documentElement.clientHeight和document.documentElement.clientWidth
其他的:document.body.clientHeight和document.body.clientWidth
window一些方法:
window.open() - 打开新窗口
window.close() - 关闭当前窗口
window.moveTo() - 移动当前窗口
window.resizeTo() - 调整当前窗口的尺寸
window.screen对象包含有关用户屏幕的信息,可省略前面的window
screen.height和screen.width:屏幕总高度和总宽度
screen.availHeight和screen.availWidth:可用的屏幕高度和宽度,以像素计,减去界面特性,比如窗口任务栏
screen.colorDepth:屏幕色彩深度
screen.pixelDepth:屏幕色彩分辨率
window.location 对象用于获得当前页面的地址 (URL),可省略前面的window
location.href:当前页面的 URL
location.hostname:web主机名
location.pathname:当前页面的路径和文件名
location.port:web主机端口
location.protocol:使用的web协议,http:或者https:
location.assign("URL"):链接到新页面
location.replace("URL"):跳转到新页面,效果与assign相同,但是通过assign跳转的页面可通过history.back退回到原来的页面,而replace会覆盖原来的无法回退
location.reload():重新加载,即刷新页面
window.history对象包含浏览器的浏览历史,可省略前面的window
history.back():与在浏览器点击后退按钮相同
history.forward():与在浏览器中点击向前按钮相同
window.navigator对象包含浏览器的信息,可省略前面的window
navigator.appCodeName:浏览器代号
navigator.appName:浏览器名称
navigator.appVersion:浏览器版本
navigator.cookieEnabled:是否启用Cookies
navigator.platform:硬件平台
navigator.userAgent:用户代理
navigator.systemLanguage:用户代理语言
弹框,可以在js中创建三种消息框,警告框alert()、确认框confirm()、提示框prompt(),三种方法都可以省略前面的window
alert('sometext'):警告框,需要点击确定按钮才能继续进行操作
confirm('sometext'):确认框,点击 "确认"返回 true, 点击 "取消"返回 false
prompt('sometext','defaultvalue'):提示用户在进入页面前输入值,defaultvalue为默认值,如果点击 "确认"返回值为输入的值,点击 "取消"返回值为 null