window
Window 对象是客户端 javascript 程序的全局对象。本章介绍 Window 对象的属性和方法,这些属性定义了许多不同的 API,但是只有一部分实际上和浏览器窗口相关。Window 对象是以窗口命名的。
计时器
setTimeout()和 setInterval()可以用来注册在指定的时间之后单词或重复调用的函数,其定义为 Window 对象的方法。
Window 对象的 setTimeout()方法用来实现一个函数在指定的毫秒之后运行。并返回一个值,这个值可以传递给 clearTimeout()用于取消这个函数的执行。
setInterval()和 setTimeout()一样,只不过函数会在指定毫秒数的间隔里重复调用:
setInterval(updateClock, 60000) // 每60秒调用一次updateClock()和 setTimeout()一样,也会返回一个值,这个值可以传递给 clearInterval(),用以取消后续函数的调用。
如果以 0 毫秒调用 setTimeout(),那么指定的函数不会立刻执行。相反会把它放到队列中,等前面的等待状态事件处理程序全部执行完成后,再“立即”调用它。
定位和导航
Window 对象的 location 对象,它表示该窗口中当前显示的文档的 URL,并定义了方法来使窗口载入新的文档。
Document 对象的 location 属性也引用到 Location 对象:
window.location === document.location // 返回trueDocument 对象也有一个 URL 属性,是文档首次载入后保存该文档的 URL的静态字符串。如果定位到文档的片段标识符(如#table-of-contents),Location 对象会做相应的更新,而 document.URL 属性不会改变。
解析 URL
WIndow 对象的 location 属性引用的是 Location 对象,它表示该窗口中当前显示的文档的 URL。Location 对象的 href 属性是一个字符串,后者包含 URL 的完整文本。Location 对象的 toString()方法返回 href 属性的值。
这个对象的其他属性---protocol,host,hostname,port,pathname 和 search,分别表示 URL 各个部分。
载入新的文档
Location 对象的 assign()方法可以使窗口载入并显示你指定的 URL 中的文档。replace()方法类似,但他在载入新的文档之前会把浏览历史中把当前文档删除。比如当要检测到用户不支持 XMLHttpREquest 对象,可用 replace 来载入静态版的 HTML 版本,这样后退时不会回到需要 XMLHttpREquest 的页面。
Location 对象还定义了 reload()方法,可以让浏览器重新载入当前文档。
使浏览器跳转到新页面有两种方法:
纯粹的片段标识符是相对 URL 的一种类型,它不会让浏览器载入新文档,只会使它滚动到文档某个位置。#top 标识符是个特殊的例子:如果文档中没有元素的 ID 是“top”,会跳转到开始处:
Location 对象的 URL 分解属性是可写的,对它们重新赋值会改变 URL 的位置,并导致重新载入一个新的文档(如果改变的是 hash 属性,则在当前文档中进行跳转):
浏览历史
Window 对象的 history 属性引用该窗口的 History 对象。History 对象的 length 属性表示浏览历史列表中的元素数量,但脚本不能访问已保存的 URL。
History 对象的 back()和 forward()方法与浏览器的“后退”和“前进”按钮一样。go()接受一个整数参数,可以在历史列表中向前或向后跳过任意多个页。
浏览器和屏幕信息
Navigator 对象
Window 对象的 navigator 属性引用的包含浏览器厂商和版本信息的对象。常用的 7 个属性:
appName:web 浏览器的全称。
appVersion:包含浏览器厂商和版本信息的详细字符串。
userAgent: 浏览器在它的 USER-AGENT HTTP 头部发送的字符串。
platform:在其上运行浏览器的操作系统的字符串。
onLine:表示浏览器当前是否连接到网络。
geolocation:
Geolocation对象定义用于确定用户地理位置信息的接口。cookie:非标准的方法,如果浏览器可以保存永久
cookie时,返回true。
Screen 对象
Window 对象的 screen 属性引用的是 Screen 对象。width 和 height 指定以像素为单位的窗口大小。属性 availWidth 和 availHeight 指定实际可用显示大小,属性 colorDepth 指定显示的 BPP 值。
Last updated