第8章 BOM
1.window对象:既是BOM的核心对象,也是ES的Global对象。
2.如果页面包含框架(frame),每个框架都有自己的window对象,保存在frames集合中。
3.top对象始终指向最外层框架,即浏览器窗口,使用它可以在一个框架中访问另一个框架。
parent对象始终指向当前框架的上层框架。
self对象始终指向window。
4.window对象关于窗口位置的属性:
(1)screenLeft和screenTop(火狐不支持)/screenX和screenY(IE不支持)IE指的是文档区相对屏幕的距离,chrome/firefox/safari指的是浏览器窗口相对屏幕距离
(2)moveTo(x,y)移动到(x,y)坐标处
moveBy(x,y)在水平和垂直方向分别移动x像素和y像素
(3)innerWidth和innerHeight视口宽度和高度
outWidth和outHeight浏览器窗口大小(在chrome中都是表示视口大小)
(4)resizeTo(x,y)将浏览器窗口调整为x宽和y高
resizeBy(x,y)x,y表示新窗口与原窗口的差
5.导航到特定目标或者打开新窗口:window.open(URL,目标位置,特性字符串,是否取代历史记录)
A.opener表示打开这个窗口的原始窗口对象
A.closed表示浏览器是否被关闭
6.如果弹出窗口被浏览器内置程序屏蔽,window.open()会返回null,如果被插件屏蔽,会抛出错误,必须用try-catch捕捉。
7.超时调用:setTimeout(执行的代码,时间)。时间是指再过多久把当前任务添加到任务队列中
clearTimeout()取消超时调用
8.间歇调用:setInterval(执行的代码,时间)。
clearInterval()取消间歇调用。后一个间歇调用可能会在前一个间歇调用结束前启动(视要执行代码而定),所以一般都是用超时调用模拟间歇调用
9.系统对话框:alert(),confirm(),prompt(),window.print(),window.find()
10.location对象:提供当前加载文档相关信息。既是window对象的属性,也是document对象的属性。
11.location.assign(url):打开一个新的URL,跟设置window.location=url和location.href=url一样。浏览器历史记录会增加一条记录,用户可以后退。
location.replace(url):打开一个新的URL,历史记录不会新增,用户不能后退。
location.reload():重新加载当前页面
12.navigator对象:提供浏览器相关信息
13.navigator.plugins[i]:检测是否安装特定插件
navigator.registerContentHandler()和navigator.registerProtocolHandler()
14.其他对象:screen对象,history对象
第9章 客户端检测
1.能力检测:(1)先检测达成目的的最常用的特性。(2)必须测试实际要用到的特性。(确保判断条件指明的唯一性)
检测某个特性是否会按适当方式行事,而不是检测是否存在。P218
2.怪癖检测:运行一小段代码,确定某一特性不能正常工作。
3.用户代理检测:通过用户代理字符串来确定实际使用的浏览器。