ECMASript是javascript的核心. 但如果要在Web中使用javascript, 那么BOM(浏览器对象模型)则无疑才是真正的核心. BOM提供了很多对象, 用于访问浏览器的功能. 这些功能与任何网页内容无关. 多年来, 缺少事实上的规范导致BOM既有意思又有问题, 因为浏览器提供商会按照各自的想法去扩展它. 于是浏览器之间共有的对象就成为了事实上的标准. 这些对象在浏览器中得以存在, 很大程度上由于它们提供了与浏览器的互操作性. W3C为了把浏览器中javascript最基本的部分标准化, 已经将BOM的主要方面纳入了HTML5的规范中.
BOM
window对象
BOM的核心对象是window, 它表示浏览器的一个实例. 在浏览器中, window对象有双重角色, 它既是通过javascript访问浏览器窗口的一个接口, 又是ECMAScript规定的Global对象. 这意味着在网页中定义的任何一个对象, 变量和函数. 都以window作为其Global对象, 因此有权访问paeseInt()等方法.
导航和打开窗口open() 方法
定义和用法
open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。-
语法
window.open(URL,name,features,replace)参数 描述 URL 一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。
|name |一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和下划线,该字符声明了新窗口的名称。这个名称可以用作标记 < a > 和 < form > 的属性 target 的值。如果该参数指定了一个已经存在的窗口,那么 open() 方法就不再创建一个新窗口,而只是返回对指定窗口的引用。在这种情况下,features 将被忽略。|
|features| 一个可选的字符串,声明了新窗口要显示的标准浏览器的特征。如果省略该参数,新窗口将具有所有标准特征。在窗口特征这个表格中,我们对该字符串的格式进行了详细的说明。|
|replace|一个可选的布尔值。规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:
true - URL 替换浏览历史中的当前条目。
false - URL 在浏览历史中创建新的条目。|
窗口关系以及框架
如果页面中包含框架, 则每个框架都拥有自己的window对象, 并且保存在frames集合中. 在frames集合中, 可以通过数值索引(从0开始, 从左至右, 从上到下)或者框架名称来访问相应的window对象, 每个window对象都有一个name属性, 其中包含框架的名称.
更多属性内容请查阅W3Cschool
Navigator 对象
Navigator 对象包含有关浏览器的信息。
Navigator 对象属性
属性 | 描述 |
---|---|
appCodeName | 返回浏览器的代码名。 |
appMinorVersion | 返回浏览器的次级版本。 |
appName | 返回浏览器的名称。 |
appVersion | 返回浏览器的平台和版本信息。 |
browserLanguage | 返回当前浏览器的语言。 |
cookieEnabled | 返回指明浏览器中是否启用 cookie 的布尔值。 |
cpuClass | 返回浏览器系统的 CPU 等级。 |
onLine | 返回指明系统是否处于脱机模式的布尔值。 |
platform | 返回运行浏览器的操作系统平台。 |
systemLanguage | 返回 OS 使用的默认语言。 |
userAgent | 返回由客户机发送服务器的 user-agent 头部的值。 |
userLanguage | 返回 OS 的自然语言设置。 |
History 对象
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
方法 | 描述 |
---|---|
back() | 加载 history 列表中的前一个 URL。 |
forward() | 加载 history 列表中的下一个 URL。 |
go() | 加载 history 列表中的某个具体页面。 |
History 对象方法
方法 | 描述 |
---|---|
back() | 加载 history 列表中的前一个 URL。 |
forward() | 加载 history 列表中的下一个 URL。 |
go() | 加载 history 列表中的某个具体页面。 |
Location 对象
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
Location 对象属性
属性 | 描述 |
---|---|
hash | 设置或返回从井号 (#) 开始的 URL(锚)。 |
host | 设置或返回主机名和当前 URL 的端口号。 |
hostname | 设置或返回当前 URL 的主机名。 |
href | 设置或返回完整的 URL。 |
pathname | 设置或返回当前 URL 的路径部分。 |
port | 设置或返回当前 URL 的端口号。 |
protocol | 设置或返回当前 URL 的协议。 |
search | 设置或返回从问号 (?) 开始的 URL(查询部分)。 |
每次修改location的属性(hash除外), 页面都会以新URL重新加载
Location 对象方法
属性 | 描述 |
---|---|
assign() | 加载新的文档。 |
reload() | 重新加载当前文档。 |
replace() | 用新的文档替换当前文档。 |