浏览器窗口自身的精度尺寸不好确定,但是可以确定页面视口的大小
let pageWidth = window.innerWidth,
pageHeight = window.innerHeight;
// 首先检查pageWidth是不是一个数值,如果不是说明不兼容该属性
if(typeof pageWidth != "number") {
// document.compatMode 来检查页面是否处于标准模式,如果是使用document.documentElement获取宽度和高度,如果不是 使用document.body来获取宽度和高度
if(document.compadMode === "CSS1Compat") {
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
} else {
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight
}
}
注意:在移动设备上,window.innerWidth 和window.innerHeight 返回视口的大小,也就是屏幕上 页面可视区域的大小。但是document.documentElement.clientWidth 和 document.documentElement.clientHeight 在页面放大缩小时会发生变化。
可以使用resizeTo()和 resizeBy() 方式调整窗口的大小,这两个方法都接收两个参数,resizeTo()接收新的宽度和高度值,而resizeBy()接收宽度和高度各要缩放多少
// 缩放到50×50
window.resizeTo(50, 50);
// 缩放到200×150
window.resizeBy(100, 50);
与移动窗口的方法一样,缩放窗口的方法可能会被浏览器禁用,而且在某些浏览器中默认是禁用的。 同样,缩放窗口的方法只能应用到最上层的window 对象。