Javascript 检测浏览器窗口是否最大化以及默认(100%)缩放

Javascript 检测浏览器窗口是否最大化以及默认(100%)缩放,javascript,window,maximize,zooming,device-width,Javascript,Window,Maximize,Zooming,Device Width,我知道这听起来很奇怪,但这确实是有原因的,这符合用户的最佳利益。我知道让浏览器自动最大化并设置为100%可能会有问题,但如果窗口未最大化且缩放不是100%,用户将看到一条消息,请最大化您的窗口并将缩放设置为100%。我至少需要在Chrome、Firefox和IE中实现这一点 我不想让它成为全屏模式,只是最大化窗口 如果强制保持100%和最大窗口是有问题的,那么将缩放设置为100%并在初始加载时最大化窗口如何?检测是否在最大宽度: 您可能需要检查文档的宽度是否小于屏幕宽度: var isAtMax

我知道这听起来很奇怪,但这确实是有原因的,这符合用户的最佳利益。我知道让浏览器自动最大化并设置为100%可能会有问题,但如果窗口未最大化且缩放不是100%,用户将看到一条消息,请最大化您的窗口并将缩放设置为100%。我至少需要在Chrome、Firefox和IE中实现这一点

我不想让它成为全屏模式,只是最大化窗口

如果强制保持100%和最大窗口是有问题的,那么将缩放设置为100%并在初始加载时最大化窗口如何?

检测是否在最大宽度: 您可能需要检查文档的宽度是否小于屏幕宽度:

var isAtMaxWidth = screen.availWidth - window.innerWidth === 0;
但是,对于高度,您无法做到这一点,因为浏览器为选项卡和工具栏保留了垂直空间,并且无法获取这些选项卡和工具栏的高度

检测浏览器缩放: 基于,这里有一个简短的版本:

var screenPixelRatio = (window.outerWidth - 8) / window.innerWidth;
var isAtDefaultZoom = screenPixelRatio > 0.92 && screenPixelRatio <= 1.10;

自2018年3月6日起在Chrome 64上进行测试和工作

此功能正常,但无法检测浏览器是否处于最大高度,这是确定浏览器是否达到最大高度所必需的。例如,如果将浏览器的大小调整为完全相同的设备宽度(如果将其移出视图),则浏览器将错误地报告要最大化浏览器,而高度可以是任何值,甚至是0。
var isMaximizedAndDefaultZoom = isAtMaxWidth && isAtDefaultZoom;