OVH Cloud OVH Cloud

IE et window.name

3 réponses
Avatar
Cenekemoi
Bonjour à tous,

voici un problème qui me perturbe.

Soit "Page1.htm" :

<HTML><BODY>
<A href="Page2.htm" target=TOTO>fenetre TOTO</A>
</BODY></HTML>

Soit "Page2.htm" :

<HTML><HEAD>
<SCRIPT>
function affName(i) { alert( i +" - "+ window.name ); }

affName(1);
window.name = "TITI";
affName(2);

</SCRIPT>
</HEAD><BODY onload="affName(3);">
<A href="javascript:affName(4)">window.name ?</A>
</BODY></HTML>

Quand on clique sur le lien "fenetre TOTO" de la Page1, une fenêtre
s'ouvre (normal) et des alertes apparaissent :

1 - TOTO
2 - TITI
3 - TITI

Jusque là, c'est tout à fait normal : on a modifié "window.name" de TOTO
en TITI.

Le problème est quand on clique sur le lien "window.name ?" de la Page2.

Avec NS 7, NS4+, on a :
4 - TITI ==> cela me parait normal
Avec IE, on a :
4 - TOTO ==> pourquoi ?

En d'autres termes, sous IE, la modification du nom de la fenêtre n'est
pas conservé ?!?

Il est à noter que si on met "target=_blank" dans la Page1 pour le lien,
tout baigne !... mais ce n'est pas ce que je désire ;-((

Si un gourou JS pouvait m'aider un peu, merci d'avance...

--
Cordialement, Thierry

3 réponses

Avatar
YD

voici un problème qui me perturbe.


Hmmm...

Soit "Page1.htm" :

<HTML><BODY>
<A href="Page2.htm" target=TOTO>fenetre TOTO</A>
</BODY></HTML>

Soit "Page2.htm" :

<HTML><HEAD>
<SCRIPT>
function affName(i) { alert( i +" - "+ window.name ); }

affName(1);
window.name = "TITI";
affName(2);

</SCRIPT>
</HEAD><BODY onload="affName(3);">
<A href="javascript:affName(4)">window.name ?</A>
</BODY></HTML>

Quand on clique sur le lien "fenetre TOTO" de la Page1, une fenêtre
s'ouvre (normal) et des alertes apparaissent :

1 - TOTO
2 - TITI
3 - TITI

Jusque là, c'est tout à fait normal : on a modifié "window.name" de TOTO
en TITI.

Le problème est quand on clique sur le lien "window.name ?" de la Page2.

Avec NS 7, NS4+, on a :
4 - TITI ==> cela me parait normal
Avec IE, on a :
4 - TOTO ==> pourquoi ?


Le lien provoque-t-il un refresh de la page (depuis le cache) ?

Allez plus fort encore, essaie :

<A href="" onclick="affName(5);return false;">window.name (2) ?</A>

Les mystères d'IE sont impénétrables...

--
Y.D.

Avatar
Cenekemoi
Le lien provoque-t-il un refresh de la page (depuis le cache) ?

Allez plus fort encore, essaie :

<A href="" onclick="affName(5);return false;">window.name (2) ?</A>

Les mystères d'IE sont impénétrables...


Bien vu !

Mais le plus beau est à venir :

<A href="javascript:affName(4)">window.name (1) ?</A>
<br>
<A href="" onclick="affName(5);return false;">window.name (2) ?</A>

Si je clique sur (2), j'obtiens TITI ==> OK
Si je REclique sur (2), j'obtiens TITI ==> toujours OK
Si je clique sur (1), j'obtiens TOTO ==> berk
Si je REREclique sur (2), j'obtiens TOTO ==> reberk...et reste berk !

En d'autres termes, le "pseudo-lien" [javascript:...] a restauré
l'ancienne valeur de "window.name" SANS provoquer de refresh de la page
!
What's happened ?

Conclusion : toujours eviter les "pseudo-lien"...cela peut être
dangereux !

--
Cordialement, Thierry ;-)

Avatar
Cenekemoi
Bonjour à Cenekemoi qui
Mais le plus beau est à venir :

<A href="javascript:affName(4)">window.name (1) ?</A>
<br>
<A href="" onclick="affName(5);return false;">window.name (2) ?</A>

Si je clique sur (2), j'obtiens TITI ==> OK
Si je REclique sur (2), j'obtiens TITI ==> toujours OK
Si je clique sur (1), j'obtiens TOTO ==> berk
Si je REREclique sur (2), j'obtiens TOTO ==> reberk...et reste berk !

En d'autres termes, le "pseudo-lien" [javascript:...] a restauré
l'ancienne valeur de "window.name" SANS provoquer de refresh de la
page !
What's happened ?

Conclusion : toujours eviter les "pseudo-lien"...cela peut être
dangereux !


Encore plus bizarre :

Si je mets :
<A href="javascript:alert('go')">go (3) !</A>
en lieu et place de (1), le résultat est exactement le même, cad que
simplement cliquer sur (3) restaure l'ancienne valeur de "window.name".
Quelqu'un aurait une "pseudo-"explication à ce phénomène ?

--
Cordialement, Thierry ;-)