Scripting 如何在调整页面大小时刷新页面?

Scripting 如何在调整页面大小时刷新页面?,scripting,resize,window,refresh,Scripting,Resize,Window,Refresh,是否有脚本可以在页面重新调整大小时刷新浏览器?更具体地说,模拟浏览器刷新按钮或F5的?我已经找到了两个,但它们并不完全符合我的要求 <script type="text/javascript"> var currheight = document.documentElement.clientHeight; window.onresize = function(){ if(currheight != document.documentElement.clientHeight)

是否有脚本可以在页面重新调整大小时刷新浏览器?更具体地说,模拟浏览器刷新按钮或F5的?我已经找到了两个,但它们并不完全符合我的要求

<script type="text/javascript">
var currheight = document.documentElement.clientHeight;
window.onresize = function(){
    if(currheight != document.documentElement.clientHeight) {
        location.replace(location.href);
    }    
}
</script>

var currheight=document.documentElement.clientHeight;
window.onresize=函数(){
if(currheight!=document.documentElement.clientHeight){
location.replace(location.href);
}    
}


这两个函数的问题是,它们似乎完全重置了页面,在使用浏览器刷新功能时,一些用户所做的更改保持不变(例如,在特定的散列中),这正是我所需要的

那么,有没有一种方法可以在重新调整窗口大小时使用类似于单击浏览器刷新的脚本来刷新窗口?我不明白为什么会有区别,但确实有区别


谢谢。

是的,您可能想看看一些JavaScript事件。有一个OnResize事件

这里有一个链接可以让您开始了解事件:

至于重新加载页面,您也可以这样做:

就保留用户值而言,您可以在会话中保留这些值。

尝试以下方法:

<![if !IE]> <body onresize="document.location=window.location;"> <![endif]>
<!--[if IE]> <body onresize="window.location.reload();"> <![endif]-->

以下是完美的解决方案:

我已包括1秒的超时,即浏览器将在1秒的窗口大小调整后刷新

$(window).resize(function() {
    setTimeout( function(){
        window.location.href = window.location.href;
    },1000); 
});
没有超时

$(window).resize(function() {
    window.location.href = window.location.href;
});
注意:您也可以使用
window.location.reload()
而不是
window.location.href=window.location.href

window.location.reload()
使用帖子数据重新加载当前页面,

window.location.href=window.location.href
不包含帖子数据


--希望有帮助

你为什么要这样做?一个正确的页面布局应该不需要这个。页面使用jquery scrollTo。有两个并排的基本容器,查看器可以在两个容器之间水平“滚动”,而不是分开网页。但是,scrollTo的设置方式不允许您在调整页面大小后垂直滚动。但是,当页面第一次加载时,它确实起作用。我正试图找到一种方法来保持适当的垂直滚动高度,一旦页面的大小调整,我想不出任何其他方法可以做到这一点。如果你有任何建议,请分享。我对这一切还是很陌生。。。但是我能从这些链接中找到的最好的结果只能让我完成我在OP中已经完成的脚本。谢谢你的输入。。。
$(window).resize(function() {
    window.location.href = window.location.href;
});