javascript---BOM

ECMASript是javascript的核心. 但如果要在Web中使用javascript, 那么BOM(浏览器对象模型)则无疑才是真正的核心. BOM提供了很多对象, 用于访问浏览器的功能. 这些功能与任何网页内容无关. 多年来, 缺少事实上的规范导致BOM既有意思又有问题, 因为浏览器提供商会按照各自的想法去扩展它. 于是浏览器之间共有的对象就成为了事实上的标准. 这些对象在浏览器中得以存在, 很大程度上由于它们提供了与浏览器的互操作性. W3C为了把浏览器中javascript最基本的部分标准化, 已经将BOM的主要方面纳入了HTML5的规范中.


BOM

window对象

BOM的核心对象是window, 它表示浏览器的一个实例. 在浏览器中, window对象有双重角色, 它既是通过javascript访问浏览器窗口的一个接口, 又是ECMAScript规定的Global对象. 这意味着在网页中定义的任何一个对象, 变量和函数. 都以window作为其Global对象, 因此有权访问paeseInt()等方法.

导航和打开窗口open() 方法

  1. 定义和用法
    open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。
  2. 语法
    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 对象包含有关浏览器的信息。

属性 描述
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 属性对其进行访问。

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() 用新的文档替换当前文档。
越来越多的平台(微信公众平台,新浪微博,简书,百度打赏等)支持打赏功能,付费阅读时代越来越近,特此增加了打赏功能,支持微信打赏和支付宝打赏。坚持原创技术分享,您的支持将鼓励我继续创作!