检测浏览器窗口是否最大化并且默认情况下(100%)缩放

Mik*_*ala -3 javascript window maximize page-zoom device-width

我知道这听起来很奇怪,但确实有一个原因,而且这符合用户的最大利益。我知道让浏览器自动最大化并设置为100%可能会出现问题,但是如何进行设置,以使如果窗口未最大化且缩放比例未达到100%,所有用户将看到一条消息“请最大化您的窗口并设置放大到100%”。我需要至少在Chrome,Firefox和IE中使此工作。

我不是试图使其成为“全屏模式”,而是最大化窗口。

如果在“保持” 100%和最大窗口的意义上“强制”是有问题的,将缩放比例设置为100%并在初始加载时最大化窗口会怎么样?

Sam*_*iew 7

检测最大宽度:

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

var isAtMaxWidth = screen.availWidth - window.innerWidth === 0;
Run Code Online (Sandbox Code Playgroud)

但是,您不能使用高度来做到这一点,因为浏览器为选项卡和工具栏保留了垂直空间,并且无法获取其高度。

检测浏览器缩放:

根据user800583的回答,以下是简化版本:

var screenPixelRatio = (window.outerWidth - 8) / window.innerWidth;
var isAtDefaultZoom = screenPixelRatio > 0.92 && screenPixelRatio <= 1.10;
Run Code Online (Sandbox Code Playgroud)

注意:您不能使用它window.devicePixelRatio来检测,因为高DPI(例如:视网膜)显示将具有不同的基本值。

合并检查:

var isMaximizedAndDefaultZoom = isAtMaxWidth && isAtDefaultZoom;
Run Code Online (Sandbox Code Playgroud)

截至2018年3月6日在Chrome 64上进行测试并可以使用