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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测浏览器窗口是否最大化并且默认(100%)缩放相关的知识,希望对你有一定的参考价值。

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

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

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

答案

Detect if at max width:

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

var isAtMaxWidth = screen.availWidth - window.innerWidth === 0;

但是,由于浏览器为标签和工具栏保留了垂直空间,因此无法获得高度。

Detect browser zoom:

基于this answer by user800583,这是一个缩短版本:

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

N.B。:您不能使用window.devicePixelRatio来检测这一点,因为高DPI(例如视网膜)显示器将具有不同的基值。

Combined check:

var isMaximizedAndDefaultZoom = isAtMaxWidth && isAtDefaultZoom;

自2018年3月6日起测试并使用Chrome 64

以上是关于检测浏览器窗口是否最大化并且默认(100%)缩放的主要内容,如果未能解决你的问题,请参考以下文章

Echarts图表根据浏览器窗口缩放进行动态缩放,多个echarts同时缩放

jQuery检测滚动条(scroll)是否到达底部

检测移动浏览器捏缩放

javascript检测浏览器的缩放状态实现代码 是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)

移动端小问题

如何检测一个窗口已经被最大化?