浏览器窗口本身理解一些事件,包括从当载入页面的时候触发的事件,到当访问者离开页面的时候触发的事件:

·load。当Web浏览器完成下载Web页面文件的全部内容之后(HTML文件本身,加上任何链接图像、Flash电影和外部的CSS和JavaScript文件),load事件触发。Web设计师习惯上会使用这个事件来启动操作Web页面的任何程序。然而,如果有很多的图形或者其他较大的链接文件的话,载入一个Web页面及其所有的文件可能会花很长的时间。在某些情况下,这意味着在页面已经在浏览器中显示相当一段时间后,JavaScript程序都还没有运行。好在jQuery提供了load事件的一个响应性要好得多的替代。

·resize。当我们通过单击最大化按钮或者拖动浏览器的调整大小指针来调整浏览器窗口的大小的时候,浏览器会触发resize事件。当访问者改变自己浏览器窗口的大小的时候,一些设计者使用这一事件来改变页面的布局。例如,在访问者重新调整浏览器窗口的大小之后,可以查看浏览器的宽度,如果确实变宽了,可以改变设计以添加更多的内容列来填充空间。

注意:当重新调整窗口的大小的时候,Internet Explorer、Opera和Safari都触发多个resize事件,而Firefox只是在已经释放了调整大小指针之后触发resize事件。

·scroll。当拖动滚动条的时候,或者使用键盘(up/down/home/end等键)或鼠标滚轮来滚动Web页面的时候,触发scroll事件。如果页面没有一个滚动条,就不会触发scroll事件。一些程序员使用这一事件来帮助搞清楚(在页面滚动后)元素出现在屏幕的什么位置。

·unload。当单击了连接到其他页面的链接、关闭一个浏览器标签页或者关闭浏览器窗口的时候,Web浏览器都会触发unload事件。它就像是JavaScript程序的最后一次喘息,并且给我们一个机会来完成浏览器离开页面之前的最后一次操作。恶意的程序员曾经使用这个事件来使得访问者难以离开页面。每次访问者试图关闭该页面,就会出现一个新的窗口并返回该页面。但是,也可以用这个事件来做些好事情。例如,程序可以警告访问者他已经开始填写一个表单但是还没有提交,或者程序可以把表单数据发送给Web服务器以便在访问者退出页面之前保存数据。