BOM(浏览器对象模型)

BOM(浏览器对象模型)

一、window对象

     BOM的核心对象是window,它表示浏览器的一个实例。在浏览器中,window有两个角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的global对象。这意味着在网页中定义的任何一个对象、变量、函数,都以window作为其global对象。

二、location对象

     location对象是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关信息,还提供了一些导航功能。事实上,location对象是很特别的一个对象,因为它既是window对象的属性,也是document对象的属性;换句话说,window.location和document.location引用的是同一个对象。location对象的用处不只表现在它保存着当前文档的信息,还表现在它将URL解析为独立的片段,让开发人员可以通过不同的属性访问这些片段。
查询字符串参数:虽然通过上面的属性可以访问到location对象的大多数信息,但其中访问URL包含的查询字符串的属性并不太方便。尽管location.search返回从问好到URL末尾的所有内容,但却没办法范围对值以及字符串参数,我们可以通过一下函数例子来获取我们想要的参数内容,函数最后返回一个对象。
很棒的例子

function getQieryStringArgs() {
        // 取得查询字符串并去掉开头的句号
        var qs = (location.search.length > 0 ? location.search.substring(1) : "")
        // 保存数据的对象
        args = {}
        // 取得每一项
        items = qs.length ? qs.split("&") : [],
        item = null,
        name = null,
        value = null,
        // 在for循环中使用
        i = 0,
        len = items.length;
        //逐个将每一项添加到args对象中
        for (i = 0; i < len; i++) {
          item = items[i].split("=");
          name = decodeURIComponent(item[0]); //decodeURIComponent():此函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
          value = decodeURIComponent(item[1]);

          if (name.length) {
            args[name] = value;
          }
        }
        return args;
      }

位置操作符
使用location对象可以通过很多种方式来改变浏览器的位置。我们可以通过location.assign(“http://www.baidu.com”),这种方式来访问一个新网站,同样网页浏览记录中也会记录。
它的效果和 window.location = “http://www.baidu.com” || location.href = “http://www.baidu.com”;(加粗最常用)

navigator对象

重点:navigator对象的属性通常用于检测显示网页的浏览器类型。虽然其他浏览器也通过其他方式提供了相同或相似的信息(IE: window.clientInformation;Opera: window.opera),但是navigator对象却是所有支持JavaScript的浏览器所共有的。
此处内容很多,用到的时候到《JS高级程序设计》P213 找就是

screen对象

描述:screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器信息,如像素宽度和高度等。每个浏览器中的screen对象都包含着各不相同的属性。
此对象同上,了解即可,其属性用的时候直接在浏览器F12 找这个对象,然后找属性即可,没什么好说的

history对象

       history对象保存着用户上网的历史记录,从窗口被打开的那一刻起。因为history是window对象的属性,因此每个浏览器窗口、每个标签页乃至每个框架,都有自己的history对象与特定的window对象关联。出于安全考虑,开发人员无法得知用户浏览过的URL。不过,借由用户访问过的页面列表,同样可以在不知道实际URL的情况下实现后退和前进。
go()方法:使用go方法可以在用户的历史记录中任意跳转,可以先后也可以向前。这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值。负数表示先后跳转,类似于左上角前进后退按钮。
back()方法:此方法模拟浏览器后退页面
forward()方法:此方法模拟浏览器前进页面
back() 和 forward() 方法相当于把go()拆分开来写了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值