浏览器刷新屏幕尺寸

问题描述:

如果屏幕尺寸改变宽度,我已经实现了这个功能来强制重新加载屏幕。但是,它不适用于Firefox。在Safari和Chrome上正常工作。浏览器刷新屏幕尺寸

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

$(window).resize(function() { 
    if(windowWidth != $(window).width()){ 
    location.reload(); 
    return; 
    } 
}); 
}); 
+0

Gah!为什么?! https://en.wikipedia.org/wiki/Responsive_web_design – ceejayoz

+0

我知道@ceejayoz。这是一个旧的网站,他们有一个脚本,有一个旋转的横幅,会冻结在屏幕上调整大小,需要修复它,而不是现在重做所有。 – kayzoe

使用history.go(0);

代替location.reload()

你也可以尝试像

<a id="reload-page" style="display:none" href="javascript:history.go(0);"></a> 
$('#reload-page').click(); 
+0

不幸的是,仍然不能在Firefox中工作。 – kayzoe

+0

您是否尝试过使用console.log(“something”)来查看if语句中的内容? – stackoverfloweth

+0

我有,它显示在Firefox上。嗯.... – kayzoe

浏览器是最有可能试图以防止可能的无限循环尝试。在超时时间内重新包装你的技巧。

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

    $(window).resize(function() { 
     if(windowWidth != $(window).width()){ 
     setTimeout(function() { 
      location.reload(); 
      return; 
     }, 1); 
     } 
    }); 
}); 
+0

这种技术可能会导致几个(如果不是几十/几百)在缓慢调整窗口大小时重新加载。我在这个问题的窗口上做了$(window).resize(function(){console.log('test');});并调整了它的大小。你真的想拒绝服务自己被遗忘吗?好。 – ceejayoz

+0

我几乎指出你说的是什么,浏览器不希望你这样做。我刚刚提供了一个解决方法。没有说这是个好主意:) –