screen对象

screen对象应该是BOM对象中最不常用的对象了

其主要用于提供客户端的显示能力信息

包括浏览器外部显示的信息,和像素的宽高等

这个对象的主要用于检测客户端能力,一般不会影响功能

而且由于,该对象的许多属性基本上都是只读的,所以也没有太多可以操作的空间,毕竟这是由客户端硬件所决定的

下面和昨天一样只例举主流浏览器都支持的属性与方法

详见MDN

1、availHeight  屏幕像素总高度减去系统部件高度的值(即屏幕剩余高度)

2、availWidth  屏幕像素宽度减系统部件宽度的值(即剩余屏幕宽度)

3、colorDepth  颜色表示位数(多数系统32位)

4、height  屏幕像素高度

5、width  屏幕像素宽度

PS、1,2两个属性指的系统部件是指任务栏,工具条等,不包括浏览器自身

如下图:

上面两张图是我调节windows任务栏的结果

其他的属性应该从字面意思就能理解这里就不再赘述

关于Screen对象一般的用处也就是采集一下客户端的数据,至于根据这个东西有啥骚操作,楼主还没见过

有见多识广的小伙伴可以留言告诉我

history对象

跟screen对象不一样,history对象是BOM中一个比较重要的对象了

history记录着用户的上网历史记录,该对象从窗口打开的那一刻开始记录

出于安全考虑,我们无法获取用户历史记录的具体URL

但是history提供了一些方法,让我们在不知道URL的情况下也能进行前进和后退

1、history.go()  该方法接收一个整数,负数向后跳转(后退几次),正数向前(前进几次),该方法还可以接收一个字符串作为参数,此时浏览器会跳转向包含该字符串的第一个记录(即距离当前页面最近的记录,不管前进还是后退)

2、history.back()  功能与浏览器的后退按钮一致,不需要参数

3、history.forward()  功能与浏览器的前进按钮一致,不需要参数

4、history.length  浏览器记录的条数,可以通过判断length是否为0来判断这是否是用户打开的第一个页面

PS、每个窗口的history对象是独立的

到这里JS中的BOM对象就介绍完了,明天更客户端检测,也就是前端绕不开的浏览器兼容(当然这里指的不是样式兼容)

Javascript高级编程学习笔记(31)—— BOM(5)screen、history对象的更多相关文章

  1. Javascript高级编程学习笔记(27)—— BOM(1)window对象1

    ECMAScript是JS的核心 但是对于在浏览器中运行的JS,BOM显然才是真正的核心 我们知道JS是由三个部分组成的 BOM.DOM.ECMAScript 之前的文章我们主要介绍的是ECMAScr ...

  2. Javascript高级编程学习笔记(30)—— BOM(4)navigator对象

    window对象作为浏览器的全局对象.location对象保存了页面的url信息 那么navigator对象又有什么作用呢? navigator对象 该对象最早由 Netspace Navigator ...

  3. Javascript高级编程学习笔记(29)—— BOM(3)location对象

    在JS中location是一个神奇的对象 它既是window对象的属性,也是document对象的属性 它的作用主要在于保存当前文档页面的信息,以及将 url 解析为独立的片段 location对象属 ...

  4. Javascript高级编程学习笔记(28)—— BOM(2)window对象2

    今天讲一下window对象和浏览器导航,弹窗等有关的内容 导航和打开窗口 window.open() 用于导航到某个特定 url 该方法接收四个参数 1.url 2.窗口目标(当页面中有多个框架fra ...

  5. Javascript高级编程学习笔记(1)—— JS简介

    此系列文章,用于记录所学,如有错误欢迎指出. Javascript组成 1.核心(ECMAScript) 2.文档对象模型(DOM) 3.浏览器对象模型(BOM) 1.核心(ECMAScript) E ...

  6. Javascript高级编程学习笔记(35)—— DOM(1)节点

    DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...

  7. Javascript高级编程学习笔记(3)—— JS中的数据类型(1)

    前一段时间由于事情比较多,所以笔记耽搁了一段时间,从这一篇开始我会尽快写完这个系列. 文章中有什么不足之处,还望各位大佬指出. JS中的数据类型 上一篇中我写了有关JS引入的Script标签相关的东西 ...

  8. JavaScript高级编程学习笔记(第三章之一)

    继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...

  9. Javascript高级编程学习笔记(98)—— WebGL(4) WebGL上下文(2)

    错误 Javascript与WebGL之间的一个最大区别在于,WebGL的操作一般不会抛出错误 如果希望获取WebGL的错误信息,那么就需要手动调用  gl.getError() 方法 该方法会返回以 ...

随机推荐

  1. taro Object(...) is not a function 版本更新后,H5端运行出错

    之前使用taro,版本号1.2.11 会有这样的问题,如下:gitHub找解决的,看到大佬们说更新一下版本就好了,果然更新后,此问题解决OK了. 当然,坑是走不完的,版本也更新挺快的,想着把taro和 ...

  2. Visual Studio Installer 使用案例

    1.创建自定义操作 一步:新建“安装程序类”文件 2.重写函数: public override void Install(IDictionary stateSaver) { base.Install ...

  3. spring-boot自定义favicon.ico文件

    一.将ico文件存放到resources目录的static中的favicon下. 二.在application.properties文件中增加配置 spring.mvc.favicon.enabled ...

  4. Tigase-02 tigase-server7.1.0使用git 克隆下来,并在eclipse 上运行调试

    继 Tigase-01 使用spark或spi登录Tigase服务器,这节说明下使用 eclipse git克隆 tigase-server7.1.0,并运行调试!最近有不少同学尝试去git clon ...

  5. node.js生成二维码

    var http = require('http'); var qs = require('querystring'); var qrImg = require('qr-image'); var se ...

  6. Java 调用执行其他语言的程序

    以 Java 调用 Python 为例 1. 使用 Runtime 类 该方式简单,但是增加了 Java 对python 的依赖,需要事先安装python,及python程序依赖的第三方库 Runti ...

  7. faster-rcnn 笔记

    2019-02-18,15点00 ''' 下面是别人写的原始的笔记,我在上面自己补充了一些. ''' #https://www.cnblogs.com/the-home-of-123/p/974796 ...

  8. java34

    局部内部类:定义在方法中的类 -1局部类中可引用局部变量(定义在方法中的变量),但是局部变量必须已经初始化, 因为局部变量前默认带着final. 2.局部内部类的东西只能在定义的方法中使用(在方法中创 ...

  9. python 基础 ------字符串的调用详解(1)

    Python 字符串的的调用方法~~~ 废话不多说直接奔主题 >>>>>>>>>>>>>>>>> ...

  10. idea编辑器激活码

    激活方式:License Server1.将地址 http://active.chinapyg.com/ 或者 http://idea.toocruel.net 任意一个复制到License Serv ...