BOM基础原理与应用

一、基本认知

        BOM是browser object model的缩写,简称浏览器对象模型。 

        BOM主要用于管理窗口与窗口之间的通讯,因此核心对象是window。BOM 比 DOM 更大,它包含 DOM。

        BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。主要包括document、location、navigation、screen、history对象。

二、window常见对象

1. location对象

        window对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL,因为这个属性返回的是一个对象,所以讲这个属性也称为location对象。

        常见属性:

  •         location.href:获取完整URL地址,对齐赋值时用于地址的跳转
  •         location.search:获取地址中携带的参数,具体为网址中?后面部分
  •         location.hash:获取地址中的哈希值,具体为网址中#后面的部分(哈希值改变页面不跳转,但页面中内容变动)
  •         location..reload:强制刷新当前页面

2. navigator对象

        navigator 对象包含有关浏览器自身的信息,最常用的是 userAgent,该属性可以返回由客户机发送服务器的 user-agent 头部的值。

        常用:通过userAgent检测浏览器版本及平台

// 检测 userAgent(浏览器信息)
      !(function () {
        const userAgent = navigator.userAgent; // 验证是否为Android或iPhone
        const android = userAgent.match(/(Android);?[\s\/]+([\d.]+)?/);
        const iphone = userAgent.match(/(iPhone\sOS)\s([\d_]+)/); 
        // 如果是Android或iPhone,则跳转至移动站点
        if (android || iphone) {
          location.href = "http://m.goudong.com"; //换成自己的网址
        }
      })();

3. history对象

        管理网页的历史记录,例如前进后退。

  •         history.back():后退
  •         history.forward():前进
  •         history.go(参数):参数=1前进一个页面;-1后退一个页面

三、本地存储

1. 概念: 将数据存储在用户浏览器中,刷新页面不丢失数据

2. 语法:

    <script>
        // 本地存储只能存储字符串!
        localStorage.setItem('uname', 'goodboy') // 存(key, value)
        localStorage.getItem('uname') //取
        localStorage.removeItem('uname') // 删

        // 若想保存复杂数据类型(例如对象、数组),需要把其数据类型转换成json字符串
        const goods = {
            name: 'goodboy',
            gender: 'boy'
        }
        localStorage.setItem('goods', JSON.stringify(goods)) //JSON.stringify(XX)
        const obj = JSON.parse(localStorage.getItem('goods')) //JSON.parse()取出本地存储中的字符串并转为对象
        console.log(obj);
    </script>

未完待续。。。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值