begin process at 2012 05 29 18:38:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

Divers

 > 

Probleme avec scrollTo in IE 6.0


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec scrollTo in IE 6.0

mardi 22 février 2005 à 12:15:14 | Probleme avec scrollTo in IE 6.0

fifoooo

Bonjour

Voila plusieurs jours que je cherche a resoudre ce probleme.

J'utilise un script javascript pour mettre en couleur les mots tapes par l'utilisateur dans mon formulaire. Lorsque celui-ci tape Entree, la page est rechargee pour prendre en compte les mots cles a mettre a en couleur.
Pour plus de clarte, je souhaite que la page, une fois rechargee, 'saute' directement a l'endroit ou l'utilisateur se trouvait. J'utilise donc pour cela la fonction scrollTo(X,Y) qui utilise les variables X et Y que je passe dans l'URL.

Mon probleme? IE semble toujours 'sauter' au meme endroit sur la page (par exemple (0,233) pour une page donnee) alors q les valeurs passees a la fonction scrollTo sont justes!
Autre chose: ca marche parfaitement avec Mozilla!

Y'a-t-il un bug avec IE?

Merci pour votre aide. Voici le code:

 

function getScrollCoords()

{

// Dealths with IE

if (document.all) {

if (!document.documentElement.scrollLeft) {

scrollX = document.body.scrollLeft;

}

else {

scrollX = document.documentElement.scrollLeft;

}

if (!document.documentElement.scrollTop) {

scrollY = document.body.scrollTop;

}

else {

scrollY = document.documentElement.scrollTop;

}

}

// All other browsers

else {

scrollX = window.pageXOffset;

scrollY = window.pageYOffset;

}

alert('Ds getScrollCoords X=' + scrollX + ' Y=' + scrollY);

}

 

function setScrollPosition()

{

var coordIndex = window.location.href.indexOf('&xy=');

// check if there are scroll coord

if(coordIndex>0){

var coords = ( window.location.href.indexOf('&xy=') + 1 ) ? window.location.href.substr(window.location.href.indexOf('&xy=') + 4) : "";

xy = coords.split(',');

window.scrollTo(Number(xy[0]),Number(xy[1]));

alert('Ds setScrollPosition: X=' + xy[0] + ' Y=' + xy[1]);

}

else {

// do nothing

return true;

}

}

mardi 22 février 2005 à 18:04:20 | Re : Probleme avec scrollTo in IE 6.0

chimelpremier

Utiliser des ancres nommées ne serai pas plus simple?
mardi 22 février 2005 à 20:34:24 | Re : Probleme avec scrollTo in IE 6.0

fifoooo

Je comprends ta solution mais ce n'est pas ce q je recherche.
En effet tu peux etre au milieu d'un paragraphe et ce q je veux c rester au mm endroit. Et puis comment savoir quelle ancre est la plus proche de tte facon si je voulais utiliser ton idee?

Merci qd mm

mardi 22 février 2005 à 23:44:16 | Re : Probleme avec scrollTo in IE 6.0

chimelpremier

si c'est IE qui cloche !
Je pense que !document.documentElement.scrollLeft ne te donnera pas forcément le bon branchement si le scroll est à 0.
Je préfère modifier comme ceci :

// Dealths with IE
dtd= document.compatMode=="CSS1Compat"?1:0;// détection dtd correct
if (document.all) {
if (!dtd) {
scrollX = document.body.scrollLeft; ...

mercredi 23 février 2005 à 09:10:16 | Re : Probleme avec scrollTo in IE 6.0

chimelpremier

Tu doit avoir en début de ta page un doctype avec une DTD pointant sur le site
 du W3c. C'est trés bien, IE6 et Opéra 7 (document.all) respectent mieux les
standards. J'ai une formule encore plus simple :

if (!document.documentElement.width) {

scrollY = document.body.scrollTop;

}

document.documentElement.width aura toujours une valeur supérieur à 100, car IE n'accepte pas que la fenêtre soit plus petite.

mercredi 23 février 2005 à 17:33:50 | Re : Probleme avec scrollTo in IE 6.0

fifoooo

Merci bcp pour ta reponse mais je dois malheureusement conclure q ca ne marche toujours pas!

J'ai ajoute la dtd et modifier mon code comme suit mais rien a faire :

var dtd = ( document.compatMode == "CSS1Compat") ? 1 : 0 ;  
 if (document.all) {
        if (!dtd) {
             scrollX = document.body.scrollLeft;
        }
       else {
          scrollX = document.documentElement.scrollLeft;
       }

        if (!dtd) {
          scrollY = document.body.scrollTop;
        }
        else {
          scrollY = document.documentElement.scrollTop;
        }
}   

Ta reponse semblait plus orientee sur le scrollX q sur Y donc je me suis peut etre mal fait comprendre mais c bel et bien le scroll vertical qui cloche!

Merci encore pour ta reponse.

jeudi 24 février 2005 à 09:09:39 | Re : Probleme avec scrollTo in IE 6.0

chimelpremier

le test le test doit être lancé en fin de chargement ou par "onload"
un exemple :
http://www.javascriptfr.com/code.aspx?id=26931

vendredi 25 février 2005 à 12:04:11 | Re : Probleme avec scrollTo in IE 6.0

fifoooo

Oui, c'est ce que je fais, mais rien a faire!
samedi 26 février 2005 à 02:42:00 | Re : Probleme avec scrollTo in IE 6.0

chimelpremier

Il y a forcément une erreur, Tu n'aurai pas une url avec la page entière, montre le source complet ici



Cette discussion est classée dans : ie, document, window, xy, scrollto


Répondre à ce message

Sujets en rapport avec ce message

Mozilla/IE [ par israes ] Salut,Je suis en stage et je dois rendre un logiciel compatible sous mozillla, alors que pour le momemnt il l'est sous IE. Je ne vois pas où est le pr PB de compatibilité FF/IE : window et scrollbar [ par alesas ] Bonsoir à tous, J'ai un petit script que voici : Print et load [ par zrelli ] j'ai besoin d'imprimer une fentre juste à l'evenemt load, j'ai rencontrer des pbs.voila mon code !var printwindow=window.open("_blank","print","");pri window.opener qui _______ rien [ par merci51 ] j'ai une fonction qui ouvre un pop up si... Code:</TR passage de valeur par un lien vers une iframe depuis une autre fenêtre [ par yanka ] Bonjour,Je m'arrache les cheveux depuis hier sur un bout de code. J'ai tenté de créer sur une page un éditeur wysiwyg, le texte se met dans une textar Choisir la page à afficher avec la touche F5 [ par chacha1960 ] Je cherche à afficher une URL que je choisis (URL = document.all.document_refresh.value) lorsque l'on appuie sur la touche F5.Cela marche pas si je me incompatibilité entre IE et Firefox [ par bossun ] salut,j'ai la fonction suivante qui s'exécute parfaitement sur IE mais pas sur FireFox: function verif_Formulaire() { if (document.forms[0].obs window.onload et document.write => effacement de la page [ par cydelic ] Bonjour, J'aimerai savoir pourquoi quand on fait un window.onload et ensuite un document.write la page en court est effacer ? Ex: window.onload=Init compatibilité firefox [ par bob ] Bonsoir tout le monde ! j'ai trouvé un script(sur un autre site : je ne sais plus lequel) qui faisait exactement ce que je cherchais, il marche sous I Redirection [ par massacr ] Bonjour, je voudrais faire un compte à rebours avec un bouton démarrer et un autre arreter.Le bouton démarrer marche bien mais lorsque que l'on clique


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales