浏览器对象模型(BOM)使JavaScript有能力与浏览器"对话".
浏览器对象模型(Browser Object Model)尚无正式标准.
Window对象
所有浏览器都支持window对象,他表示浏览器窗口
全局变量是window对象的属性
全局函数是window对象的方法
甚至HTML DOM的document也是window对象的属性之一
window.document.getElementById("header");
window尺寸:
window.innerHeight-浏览器窗口的内部高度 较新版本支持该方法
document.documentElement.clientHeight IE 8 7 6 5支持该属性
或者document.body.clientHeight;
宽度同理...
一般兼容性写法:(宽度同理)
var h = window.innerHeight||
document.documentElement.clientHeight||
document.body.clientHeight;
window其他方法:
打开新窗口:window.open();
关闭当前窗口:window.close();
移动当前窗口:window.moveTo();
调整当前窗口的尺寸:window.resizeTo();
window.screen对象
该对象包含有关用户屏幕的信息
可用屏幕的高度:window.screen.availWidth;
可用屏幕的宽度:window.screen.availHeight;
注:返回访问者屏幕的宽高都是以像素计,减去界面特性,比如窗口任务栏等
window.location对象
该对象用于获得当前页面的地址(URL),并把浏览器重定向到新的页面
location.hostname 返回web主机的域名
location.pathname返回当前页面的路径和文件名
locaton.port返回web主机的端口(80or443)
location.protocl返回所使用的web协议(http://或https://)
location.href返回当前页面的url
location.assign(url)方法加载新的文档,类似与跳转到新的页面
window.History对象
history.back() 与在浏览器点击后退按钮相同
history.forward() 与在浏览器中点击按钮向前想听
window.navigator
navigator.appCodeName
navigator.appName
navigator.appViersion
navigator.cookieEnabled
......
警告:来自navigator对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
- navigator数据可被浏览器使用者更改
- 浏览器无法报告晚于浏览器发布的新操作系统
浏览器检测:
由于navigator可误导浏览器检测,使用对象检测可用来嗅探不同的浏览器
由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器,例如,由于只有Opera支持属性window.opera,您可以据此识别出Opera.
JavaScript消息框
警告框
警告框经常用于确保用户可以得到某些信息,当警告框出现后,用户需要点击确定按钮才能继续进行操作.
语法:alert();
确认框
确认框用于可以验证或者接收某些信息.
当确认框出现后,用户需要点击确定或者取消按钮才能继续操作.如果用户点击确认,那么返回值为true,如果用户点击取消,那么返回值为false
confirm("文本");
提示框
提示框经常用于提示用户在进入页面前输入某个值.当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵.如果用户点击确认,那么返回值为输入的值,如果用户点击取消,那么返回值为null.
prompt("文本","默认值");
JavaScript计时
通过使用JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码.而不是在函数被调用后立即执行
setTimeout() 未来的某时刻执行代码
clearTimeOut() 取消setTimeout()
示例:
var t = setTimeout("执行的函数()",间隔时间);执行计时函数
clearTimeout(t);执行停止函数