前端之浏览器对象模型(BOM)

1.BOM

概念: BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

通俗理解: 把浏览器当做对象,通过访问对象的属性,实现操作浏览器的一组方法

2. 页面加载事件

2.1 load事件

window.onload = function () {
  
  // 当页面加载完所有内容(包括图像、脚本文件、CSS 文件等)执行
}

2.2 unload事件

window.onunload = function () {
  // 当用户退出页面时执行(关闭页面)
}

小结:

window.onload事件 是页面所有资源加载完成时触发

window.onunload事件 是用户退出页面时触发

3.location对象

location 相当于浏览器地址栏的抽象, 通过window.location可以访问到,window可以忽略不写

我们学习location对象,目的是为了操作地址栏里面的url地址

3.1 URL

3.1.1 什么是url

概念:统一资源定位符 (Uniform Resource Locator, URL)

通俗理解: 互联网中的地址

3.1.2 URL的组成

  • scheme:通信协议

    常用的http,ftp,maito等

  • host:主机 (找计算机)

    服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。

  • port:端口号 (找软件)

    整数,可选,省略时使用方案的默认端口,如http的默认端口为80。

  • path:路径

    由零或多个'/'符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。

  • query:查询

    可选,用于给动态网页传递参数,可有多个参数,用'&'符号隔开,每个参数的名和值用'='符号隔开。

例如:name=zs

fragment: 信息片断

字符串,锚点.

3.2 location有哪些成员?

成员: 属性和方法又叫做成员

  • href 返回地址栏的整个url,设置值的时候,也可以起到跳转页面的作用

  • hash 返回地址栏url的fragment

  • host 返回地址栏url的主机名

  • search 返回地址栏url的键值对参数(query)

  • reload() 设置页面刷新

                 语法: location.reload([boolean])

参数是一个布尔值,不传参数则默认是false. 普通刷新,可能会从缓存拿数据

传true的话,是强制刷新.强制浏览器去服务器获取数据

 

 

  • assign() 设置页面跳转,记录历史

                 语法: location.assign('url地址')

  • replace() 设置页面跳转,不记录历史

                 语法:location.replace('url地址')

  • href属性赋值,也可以是想页面跳转的新效果,跟assign类似
 location.href = 'http://www.itheima.com';

小结:

  • location对象代表浏览器的地址栏.

  • 学习location的目标主要是为了操作地址栏的url地址

  • 网络中的地址我们称为url

4.history对象

  • back() 返回上一个页面

    语法: history.back();

  • forward() 前进到下一个页面

    语法: history.forward();

  • go(1/-1) 前进/ 返回

    语法: history.go(number);

    正数是前进,负数是后退.

    history.go(1); //前进一步
    history.go(2); //前进两步
    history.go(-3); //后退三步

5.navigator对象

  • userAgent 返回识别客户端设备和浏览器的字符串

    语法: navigator.userAgent

6. 定时器

6.1 设置定时器

6.1.1 setTimeout()

作用: 到达间隔时间之后,只调用一次回调函数

语法: window.setTimeout(回调函数, 间隔时间)

  • window可以省略

  • 间隔时间以毫秒为单位

  • 返回这个定时器的标识符,是数字类型

// 创建一个定时器,1秒后执行
// timerId指向这个定时器的标识符
var timerId = setTimeout(function () {
  console.log('Hello World');
}, 1000);

6.1.2 setInterval()

作用: 每隔一个间隔时间,就调用一次回调函数

语法: window.setInterval(回调函数, 间隔时间)

  • window可以省略

  • 间隔时间以毫秒为单位

  • 返回这个定时器的唯一标示符,是数字类型

// 创建一个定时器,每隔1秒调用一次
//timerId 指向这个定时器的标识符
var timerId = setInterval(function () {
  var date = new Date();
  console.log(date.toLocaleTimeString());
}, 1000);

6.2 清除定时器

6.2.1 clearTimeout()

作用: 清除以setTimeout方法设置的定时器

语法: widnow.clearTimeout(定时器的标识符) window可以忽略

6.2.2 clearInterval()

作用: 清除以setInterval方法设置的定时器

语法: widnow.clearInterval(定时器的标识符) window可以忽略

小结:

  • 设置定时器 setTimeout 和 setInterval

  • 清除定时器 clearTimeout 和 clearInterval

简单动画案例

<!DOCTYPE html>
<html lang=
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值