JavaScript第八章
-
理解window对象——BOW的核心
-
window对象
-
全局作用域
-
所有在全局作用域中声明 的变量、函数都会变成 window 对象的属性和方法
-
窗口关系及框若架
-
页面中若包含框架,则每个框架都拥有自己的window 对象,并且保存在frames 集合中。在frames 集合中,可以通过数值索引(从 0开始,从左至右,从上到下)或者框架名称来访问相应的 window 对 象。每个 window 对象都有一个 name 属性,其中包含框架的名称。
-
窗口位置
-
用来确定和修改 window 对象位置的属性和方法: 。
IE、Safari、Opera 和 Chrome 都提供了 screenLeft 和 screenTop 属性
Firefox 则在 screenX 和 screenY 属性
Opera 虽然也支持 screenX 和 screenY 属性,但与 screenLeft 和 screenTop 属性并不对应。 -
窗口大小
-
innerWidth 和innerHeight 则表示该容器中页面视图区的大小(减去边框宽度)
在移动设备中,window.innerWidth 和 window.innerHeight 保存着可见视口,也就是屏幕上可 见页面区域的大小。
resizeTo()和 resizeBy()方法可以调整浏览器窗口的大小。这两个方法都接收两个 参数,其中 resizeTo()接收浏览器窗口的新宽度和新高度,而 resizeBy()接收新窗口与原窗口的宽 度和高度之差。 -
导航和打开窗口
-
window.open()方法:导航到一个特定的 URL,也可以打开一个新的浏览器窗口。这个 方法接收 4个参数:要加载的 URL、窗口目标、一个特性字符串以及一个表示新页面是否取代浏览 器历史记录中当前加载页面的布尔值。
- 弹出窗口
-
如果给 window.open()传递的第二个参数并不是一个已经存在的窗口或框架,那么该方法就会根 据在第三个参数位置上传入的字符串创建一个新窗口或新标签页。如果没有传入第三个参数,那么就会 打开一个带有全部默认设置(工具栏、地址栏和状态栏等)的新浏览器窗口(或者打开一个新标签页— —根据浏览器设置)。
- 安全限制
-
为了解决广告,有些浏览器开始在弹出窗口配置方面增加很多限制
- 弹出窗口屏蔽程序
-
大多数浏览器都内置有弹出窗口屏蔽程序,用window.open()检查是否返回null。
-
间歇调用和超时调用
-
JavaScript 是单线程语言,它允许通过设置超时值和间歇时间值来调度代码在特定的时刻执行。
- 超时调用:使用 window 对象的 setTimeout()方法,它接受两个参数:要执行的代码和以毫秒 表示的时间(即在执行代码前需要等待多少毫秒)。其中,第一个参数可以是一个包含 JavaScript代码的 字符串(就和在 eval()函数中使用的字符串一样),也可以是一个函数。返回一个ID,可以用它和clearTimeout()方法来取消调用。
- 间歇调用:它会按照指定的时间间隔重复执行代码,直至间歇调用被取消或 者页面被卸载, setInterval(),它接受的参数与 setTimeout()相同:要执行的代码(字符串或函数)和每次执行之前需要等待的毫秒数。与steTimeout()类似。
-
系统对话框
-
浏览器通过 alert()、confirm()和 prompt()方法可以调用系统对话框向用户显示消息。在弹出对话框的时候,代码停止执行。
- alert():alert()方法的结果就是向用户显示一个系统对话框,其中包含指定的文本和一个 OK(“确定”)按钮
- confirm():和alertI(),差不多,不过还有一个取消按钮。确定返回OK,取消返回false。
- prompt():稍微复杂一些,提示框中除了显示 OK和 Cancel按钮之外,还会显示一个文本输入域,以供用户在其中输入内容。 prompt()方法接受两个参数:要显示给用户的文本提示和文本输入域的默认值(可以是一个空字符串)。如果用户单击了 OK按钮,则 prompt()返回文本输入域的值;如果用户单击了 Cancel或没有单击 OK而是通过其他方式关闭了对话框,则该方法返回 null。
-
-
-
-
location 对象
-
location 对象的用处不只表现在它保存着当前文档的信息,还表现在它将 URL 解析为独立的片段,让 开发人员可以通过不同的属性访问这些片段
-
- 查询字符串参数 :
-
location.search 返回从问号到 URL末尾的所有内容,但却没有办法逐个 访问其中的每个查询字符串参数,,可以像创建一个函数,用以解析查询字符串,然后返 回包含所有参数的一个对象。
-
位置操作
- 主要是location对象的方法来操作,比如:
-
//假设初始 URL 为 http://www.wrox.com/WileyCDA/
//将 URL 修改为"http://www.wrox.com/WileyCDA/#section1" location.hash = “#section1”;
//将 URL 修改为"http://www.wrox.com/WileyCDA/?q=javascript" location.search = “?q=javascript”;
//将 URL 修改为"http://www.yahoo.com/WileyCDA/" location.hostname = “www.yahoo.com”;
//将 URL 修改为"http://www.yahoo.com/mydir/" location.pathname = “mydir”;
//将 URL 修改为"http://www.yahoo.com:8080/WileyCDA/" location.port = 8080;
-
- 查询字符串参数 :
-
-
使用navigator 对象了解浏览器
-
navigator 对象的属性通常用于检测显示网页的浏览器类型
-
检测插件
-
用piugins数组来实现:
name:插件的名字。
description:插件的描述。
filename:插件的文件名。
length:插件所处理的 MIME类型数量。-
检测 IE中的插件:
IE 中检测插件的唯一方式就是 使用专有的 ActiveXObject 类型,并尝试创建一个特定插件的实
-
-
注册处理程序
-
registerContentHandler()方法
-
接收三个参数::要处理的 MIME类型、可以处理该 MIME 类型的页面的 URL以及应用程序的名称
-
-
registerProtocolHandler()方法
-
与上面类似三个参数但是参数是1.要处理的协 议(例如,mailto 或 ftp)、2.处理该协议的页面的 URL、3.应用程序的名称
-
-
-
screen 对象
- screen 对象基本上只 用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等。
-
history 对象
- history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。有几个方法来调试历史纪录,如go(forward)方法,back方法,还有一个length属性,保存着历史记录的数量。