首页 > 解决方案 > 检测窗口大小变化

问题描述

我想知道窗口大小何时改变。我发现了这篇文章JavaScript window resize event并且当我调整窗口大小时它可以工作,但如果我点击全屏按钮,或者如果我使用快捷方式"Window" + "Up"/ "Window" + "Left"等等,它就不会工作。事实上,它不会检测窗口是否在窗口调整大小时从一个大小传递到另一个大小而不转换

有可能检测到吗?谢谢

目前我有:

var addEvent = function(object, type, callback) {
    if (object == null || typeof(object) == 'undefined') return;
    if (object.addEventListener) {
        object.addEventListener(type, callback, false);
    } else if (object.attachEvent) {
        object.attachEvent("on" + type, callback);
    } else {
        object["on"+type] = callback;
    }
};
let this2 = this;
addEvent(window, "resize", function(event) {
    this2.prepareAnimation();
});

标签: javascripthtml

解决方案


window.onresize = function () { 
    // Do stuff
}

这应该会在每次浏览器窗口调整大小时触发该功能。我已经验证这适用于 macOS 和 Windows 版本的 Chrome,包括窗口最大化/最小化、“Windows 按钮”+“向上”等。


推荐阅读