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() 方法 该方法会返回以 ...
随机推荐
- mac环境下mongodb的安装和使用
mac环境下mongodb的安装和使用 简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据 ...
- SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束
一直在关注软件设计方面,数据库方面就忽略了很多,最近在设计数据库时遇到了一些小麻烦,主要是数据库中约束和性能调优方面的应用,以前在学习 Sql Server 2000,还有后来的 Sql Server ...
- Python爬虫——Request模块
# 使用 Requests 发送网络请求# 1.导入 Requests 模块import requests# 2.尝试获取某个网页 # HTTP 请求类型r = requests.get('https ...
- 进军的socket
在学socket有时候我们会遇到这种问题: 解决方法一: 在服务端中加入:severTCP.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) ...
- linux学习第十八天 (Linux就该这么学)
今天讲了23章节,OPENLDAP安装配置,感觉好难 ,不过考试测试,CA也没有了,主要还讲了数据库mariadb,安装,配置,使用,基本的数据库管理,还讲了,网络安装系统,我暂时先不写其它了,上传图 ...
- 1. String可调用方法
class str(basestring): """ str(object='') -> string Return a nice string represent ...
- mercury水星路由wifi连接不上的坑
如题,房东发给我的水星路由,是有些bug的,比方说我的手机会偶尔某天连上了没有网络,但是其他wifi设备和有线就没问题. 这种wifi网络很差甚至没有网络的问题会随机在你的wifi设备上发生,你甚至连 ...
- eclipse汉化包
把eclipse英文汉化成中文,首先我们要知道自己安装的eclipse版本,可以在eclipse的安装目录下找到readme用浏览器打开查看版本,或者用记事本打开.eclipseproduct文件,查 ...
- 微信小程序开发之搞懂flex布局5——cross axis
Cross Axis——交叉轴,与Main Axis(主轴)垂直交叉. main axis is row or row-reverse the cross axis runs down the col ...
- Java:ConcurrentHashMap是弱一致的
本文将用到Java内存模型的happens-before偏序关系(下文将简称为hb)以及ConcurrentHashMap的底层模型相关的知识.happens-before相关内容参见:JLS §17 ...