浏览器根对象window之screen
1. screen
1.1 availHeight/Width
screen.availWidth返回浏览器窗口可占用的水平宽度(单位:像素)。
screen.availHeight返回浏览器窗口在屏幕上可占用的垂直空间,即最大高度。
1.2 availLeft/Top
availTop:浏览器窗口在屏幕上的可占用空间上边距离屏幕上边界的像素值。
availLeft:返回浏览器可用空间左边距离屏幕(系统桌面)左边界的距离。
大多数情况下,该属性返回 0。
如果你在有两个屏幕的电脑上使用该属性,在右侧屏幕计算该属性值时,返回左侧屏幕的宽度(单位:像素),也即左侧屏幕左边界的 X 坐标。
在 Windows 中,该属性值取决于哪个屏幕被设为主屏幕,返回相对于主屏幕左边界的 X 坐标。就是说,即使主屏幕不是左侧的屏幕,它的左边界的 X 坐标也是返回 0。如果副屏幕在主屏幕的左侧,则它拥有负的 X 坐标。
[1] [2] - 左屏幕 availLeft 返回 0,右侧的屏幕返回左侧屏幕的宽度
[2] [1] - 左侧屏幕 availLeft 返回该屏幕的 -width,右侧屏幕返回 0
1.3 colorDepth
colorDepth 属性返回目标设备或缓冲器上的调色板的比特深度。
if (screen.colorDepth<=8)
//为8位屏幕的简单的蓝色背景色
document.body.style.background="#0000FF"
else
//为现代屏幕的华丽的蓝色背景色
document.body.style.background="#87CEFA"
相同的颜色在不同设备中,渲染的视觉色彩不同,可用该属性来进行调色。
1.4 pixelDepth
返回屏幕的位深度/色彩深度(bit depth)。根据CSSOM( CSS对象模型 )视图,为兼容起见,该值总为24。
// 如果没有足够的位深度/色彩深度(bit depth),就选择一个更纯的颜色
if ( window.screen.pixelDepth > 8 ) {
document.style.color = "#FAEBD7";
} else {
document.style.color = "#FFFFFF";
}
1.5 width/height
height返回屏幕的高度(单位:像素)。注意,该属性返回的高度值并不是全部对浏览器窗口可用。小工具(Widgets),如任务栏或其他特殊的程序窗口,可能会减少浏览器窗口和其他应用程序能够利用的空间。
当返回屏幕高度时,IE 会考虑缩放设置。只有当缩放比例为 100% 时,IE 才会返回真实的屏幕高度。
width返回屏幕的宽度。注意,该属性返回的宽度值不一定就是浏览器窗口可使用的宽度。当有其他小工具占据了屏幕空间时,浏览器有时不能占用小工具(如任务栏)占据的空间。window.screen.width 和 window.screen.availWidth 两者不同。相关属性 window.screen.height。
在返回该值时,IE 会考虑缩放设置。只有在缩放比例为 100% 时,IE 才返回真实的屏幕宽度。
1.6 orientation[H5]
type
表示当前屏幕是横屏(landscape-primary)还是竖屏(portrait-primary)。只读属性。orientation.type还有两个值landscape-secondary和portrait –secondary。值portrait-secondary将横屏模式旋转180°
var orientation = screen.orientation || screen.mozOrientation || screen.msOrientation;
if (orientation.type === "landscape-primary") {
  console.log("横屏.");
} else if (orientation.type === "landscape-secondary") {
  console.log("横屏(另外一个方向。注:横屏有两个方向)");
} else if (orientation.type === "portrait-secondary" || orientation.type === "portrait-primary") {
  console.log("竖屏");
}
angle
角度为0等同于自然方向,大部分智能手机的自然方向是portrait-primary;
90°等同于landscape-primary;
180°等同portrait-secondary;
270°等同landscape-secondary。
不同的设备,angle代表不同的关键字。为了获取方向值,浏览器需要运行在全屏模式下。
lock/unlock
通过screen.orientation属性的lock()方法可以调整屏幕方向,其默认值是any,这允许设备根据其物理方向来应用任何方向。值”natural”将在设备的自然方向上显示网站,因设备而异。智能手机通常使用横屏,平板则使用竖屏。
screen.orientation.lock("natural");
上面的示例中,为设备设置自然方向。
当然,Screen Orientation API也允许你定义一个独立的方向,其有四个值可以选择,这已经包含了移动设备所有可能的方向。这四个值分别是: “portrait-primary”, “portrait-secondary”, “landscape-primary”和 “landscape-secondary”。
change事件
通过change事件改变屏幕方向也是可以的,只需要调用addEventListener()为orientation属性注册change事件并添加一个函数(作为事件处理程序)。
screen.orientation.addEventListener("change", function(e) {
  alert(screen.orientation.type + " " + screen.orientation.angle);
}, false);
每一次屏幕方向的改变都会触发弹框,显示当前的方向关键字和角度。
当使用Screen Orientation API时,还需要记住一件事:由于要Fullscreen API一起使用才能起作用,所以不应该使用它来设计网站之类的。对于需要全屏模式的浏览器游戏或其他应用程序,它能有更好的效果。
详细使用方式可参见下列网站:HTML5 Screen Orientation API实现横屏或竖屏。
浏览器根对象window之screen的更多相关文章
- 浏览器根对象window之history
		1. history(H5) Window.history保存用户在一个会话期间的网站访问记录,用户每次访问一个新的URL即创建一个新的历史记录. 1.1 length 返回浏览器历史列表中的 URL ... 
- 浏览器根对象window之操作方法
		1.1 不常用 alert:带有一条指定消息和一个OK按钮的警告框. confirm:带有指定消息和OK及取消按钮的对话框. prompt:可提示用户进行输入的对话框. print:打印网页. ope ... 
- 浏览器根对象window之caches
		在控制台输入window. caches可输出一个叫做CacheStorage的对象,它用来存储 Response 对象的.也就是说用来对 HTTP ,响应做缓存的.虽然 localStorage 也 ... 
- 浏览器根对象window之Location
		1. Location Location 对象包含有关当前 URL 的信息.Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问. 1.1 Loc ... 
- 浏览器根对象window之值为字符串的属性
		1. string属性 1.1 origin window.origin使用返回的是当前网页的网址.打开百度首页,并在控制台中输入 window.origin 控制台中会输出"https:/ ... 
- 浏览器根对象window之事件
		1. [事件]动画 onanimationstart onanimationend onanimationiteration onwebkitanimationend onwebkitanimatio ... 
- 浏览器根对象window之performance
		W3C性能小组引入的新的API,目前IE9以上的浏览器都支持. 为了解决当前性能测试的困难,W3C推出了一套性能API标准,各种浏览器对这套标准的支持如今也逐渐成熟起来.这套API的目的是简化开发者对 ... 
- 浏览器根对象window之窗体和工具条
		1. 窗体和工具条 1.1 窗体 frames.self.window.parent.top.opener. frames 数组类型,页面中iframe的引用,如果页面有2个iframe,则frame ... 
- 浏览器根对象window之值为数值的属性
		1. number属性 1.1 length length 属性返回在当前窗口中frames的数量(包括IFRAMES). 该属性值与window.frames.length属性值相等. 1.2 in ... 
随机推荐
- Oracle基础知识整理
			Oracle以dba身份登陆 sqlplus / as sysdba; 表空间操作 创建用户以及授权操作 --创建表 create table teacher ( tNo number(4) no ... 
- huangwenlong and hanqihong开光的dijkstra
			#include<iostream> #include<vector> #include<queue> #include<cstring> #inclu ... 
- Linux 两台服务器之间传输文件和文件夹
			今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ... 
- Python爬虫:用BeautifulSoup进行NBA数据爬取
			爬虫主要就是要过滤掉网页中没用的信息.抓取网页中实用的信息 一般的爬虫架构为: 在python爬虫之前先要对网页的结构知识有一定的了解.如网页的标签,网页的语言等知识,推荐去W3School: W3s ... 
- Cocos2d-X 精灵、动作效果
			命名空间宏: USING_NS_CC; 感觉事实上挺鸡肋的. NS_CC_BEGIN. == using namespace cocos2d{ NS_CC_END ; } 推断一个精灵被点击: 1.层 ... 
- VBScripts and UAC elevation(visa以后的系统)
			这两天由于工作须要.在写一些vbs的脚本,才知道.vbs不能像其它可运行文件一样.在 须要提升訪问权限时.弹出UAC窗体.那么,怎样通过UAC提升vbs脚本的訪问权限呢? 查了一些资料,将结果整理一下 ... 
- SourceTree 基本介绍
			Git的服务器端: 最出名的是GitHub,但是不能创建私有仓库,创建私有得需要Money Bitbucket:可以创建私有数据库,但是速度太慢,太消磨激情了 如果既想创建私有又想要激情,那只能自己搭 ... 
- 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
			目录(技术文) 多关于索引,分为以下几点来讲解: 一.索引的概述(什么是索引,索引的优缺点) 二.索引的基本使用(创建索引) 三.索引的基本原理(面试重点) 四.索引的数据结构(B树,hash) 五. ... 
- Android查缺补漏(View篇)--自定义 View 的基本流程
			View是Android很重要的一部分,常用的View有Button.TextView.EditView.ListView.GridView.各种layout等等,开发者通过对这些View的各种组合以 ... 
- nginx日常维护常用命令
			http://www.jb51.net/article/47750.htm 一.简明nginx常用命令 1. 启动 Nginx poechant@ubuntu:sudo ./sbin/nginx 2. ... 
