comment recupérer la valeur history.previous

Eléphanteau du PHP | 19 Messages

17 nov. 2006, 18:59

en faite je voudrais recupérer la valeur history.previous en valeur true/false si c'est possible
je la recupere dans une alert mais ce que je veu c'est le mettre dans un if

Code : Tout sélectionner

if( history.previous = quelque chose)

ViPHP
ViPHP | 1961 Messages

17 nov. 2006, 19:07

Bonjour,

En JS les affectations se font a = b, mais les tests d'égalité se font par 'if (a == b)'
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 19 Messages

17 nov. 2006, 19:11

c'était juste pour donner une idées de ce que je voulais faire.
mais si la valeur de history est undefined (comme il me met dans l'alert)
je dois mettre quoi à la place de "quelque chose"???

ViPHP
ViPHP | 1961 Messages

17 nov. 2006, 19:19

Re,
Comme tu viens de le dire
valeur de history est undefined
tu devras tester cette valeur, sans oublier que c'est une chaine de cractères, ce qui te donnerai QQ chose du style

Code : Tout sélectionner

if( history.previous == 'undefined'){ ...... }
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 19 Messages

17 nov. 2006, 19:39

en fait mon code en entier donne ca

Code : Tout sélectionner

var historik = history.previous; function Redirige(){ alert("history : " + historik); if( historik == "undefined") window.close(); else window.location.href="http://www.monsite.fr" }
mais la meme si historik est égal a rien il me redirige quand meme

ViPHP
ViPHP | 1961 Messages

18 nov. 2006, 04:11

Re bonsoir,

J'ai répondu trop vite, je ne savais ce que souhaitais faire.
L'objet JS 'window.history' n'a pas de propriétés (ou sont interdites), on ne peu que lui appliquer des méhodes qui sont

Code : Tout sélectionner

length back() forward() go()
Deux petits exemples qui te feron mieux comprendre (exécute-les)
ess.html

Code : Tout sélectionner

<html> <head> </head> <body> <script type="text/JavaScript"> try{ for(prop in window.history){ document.write('Prop = ' + prop + ' val = ' + window.history[prop] + '<br />'); } }catch (error){ alert('ERREUR : ' + error); } document.write("Pages visit&eacute;es = " + window.history.length + '<br />'); </script> <a href="./ess1.html">Suivante</a> </body> </html>
ess1.html

Code : Tout sélectionner

<html> <head> </head> <body> <script type="text/JavaScript"> document.write("Pages visit&eacute;es = " + window.history.length + '<br />'); </script> </body> </html>
Dans ess.html tu vas tomber sur l'exception qui te donnera un message on ne peu plus explicite et te dira que c'est la première page visitée.
Si tu 'cliques' sur suivante tu véras que ce nombre (pages visitées) passe à 2.
Si tu recules d'une page, tu veras que ce chiffre redevient 1.

En conclusion : pour savoir le nombre de pages qui te restent dans l'historique tu utilises la méthode length comme ceci

Code : Tout sélectionner

if(window.history.length == 1){ message = "Plus de "; }else{ message = "Il reste " + (window.history.length - 1); } alert(message + " pages dans l'historique);
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 19 Messages

24 nov. 2006, 18:58

Code : Tout sélectionner

<script language="JavaScript" type="text/javascript"> function Redirige(){ if(window.history.length>=1) { window.location.href="http://www.monsite.fr"; } else { self.close(); } } </script>

Eléphanteau du PHP | 19 Messages

24 nov. 2006, 19:00

merci Ajoloca c grace a toi merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 nov. 2006, 19:01

Modération : Si ta question est résolue, pense à ajouter le tag [Résolu] pour indiquer aux personnes qui voudront consulter ce thread qu'il contient une solution.

Tu peux réaliser cette opération en cliquant sur le bouton [Résolu] en haut à gauche de ce thread.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 19 Messages

24 nov. 2006, 19:05

mais j'ai mis déja :shock:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 nov. 2006, 19:08

euh :?
effectivement #-o
Maieuh ... c'était pour voir si tu suivais :mrgreen:
Désolé :oops:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 19 Messages

24 nov. 2006, 19:18

c pas grave je te pardonne lol :lol: :lol: