BOM
一.window 对象
window 既是访问浏览器的接口,也是Global对象
1.Global 对象:目的是把全局方法集中在一个对象中,没有语法直接调用方法,不直接使用不能用new运算符创建。
2.window窗口关系及框架
(1)窗口位置:对于引用框架,最好不要使用window来引用,i使用top等属性,
screenX:设置或获取浏览器窗口左上角相对于屏幕左上角的X坐标。
screenY:设置或获取浏览器窗口左上角相对于屏幕左上角的Y坐标
screenLeft:设置或获取浏览器窗口左上角相对与屏幕左上角的X坐标。
screenTop:设置或获取浏览器窗口左上角相对于屏幕左上角的Y坐标。
这些方法存在兼容性问题。
(2)框架:
top对象始终指向浏览器窗口,但是window对象创建的窗口知识特定的实例,并不是最高层框架,就算是parent(父),指向的也是直接上层对象,有可能等于TOP但是并不就是TOP。
3.窗口
(1)相同的属性在不同的浏览器表示的属性不一样,返回的值和效果都不一样。在获取信息时的方法也不一样
innerHeight,innerWidth,outerHeight,outerWidth
这四种方法在不同浏览器有着不同的意思和效果。
(2)不同浏览器对安全限制也不一样
间歇调用和超时调用:
超时调用使用setTimeout()方法:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<p>enjoy yourself</p>
<script type="text/javascript">
setTimeout(function () {
alert("Hello world!");
}, 1000);
</script>
</body>
</html>
最开始在界面显示的是<p>标签里面的内容,在1000毫秒之后,弹出有HELLO WORLD 的提示框,对于提示框超时函数,让其显示的时间延后了1000毫秒
只要是在指定的时间尚未过去之前调用clearTimeout(),就可以完全取消超时调用。前面的代码在设置超时调用之后马上有调用了clearTimeout(),在上面的方法中添加此方法,显示被取消。
间歇调用使用setInterval()方法:
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 </head> 6 <body> 7 8 <input type="text" id="clock" size="35" /> 9 <script language=javascript> 10 var int=self.setInterval("clock()",50) 11 function clock() 12 { 13 var t=new Date() 14 document.getElementById("clock").value=t 15 } 16 </script> 17 <button onclick="int=window.clearInterval(int)">Stop interval</button> 18 19 </body> 20 </html>
此代码的效果时,使用Date方法获取当前时间,然后使用间歇调用,只要点击按钮,获取的时间就会立刻停止不会发生变化。
系统对话框:
1.alert生成警告框直接弹出警告框并且点击确定消失
2.confirm()添加一个取消按钮,可以让用户决定是否执行给定的操作
3.添加一个文本框
对于只能点确定的alert方法,后面两种方法更适用于向用户显示消息,并且请用户作出决定。,可以增强web的方便性
二.location对象(加载文档有关信息,也提供导航)
1.查询字符串。
2.location.assign("https://www.baidu.com");
//wimdow.location="https://www.baidu.com";
location.href="https://www.baidu.com";
三种方法都可以进入百度官网首页,对于location对象有很多方法改变当前加载的页面,在其中location.href最常用。
3.
三.navigator对象
(1)可以检查是否安装插件,只需要一个plugins数组就可以达到目的,但是在使用此方法时,必须要将每个插件的name属性和给定的名字进行比较。
而对于IE浏览器,则需要使用专有的方式,并且要使用唯一标识符。
(2)新增了方法处理特定类型的信息。
四screen,history对象(不常用)
前者用来表明客户端的能力。
后者用来保存用户上网的历史记录,在检测当前页面是不是用户第一个页面时,必须使用它。