Je cherche à conserver la position de la scrollbar vertical dans une page qui serait rafraichie et qui devrait être repositionnée à la meme place que avant le rafraichissement.
J'ai trouvé une proposition qui marche très bien avec des "hidden" dans un formulaire:
<HTML>
<HEAD>
<TITLE>Test</TITLE>
<script>
function SaveScrollXY() {
document.Form1.ScrollX.value = document.body.scrollLeft;
document.Form1.ScrollY.value = document.body.scrollTop;
}
function ResetScrollPosition() {
var hidx, hidy;
hidx = document.Form1.ScrollX;
hidy = document.Form1.ScrollY;
if (typeof hidx != 'undefined' && typeof hidy != 'undefined') {
window.scrollTo(hidx.value, hidy.value);
}
}
</script>
</HEAD>
<BODY onload="ResetScrollPosition()">
<form name="Form1" id="Form1" method="post" onsubmit="SaveScrollXY()" action="test4.php">
<input name="ScrollX" id="ScrollX" type="hidden" value="<?php echo $_REQUEST['ScrollX'] ?>" />
<input name="ScrollY" id="ScrollY" type="hidden" value="<?php echo $_REQUEST['ScrollY'] ?>" />
<p>This is just a paragraph to make a very long page.</p>
…
<P>
<input name="TextBox1" type="text" value="<?php $v = $_REQUEST['TextBox1']; echo $v ? $v + 1 : 1 ?>" readonly="readonly" id="TextBox1" /></P>
<P>
<input type="submit" name="Button1" value="Post Form" id="Button1" /></P>
</form>
</BODY>
</HTML>
Mais mon problème est que je ne veux pas de formulaire et j'aimerais avoir la meme fonctionnalité avec un simple link "href".
Sans formulaire je suis confronté au problème de la récupération de la variable. J'ai pensé à une solution via cookie, mais c'est un peu laborieux pour une simple (je crois) chose.
Si quelqu'un a une solution ou un piste, il sera le bienvenu.
Merci d'avance
Gael