11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour
je tourne en rond et je me tourne vers vous car je ne trouve pas de solution.
J'ai donc trouvé le script suivant pour mémoriser la position du scroll et la reprendre après le rechargement de la page :


<script type="text/javascript">

function EcrireCookie(nom,valeur)
{

var argv=EcrireCookie.arguments;
var argc=EcrireCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=nom+"="+escape(valeur)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "" );

}

function getCookieVal(offset)
{

var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function LireCookie(nom)
{

var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen)
{

var j=i+alen;
if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;


}
return null;
}


function SaveScroll()
{
EcrireCookie("scroll", document.documentElement.scrollTop);
 }

function SetScroll()
 {
 var sc = LireCookie("scroll");
 if (sc != null) document.documentElement.scrollTop = sc;
 }
 </script>


Mon souci est que ça ne fonctionne pas sous IE7. J'ai bien lu qu'il faut mettre documentElement à la place de body mais ça n'a rien changé.

NB : sur MAC, lorque l'on met body, ça marche sous FF et Safari, mais pas avec documentElement. Sur PC body fonctionne avec FF.

Merci pour votre aide.

Cyril
Modifié par cyriljono (06 Aug 2007 - 11:53)
Modérateur
Bonjour et bienvenue parmi nous cyriljono, Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code Javascript[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif