如果窗口和屏幕尺寸发生变化,是否可以听一个JavaScript事件?我知道明显的resize
事件,但是有趣的是,我的窗口和屏幕尺寸正在更改,而不会触发此事件。
我的设置非常特殊-我有两台外部监视器,一台处于正常缩放级别,另一台处于200%缩放级别。似乎在加载网页的过程中,窗口/屏幕尺寸(例如window.innerWidth
,window.innerHeight
,screen.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);