user223013
user223013

Reputation:

How to refresh page on resize?

Is there a script to make the browser refresh when a page is re-sized? More specifically, one that emulates the browser refresh button or F5? I've found two, but they don't quite do what I'm looking for;

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

and

<body onResize="window.location=window.location;">

The problem with these two is they appear to completely reset the page where as using the browsers refresh function leaves some user made changes intact (like being at a specific hash for instance) which is what I need.

So is there a way to refresh the window on re-size with a script similar to if the browser refresh was clicked? I don't understand why there is even a difference but there is.

Thanks.

Upvotes: 2

Views: 20935

Answers (3)

Abhishek Goel
Abhishek Goel

Reputation: 19751

Here is the perfect solution :

I have included timeout of 1 sec i.e. browser will refresh after 1 sec of window resize

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

Without timeout

$(window).resize(function() {
    window.location.href = window.location.href;
});

NOTE : You may also use
window.location.reload() instead of window.location.href = window.location.href

window.location.reload() reloads the current page with POST data,
while
window.location.href=window.location.href does not include the POST data

-- hope it helps

Upvotes: 2

Chad
Chad

Reputation: 11

Try this:

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

Upvotes: 1

Robert Greiner
Robert Greiner

Reputation: 29722

Yes, you probably want to take a look at some JavaScript events. There is an OnResize event.

Here's a link to get you started with events:
http://www.devarticles.com/c/a/JavaScript/OnReset-OnResize-and-Other-JavaScript-Events/

As far as reloading the page, you can do that too:
http://www.mediacollege.com/internet/javascript/page/reload.html

As far as keeping the user values, you could persist them in a session.

Upvotes: 2

Related Questions