BOM

ECMAScript各个版本都能兼容,只不过低版本不兼容ES6以上

BOM和DOM都是树形结构

  BOM的根是window,DOM的根是document

  BOM中包含:document(文档)、location(本地信息)、history(历史)、screen(屏幕)、navigator(浏览器信息)

  window对象(根)

      open();     close();   用于弹窗,现在基本被屏蔽了。

      window.innerWidth,window.innerHeight   :浏览器内部的宽高(兼容所有浏览器)

      window.outerWidth,window.outerHeight   :整个浏览器窗口宽高(兼容所有浏览器)

      window.screenLeft,window.screenRight    :浏览器距离屏幕左上角的距离,不能设置,只能获取。等同于(screenX,screenY)

      screenLeft、screenTop、screenX、screenY  :完全相同,都是浏览器距离屏幕左上角的距离。只能获取,不能设置。

      onpopstate事件:当点击浏览器前进或后退时触发事件

  location对象

      reload()  :重新刷新页面

      location.href   :href获取当前页面的地址,也可以设置当前页面的地址,跳转页面,会产生历史记录

      location.assign()    :不能获取,可以跳转页面,会产生历史记录

      location.replace()    :跳转页面,不能产生历史记录

      location.hash     :获取url中#后面的内容,如果没有返回空字符串

      location.search        :获取url中?和后面的内容

      location.hostname    : 返回web主机的域名

      location.port           : 返回web主机的端口

      location.pathname    :当前地址域名和端口号后面的路径

      location.protocol  : 返回web协议(http:// 或者 https://)

  history对象

      history.go()       :0 刷新页面 1 向前一个   -1 向后一个 2 向前两个  (以此类推)

      back()               :向后一页

      forward()     : 向前一页

      history.length    : 返回历史列表中的网址数

      history.state      : 获取history状态

      history.pushState(state,title,url);    //添加历史记录 ,可以做到不刷新浏览器改变url,但是网站不会检测这个url

  screen 对象

      screen.availWidth,screen.availHeight  :去除了任务栏的宽高

      screen.width,screen.height                  :全屏幕宽高

      navigator.userAgent          :返回由客户机发送服务器的user-agent头部的值

      navigator.appName        : 返回浏览器的名称(历史遗留问题)

      navigaotr.appVersion        : 返回浏览器的平台和版本信息

      navigator.platform         :返回运行浏览器的操作系统

      

posted @ 2020-01-03 19:30  早点睡觉吧  阅读(187)  评论(0编辑  收藏  举报