如果窗口和屏幕尺寸发生变化,是否可以听一个JavaScript事件?我知道明显的resize事件,但是有趣的是,我的窗口和屏幕尺寸正在更改,而不会触发此事件。

我的设置非常特殊-我有两台外部监视器,一台处于正常缩放级别,另一台处于200%缩放级别。似乎在加载网页的过程中,窗口/屏幕尺寸(例如window.innerWidthwindow.innerHeightscreen.width等)正在发生变化。

注意,我使用的浏览器是IE11。

最佳答案

您可以尝试使用setInterval循环收听尺寸变化

像这样:



"use strict";

let width = screen.width;
let height = screen.height;

function checkDimension(callback) {
    if (width !== screen.width || height !== screen.height) {
        console.log('Dimension was changed!');
    }
}

setInterval(checkDimension, 1000);

08-25 13:25
查看更多