如何在浏览器调整大小时刷新屏幕?

san*_*nta 16 javascript css jquery

是否可以刷新浏览器大小更改页面?我使用一些在页面上创建区域的样式,如果浏览器按比例缩小布局中断.

也许我可以用jQuery检测文档大小的变化?

JR *_*ith 25

立即查看此内容的任何人都可以 JQuery现在认为绑定一个已弃用的函数.

而proximus的响应方式(至少在Opera/Chrome/Firefox中),即使浏览器只是坐在那里,它也会不断轮询调整大小.看来resize函数在命中location.reload()时会自动调用,导致它达到无限循环.这就是我拉到一起也解决了问题.

jQuery(function($){
  var windowWidth = $(window).width();
  var windowHeight = $(window).height();

  $(window).resize(function() {
    if(windowWidth != $(window).width() || windowHeight != $(window).height()) {
      location.reload();
      return;
    }
  });
});
Run Code Online (Sandbox Code Playgroud)


uKo*_*lka 17

这是一个纯粹的JS解决方案,因为我认为将jQuery用于一切都是不公平的.

window.addEventListener('resize', function () { 
    "use strict";
    window.location.reload(); 
});
Run Code Online (Sandbox Code Playgroud)

缺点是它不能在早于9的IE"浏览器"中工作.


aWe*_*per 6

简单的。这不会触发多个事件,只是每 x 秒触发一个事件。接受的答案会引发太多事件

var resizeTimeout;
window.addEventListener('resize', function(event) {
  clearTimeout(resizeTimeout);
  resizeTimeout = setTimeout(function(){
    window.location.reload();
  }, 1500);
});
Run Code Online (Sandbox Code Playgroud)

对于 jQuery 替换window.addEventListener('resize'$(window).resize

  • 如果您希望用户能够拖动窗口的一角,那么这是一个重要的问题,并且应该位于更高的位置。 (3认同)

pro*_*mus 5

如果您正在寻找 jQuery 解决方案,您可以使用以下内容:

$(window).bind('resize', function() {
     location.reload();
});
Run Code Online (Sandbox Code Playgroud)

也许另外使用超时是有意义的......