PDA

View Full Version : Refreshing and going back... Mig.


mig
09-06-2006, 08:52 PM
My pet hate is:- If I have scrolled a long way down a page and clicked on a link that takes me to a new page, then go back, on some sites I go back to the top of the page. Or if I refresh a page it also goes to the top of the page. I then have to scroll down again to where I was before clicking on that link.
My site works fine for me. It does not jump back to the top but I did not put any source code in for that to happen.
So my question is:- Is there any code that makes sure you go back to the page you left at the same place and not to the top?
I want to make sure it doesn't happen on my pages.
Thankyou.

mig
09-07-2006, 11:33 PM
I will put this as a link in my intro

blackpepper
09-09-2006, 11:21 PM
hmm seeing as you havent got a reply to this yet,, ill put my 2 cents in. what i think this has to do with is the browser and it's cache, not any scripting. So your saying you always want your page to load at the top?, im thinking you may be able to do this with a javascript to jump to a named anchor upon onload. this may not work though as using the back button may not cause the page to actually reload. Itd really come down to testing it.

mig
09-10-2006, 12:30 AM
Thankyou Blackpepper, I am not very good at explaining things am I .
No I don't want it to go to the top off the page, I want it to go back to where it was when I left it.

Example. If have a long page and you have read half way down and see a link that looks interesting, you might click on it and look at what comes up. When you have finished you click back or backspace to go back to where you were, halfway down the page.

sometimes when I back, it goes to the top of the page, then I have to scroll down to find where I was before.

_Aerospace_Eng_
09-10-2006, 12:05 PM
I don't think your users will really care whether they go back to the same spot or not but you can use a cookie to store the scrollTop position.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
function createCookie(name,value,days)
{
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(name)
{
createCookie(name,"",-1);
}
function f_scrollTop()
{
return f_filterResults
(
window.pageYOffset ? window.pageYOffset : 0,
document.documentElement ? document.documentElement.scrollTop : 0,
document.body ? document.body.scrollTop : 0
);
}
function f_filterResults(n_win, n_docel, n_body)
{
var n_result = n_win ? n_win : 0;
if (n_docel && (!n_result || (n_result > n_docel)))
n_result = n_docel;
return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
window.onunload = function()
{
var scrollval = f_scrollTop();
createCookie(window.location,scrollval,9999);
}
window.onload = function()
{
if(readCookie(window.location) != null)
{
var yVal = parseInt(readCookie(window.location));
window.scrollTo(0,yVal);
}
}
</script>
</head>
<body>
<p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum molestie. Donec pede libero, convallis non, varius in, tempor in, tellus. Fusce rutrum libero ac dolor. Phasellus ac sem ut pede laoreet interdum. Curabitur dolor quam, ultrices at, luctus eu, tempor vitae, metus. Pellentesque massa quam, tempor eu, tempus vel, mattis eget, lacus. Donec dui. Nunc purus dolor, ullamcorper a, blandit eget, adipiscing auctor, mauris. Donec aliquam. Proin eu mi tristique dui sodales vehicula. Quisque eu lectus. Pellentesque gravida. </p>
<p> Nulla faucibus pharetra ante. Ut quis sem. Fusce eget felis. Mauris et tortor eu velit consectetuer ultrices. Suspendisse porttitor velit ut neque. Proin hendrerit risus id libero. Integer eleifend vestibulum ante. Curabitur lacinia turpis in magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur porttitor elit porta orci. Suspendisse potenti. Ut cursus lobortis neque. In malesuada. Suspendisse vitae erat. Aenean eu magna. </p>
<p> Proin a diam. Nunc porta mattis nisl. Vestibulum commodo. Suspendisse massa eros, tempor sed, laoreet sit amet, sodales at, urna. Vivamus dignissim leo sed tellus. Cras tortor ante, vestibulum ut, ornare non, ornare at, ipsum. Nunc ullamcorper tincidunt tortor. In lacinia elit at sem. Mauris aliquet tincidunt nulla. In elementum turpis fringilla massa. Duis non mi ut neque viverra imperdiet. Suspendisse nec lorem ut augue dignissim tempus. Sed venenatis nibh eu justo. Quisque mattis nisl sit amet nisi. Fusce sem. Nullam vel orci ac metus tincidunt pretium. Aenean nec est. </p>
<p> Proin condimentum. Donec sed tellus varius risus vestibulum accumsan. Aliquam lacinia ipsum ac enim. Phasellus sed erat ac odio faucibus pretium. Suspendisse quis lorem ac tellus placerat blandit. In non nisi in massa euismod ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam pulvinar. Morbi aliquam facilisis magna. Aliquam quis nisi et sapien tempus interdum. Maecenas id elit non arcu tincidunt tempus. Quisque molestie. Maecenas mauris. </p>
<p> Duis commodo condimentum est. Vivamus at erat. Praesent enim. Ut feugiat, risus a hendrerit sodales, velit dui blandit tellus, et lobortis libero ipsum a arcu. Praesent eleifend ornare quam. Maecenas gravida. Phasellus fermentum blandit justo. Ut mollis ligula nec nisi. Sed viverra. Morbi tortor. Curabitur ullamcorper dui blandit metus. Suspendisse sit amet erat. Praesent eleifend. Nulla lectus. Quisque aliquam. Morbi ullamcorper. </p>
<p> Nulla orci. Vestibulum eu nibh et diam sodales accumsan. Ut vitae enim. Sed nec augue nec dolor feugiat varius. Quisque mattis, felis non mattis venenatis, tellus libero dictum quam, ut lacinia lectus tortor vel sapien. Praesent iaculis ornare mauris. Nam posuere. Quisque vitae enim. Morbi ornare lobortis lorem. Maecenas at lacus sed enim elementum semper. Donec tincidunt risus. Vestibulum sit amet nulla sit amet felis consequat placerat. Sed vitae dolor vel sem facilisis viverra. Vivamus eu sapien. Nunc ut eros et dolor aliquet ultricies. Donec purus nulla, congue auctor, dictum in, pharetra eu, erat. Nullam imperdiet eros ac enim. Suspendisse tempor sodales est. </p>
<p> Duis consequat. Donec magna leo, tincidunt sit amet, vulputate eu, tristique vel, tortor. Quisque ac magna. Duis sapien elit, rutrum eget, volutpat eget, faucibus et, erat. Praesent sem turpis, consectetuer at, mollis vitae, rhoncus et, dui. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Donec pulvinar lectus a elit. Vestibulum gravida odio eget neque. Nunc eleifend mollis lectus. Donec non lectus vitae est lacinia porta. Mauris id dui. Pellentesque sodales feugiat neque. In massa diam, mattis nec, semper non, condimentum vel, neque. Suspendisse a diam. Nulla ligula dui, faucibus et, fringilla at, feugiat at, felis. Aliquam nonummy, justo et aliquet viverra, justo odio blandit dolor, sed lobortis ante sapien sit amet mi. Vivamus est. Etiam augue lacus, auctor vel, aliquam a, vulputate at, magna. </p>
<p> Nunc et odio. Morbi eros ligula, consectetuer a, elementum at, ullamcorper ac, dolor. Suspendisse vulputate, mauris eget varius condimentum, nibh magna luctus tortor, sit amet volutpat felis nulla ac nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nullam et ante. Etiam ac justo. Quisque nisi nisl, blandit quis, pulvinar ac, lobortis semper, ligula. Quisque non mi. Sed pharetra volutpat quam. Vestibulum urna lacus, fringilla vel, ullamcorper vitae, aliquam nec, tortor. Maecenas eleifend ullamcorper ipsum. Vestibulum diam. Nam dapibus sem sed mauris. Aliquam cursus. Fusce dictum, elit ut porta convallis, purus nibh dictum neque, eget convallis odio velit vitae pede. Phasellus a eros. Nulla vel felis ut velit commodo euismod. Aenean tempor velit sit amet tortor. Maecenas lacus eros, fermentum ac, rhoncus sit amet, posuere eget, purus. Quisque facilisis, risus nec convallis molestie, quam quam faucibus orci, nec sagittis velit turpis vel diam. </p>
<p> In sollicitudin urna ut lacus. Donec convallis accumsan odio. Donec velit leo, volutpat sit amet, euismod eu, dictum ut, augue. Nam dapibus, turpis nec scelerisque porta, metus sapien suscipit pede, nec posuere arcu libero id erat. Phasellus id ante. Aliquam sapien. Suspendisse varius. Aliquam erat volutpat. Fusce ante. Nulla a libero. Maecenas tincidunt nisi sit amet metus. Proin nisl diam, volutpat sit amet, ornare eget, nonummy eget, lorem. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla urna. Phasellus nisi massa, volutpat at, vestibulum ut, dapibus vel, pede. Donec iaculis. Fusce consequat. Proin consectetuer tortor blandit metus. Praesent mollis viverra ante. </p>
<p> Sed metus felis, molestie non, pretium at, imperdiet et, libero. Mauris nulla. Ut tempor tincidunt purus. Praesent nunc. Vestibulum nibh velit, euismod vel, sodales vitae, tempor ut, ante. Duis vestibulum aliquam ante. Aliquam dui. Ut nec justo. Suspendisse tellus libero, pulvinar at, faucibus eu, posuere vitae, eros. Integer suscipit bibendum nisi. Morbi enim nisi, porta vel, euismod sed, sagittis a, urna. Duis tincidunt ultrices sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; </p>
</body>
</html>

mig
09-10-2006, 05:37 PM
thankyou for you help i do appreciate it.