OVH Cloud OVH Cloud

Enchainer une command javascript

8 réponses
Avatar
Tantale
Arriver par un lien sur une page html et faire exécuter une commande
du type javascript:LoadNextPage(2,1) nomalement activée par un lien de cette
page.

Ma page http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm

Je voudrais faire une page de diagrammes et par exemple en cliquant sur le
troisième diagramme arriver sur
http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm et engendrer la commande
obtenue normalememt en cliquant sur "Equillibre".

Seulement je ne vois pas comment faire.

Merci beaucoup.


--
Il est bien plus beau de savoir quelque chose de tout
que de savoir tout d'une chose ; cette universalité est la plus belle.
Blaise Pascal
http://perso.wanadoo.fr/jmrw/

8 réponses

Avatar
L'ermite
Tantale wrote:
Je voudrais faire une page de diagrammes et par exemple en cliquant sur le
troisième diagramme arriver sur
http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm et engendrer la commande
obtenue normalememt en cliquant sur "Equillibre".


Si j'ai bien compris ce que tu cherches à faire, il suffit de coller ça en vrac
dans la page:

<script>
LoadNextPage(2,1);
</script>

--
L'ermite

Avatar
Tantale
Si j'ai bien compris ce que tu cherches à faire, il suffit de coller ça en
vrac dans la page:

<script>
LoadNextPage(2,1);
</script>


Merci mais je vois pas toujours pas clairement comment faire


La page http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm comporte en fait
treize études actionnées depuis cette page en cliquant sur les liens titres
qui déclenchent LoadNextPage(0,1)
à LoadNextPage(12,1);

Je veux depuis une autre page de résumé qui comperterait treize diagrammes
en cliquant sur le diagramme xx ouvir la page
http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm (ce qui est facile) MAIS
SURTOUT enchainer la commande LoadNextPage(xx,1) pour avoir à l'écran
l'étude correspondant au diagramme.

Avatar
L'ermite
Tantale wrote:

...Je veux depuis une autre page de résumé qui comperterait treize diagrammes
en cliquant sur le diagramme xx ouvir la page
http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm (ce qui est facile) MAIS
SURTOUT enchainer la commande LoadNextPage(xx,1) pour avoir à l'écran
l'étude correspondant au diagramme.


OK, je crois avoir compris cette fois-ci.

Le plus simple serait de déporter la fonction LoadNextPage() dans un fichier .js
déporté, qui serait inclu à la fois par la page base.htm et "l'autre page de
résumé". A partir de là, il suffit d'un lien du genre

<a href="http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm"
onclick="LoadNextPage(xx,1);">diagramme 2</a>

Si tu ne veux ou peux pas disposer de la fonction LoadNextPage dans la page de
résumé, il faut ouvrir la page de base avec des paramètres ajoutés dans l'url,
puis faire en sorte que la page de base détecte la présence des paramètres et
les utilise le cas échéant leur valeur pour appeler la fonction LoadNextPage.

dans la page de résumé:

<a
href="http://perso.wanadoo.fr/jmrw/Chess/Timman/base.htm&p1=xx&p2=1">diagramme
2</a>

dans la page de base:

<script>
var p1='_';
var p2=-1;
function importparamsurl()
{
var u=document.location.href;
var p0=u.indexOf('?',0);
var p1;
if (p0!=-1)
do
{
p1=u.indexOf('&',p0+1);
if (p1==-1)
p1=u.length;
eval(u.substring(p0+1,p1)+';');
p0=p1;
}
while (p1<u.length)
}
importparamsurl();
if ((p1!='_')&&(p2!=-1))
LoadNextPage(p1,p2);
</script>

--
L'ermite

Avatar
Tantale
J'essaye la première solution qui est la plus simple :

J'ai inclu les fichier js dans la page qui comporte le diagrammes. En voici
le contenu :

<!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>Document sans nom</title>
<SCRIPT language="JavaScript" src="../../basej0.js"></SCRIPT>
<SCRIPT language="JavaScript" src="../../basej0c.js"></SCRIPT>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
</head>

<body>
<p><a href="base.htm"
onclick="LoadNextPage(2,1)">diagramme 2</a></p>
</body>
</html>


Quand je clique sur diagramme2 la commande javascript LoadNextPage(2,1) n'a
pas d'effet.


Y a t-il une erreur de syntaxe qq part? Je suis peut-être pas loin.

Encore merci

JMR


--
Il est bien plus beau de savoir quelque chose de tout
que de savoir tout d'une chose ; cette universalité est la plus belle.
Blaise Pascal
http://perso.wanadoo.fr/jmrw/
Avatar
L'ermite
Tantale wrote:
J'ai inclu les fichier js dans la page qui comporte le diagrammes. En voici
le contenu :

.....
Quand je clique sur diagramme2 la commande javascript LoadNextPage(2,1) n'a
pas d'effet.


Bizarre, tout ça m'a pourtant l'air correct.
Pourrais-tu me donner l'url de cette page (le "résumé")? Je voudrais vérifier
que le problème n'est pas une différence de comportement entre nos navigateurs
respectifs et qu'il n'y a pas une erreur javascript au niveau de la fonction
LoadNextPage.

--
L'ermite

Avatar
Tantale
Pourrais-tu me donner l'url de cette page (le "résumé")?


Voici http://perso.wanadoo.fr/jmrw/Chess/Timman/TestDiag2.htm

JMR

Avatar
L'ermite
Tantale wrote:

Voici http://perso.wanadoo.fr/jmrw/Chess/Timman/TestDiag2.htm


La page base.htm est constituée de frames auxquelles les scripts des deux
fichiers .js tentent d'accéder. Comme ces frames n'existent pas sur la page
TestDiag2.htm, les scripts génèrent une erreur qui a pour effet de stopper
l'exécution du javascript et donc d'inhiber l'appel de la fonction LoadNextPage.

Il faut donc, si tu veux rester sur la première de mes deux solutions, créer les
mêmes frames (même structure, dimensions et noms) sur la page TestDiag2.htm, en
ajoutant une page avec un code dans ce style:

<html>
<frameset border="0" cols="342,*" frameborder="0" framespacing="0"><frame
src="TestDiag2.htm"><frame src="bidon.htm" name="RightSide"></frameset>
</html>

Cette solution qui impose des frames sur la page de résumé est donc au final
moins souple et plus contraingnante que l'autre qui a l'air plus compliquée
qu'elle ne l'est réellement.

--
L'ermite

Avatar
Tantale
Merci beaucoup pour ces pistes que je vais exploiter dans les jours à venir.

JMR

"L'ermite" a écrit dans le message de news:
colk9t$1o3u$
Tantale wrote:

Voici http://perso.wanadoo.fr/jmrw/Chess/Timman/TestDiag2.htm


La page base.htm est constituée de frames auxquelles les scripts des deux
fichiers .js tentent d'accéder. Comme ces frames n'existent pas sur la
page TestDiag2.htm, les scripts génèrent une erreur qui a pour effet de
stopper l'exécution du javascript et donc d'inhiber l'appel de la fonction
LoadNextPage.

Il faut donc, si tu veux rester sur la première de mes deux solutions,
créer les mêmes frames (même structure, dimensions et noms) sur la page
TestDiag2.htm, en ajoutant une page avec un code dans ce style:

<html>
<frameset border="0" cols="342,*" frameborder="0" framespacing="0"><frame
src="TestDiag2.htm"><frame src="bidon.htm" name="RightSide"></frameset>
</html>

Cette solution qui impose des frames sur la page de résumé est donc au
final moins souple et plus contraingnante que l'autre qui a l'air plus
compliquée qu'elle ne l'est réellement.

--
L'ermite