第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.用户代理检测:通过用户代理字符串来确定实际使用的浏览器。
第10章 DOM
1.文档节点是每个文档的根节点。<html>为文档元素,为文档最外层元素。HTML元素——元素节点,特性——特性节点,文档类型——文档类型节点,注释——注释节点
2.Node类型:所有节点类型都继承自Node类型,共享基本的属性和方法。
基本属性:nodeType,nodeName,nodeValue
节点关系:childNodes,parentNode,previousSibling,nextSibling,firstChild,lastChild,hasChildNodes(),ownerDocument
操作节点:appendChild(),insertBefore(),replaceChild(),removeChild(),cloneNode(深复制/浅复制),normalize()
3.Document类型:document对象是HTMLDocument(继承自Document类型)的一个实例,而且还是window对象的一个属性。
子节点:Document节点(文档节点)的子节点可能有DocumentType、Element、ProcessingInstruction、Comment。
document.documentElement,始终指向<html>元素
document.body,指向<body>元素
document.doctype,取得对<!DOCTYPE>的引用
文档信息:document.title、document.URL、document.referrer、document.domain
查找信息:getElementById()、getElementByTagName()、namedItem()、getElementByName()、
特殊集合:document.anchors、document.forms、document.images、document.links
一致性检测:document.implementation.hasFeature()
文档写入:write()、writeln()、open()、close()
4.Element类型:表现HTML元素,提供对元素标签名、子节点、特性的访问。
标签名:nodeName/tagName
html元素由HTMLElement的子类型来表示,每个html元素都有的属性:id、title、lang、dir、className