OVH Cloud OVH Cloud

Internet Explorer "The call did not execute"

1 réponse
Avatar
Anil Daoud
Bonjour,

Je vous soumet un problème sur lequel je m'arrache les cheveux depuis un
petit moment :)

J'ai une page qui ouvre un popup. Dans ce popup est dessiné un tableau
grâce aux valeurs d'un Array appartenant à la page principale.
Concrètement dans l'html de la page principale :

function drawPopup()
{
oPopup.drawTable(tableau);
}

et dans l'html du popup

function drawTable(tableau)
{
for (var i=0; i<tableau.length; i++)
{
/* traitement du tableau ici */
}
}

avec oPopup défini lors de l'appel à window.open (oPopup =
window.open("popup.html", etc etc)).

Tout cela fonctionne très bien, mais dans certains cas, la page du popup
est raffraichie. Si après ce rafraichissement je ferme le popup, que
je clique sur le lien qui ouvre un nouveau popup, Internet Explorer 6 me
gratifie du message suivant :

"Error: The callee (server[not server application]) is not available and
disappeared; all connections are invalid. The call did not execute."

sur la premiere ligne de la fonction drawTable (ie sur le for).

A l'aide de winDbg je peux voir que tableau n'a aucune propriété, c'est
simplement un 'Object'.

Cette erreur ne se produit que sous IE 6. Mozilla 1.7 fonctionne très
bien. Je ne comprends même pas bien le message d'erreur, pourquoi cette
erreur maintenant alors que si la page du popup précedent n'a pas été
rafraichie, je peux ouvrir et fermer le popup sans problème ?

N'hésitez pas à me demander des précisions, j'ai essayé d'être le plus
clair possible mais je ne suis pas sur d'y être arrivé :)

Merci d'avance pour votre aide,

--
Anil

1 réponse

Avatar
Anil Daoud
Bon et bien j'ai résolu le pb, en fait lorsque la page se rafraichissait
je faisais

tableau = autretableau;

avec autretableau une variable globale du popup.
Ce qui fait que lorsque que je fermait le popup, tableau se retrouvait sans
propriétés...

Amusant de constater que Mozilla ne fonctionne pas du tout de la meme
façon, et copiait bien le contenu de autretableau dans tableau.

J'espere que ca servira à quelqu'un d'autre :)

--
Anil