Javascript高级编程学习笔记(31)—— BOM(5)screen、history对象
screen对象
screen对象应该是BOM对象中最不常用的对象了
其主要用于提供客户端的显示能力信息
包括浏览器外部显示的信息,和像素的宽高等
这个对象的主要用于检测客户端能力,一般不会影响功能
而且由于,该对象的许多属性基本上都是只读的,所以也没有太多可以操作的空间,毕竟这是由客户端硬件所决定的
下面和昨天一样只例举主流浏览器都支持的属性与方法
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对象的更多相关文章
- Javascript高级编程学习笔记(27)—— BOM(1)window对象1
ECMAScript是JS的核心 但是对于在浏览器中运行的JS,BOM显然才是真正的核心 我们知道JS是由三个部分组成的 BOM.DOM.ECMAScript 之前的文章我们主要介绍的是ECMAScr ...
- Javascript高级编程学习笔记(30)—— BOM(4)navigator对象
window对象作为浏览器的全局对象.location对象保存了页面的url信息 那么navigator对象又有什么作用呢? navigator对象 该对象最早由 Netspace Navigator ...
- Javascript高级编程学习笔记(29)—— BOM(3)location对象
在JS中location是一个神奇的对象 它既是window对象的属性,也是document对象的属性 它的作用主要在于保存当前文档页面的信息,以及将 url 解析为独立的片段 location对象属 ...
- Javascript高级编程学习笔记(28)—— BOM(2)window对象2
今天讲一下window对象和浏览器导航,弹窗等有关的内容 导航和打开窗口 window.open() 用于导航到某个特定 url 该方法接收四个参数 1.url 2.窗口目标(当页面中有多个框架fra ...
- Javascript高级编程学习笔记(1)—— JS简介
此系列文章,用于记录所学,如有错误欢迎指出. Javascript组成 1.核心(ECMAScript) 2.文档对象模型(DOM) 3.浏览器对象模型(BOM) 1.核心(ECMAScript) E ...
- Javascript高级编程学习笔记(35)—— DOM(1)节点
DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...
- Javascript高级编程学习笔记(3)—— JS中的数据类型(1)
前一段时间由于事情比较多,所以笔记耽搁了一段时间,从这一篇开始我会尽快写完这个系列. 文章中有什么不足之处,还望各位大佬指出. JS中的数据类型 上一篇中我写了有关JS引入的Script标签相关的东西 ...
- JavaScript高级编程学习笔记(第三章之一)
继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...
- Javascript高级编程学习笔记(98)—— WebGL(4) WebGL上下文(2)
错误 Javascript与WebGL之间的一个最大区别在于,WebGL的操作一般不会抛出错误 如果希望获取WebGL的错误信息,那么就需要手动调用 gl.getError() 方法 该方法会返回以 ...
随机推荐
- 2. 2A03简介
2A03简介 1.CPU 1.1 内部寄存器 1.累加寄存器A(Accumulator):8位寄存器,用于同算术逻辑单元(ALU)共同完成各种算术逻辑运算,它既为ALU提供原始操作数又担任存放ALU运 ...
- python zlib ,zlib 压缩流
zlib 字符串:使用zlib.compress可以压缩字符串.使用zlib.decompress可以解压字符串. 数据流:压缩:compressobj,解压:decompressobj ...
- selenium启动谷歌浏览器
谷歌浏览器可以是任意版本. 根据谷歌浏览器的版本,下载响应的浏览器驱动(百度:谷歌驱动与谷歌浏览器版本映射表). 我用的是win7 ,下载win32就行了.下载解压之后可以放在python的安装目录下 ...
- Python语言学习之Python入门到进阶
人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...
- spring boot利用controller来测试写的类
我们在开发spring boot应用程序的时候,往往需要测试某个写好的类,但是在测试的时候发现不太好测试,用Junit等测试框架,总是会报一些问题,大致是找不到配置文件以及无法利用spring创建的对 ...
- 非WifI环境处理
//1.创建网络状态监测管理者 AFNetworkReachabilityManager *mangerStatus = [AFNetworkReachabilityManager sharedMan ...
- nginx做yum源
我这边环境是原先有个nginx只是做了代理转发,现在需要在通过nginx做yum源方便后期安装源 1.原先的配置代理转发,为不影响原先配置及端口,在http中最末尾加“include include ...
- tomcat启动,但是访问不了可能的一种状况。
Tomcat启动但是访问http://localhost:8080/或者http://127.0.0.1:8080/ 访问不了的时候, 有可能是因为你用了代理,把代理去掉就可以了
- dubbo服务达成jar包
<build> <finalName>dubbo-provider</finalName> <!-- jar包名,一般设置为提供者服务名 --> < ...
- 分享一个可以把 iOS/Android 应用的下载链接合成一个二维码的工具
芝麻二维码官网:https://www.hotapp.cn 1.在iOS系统设备扫描时 如果是微信扫描,因为第一步里使用了中间页面,此时无法直接跳转到App Store了,所以需要给出提示页面,提示用 ...