Bonjour,
Sur une appli web j'ai une fonction Javascript qui me permet d'enregistrer une variable au plus haut parent (top.opener en boucle).
Mon appli est lancé d'une page mère dans une popup, donc l'objet (appelé "global") est enregistrer dans la page mère et contient toutes mes variables au fur et a mesure que l'appli s'execute.
Le soucis :
Sur firefox j'avais une erreur ou plutot une sécurité qui m'empêchait de faire interagir deux fenêtres parente qui ne sont pas sur le même nom de domaine ou domaine.
Sur IE tout fonctionnait ...
J'ai donc mis les deux pages sur le même domaine et désormais c'est IE qui agit comme il ne le devrait pas ...
Lorsque je coupe l'appli et que je la réouvre sans recharger la page 'mère' il me donne une erreur a chaque fois que je tente d'acceder a mes variables :
L'appelé (serveur [pas application serveur]) n'est pas disponible et a disparu ; aucune connexion n'est valide. L'appel ne s'est pas exécuté.
Pour simplifier le tout j'ai fais un petit exemple qui me donne le même soucis en local :
Page mère
et la popup :
On peut remarquer que le soucis apparait dans deux cas:
1 - lorsqu'on coupe la popup, la variable n'est plus disponible dans la fenêtre mère...
2 - a la suite de cela si on rouvre la popup on ne peut même pas la réenregistrer ni la relire.
Merci de me donner un coup de pouce
(pas trop fort quand même... ça peut faire mal !)
KalNex
Sur une appli web j'ai une fonction Javascript qui me permet d'enregistrer une variable au plus haut parent (top.opener en boucle).
Mon appli est lancé d'une page mère dans une popup, donc l'objet (appelé "global") est enregistrer dans la page mère et contient toutes mes variables au fur et a mesure que l'appli s'execute.
Le soucis :
Sur firefox j'avais une erreur ou plutot une sécurité qui m'empêchait de faire interagir deux fenêtres parente qui ne sont pas sur le même nom de domaine ou domaine.
Sur IE tout fonctionnait ...
J'ai donc mis les deux pages sur le même domaine et désormais c'est IE qui agit comme il ne le devrait pas ...
Lorsque je coupe l'appli et que je la réouvre sans recharger la page 'mère' il me donne une erreur a chaque fois que je tente d'acceder a mes variables :
L'appelé (serveur [pas application serveur]) n'est pas disponible et a disparu ; aucune connexion n'est valide. L'appel ne s'est pas exécuté.
Pour simplifier le tout j'ai fais un petit exemple qui me donne le même soucis en local :
Page mère
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>eDesk simulation !</title>
<script language="javascript">
<!--
function OuvrirPopup() {
thalogWindow = window.open("popup.html", "Presentation",
'scrollbars=yes,status=yes,width=800,height=600,resizable=yes,menubar=yes');
}
function lectureGlobal() {
//alert("Lecture de l'objet Global");
for(e in top.global) { alert(e+" : "+top.global[e]); }
}
// -->
</script>
</head>
<body>
<a href="javascript:OuvrirPopup();">Ouverture popup</a> <br/><br/>
<a href="javascript:lectureGlobal();">lecture variable contenu dans l'objet Global</a>
</body>
</html>
et la popup :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>eDesk simulation !</title>
<script language="javascript">
<!--
function browserGlobalGet(name) {
browserTopOpener = browserGlobalInit();
return (eval("browserTopOpener.global."+name));
}
function browserGlobalInit () {
topOpener=top;
while(topOpener.opener) topOpener=topOpener.opener.top;
if (!topOpener.global) {
topOpener.global = new Object;
}
return topOpener
}
function browserGlobalSet(name, value) {
browserTopOpener = browserGlobalInit();
eval("browserTopOpener.global."+name+"=value");
}
// -->
</script>
<script language="javascript">
<!--
function recordGlobal() {
var gogo = 2;
browserGlobalSet("gogo",gogo);
alert("enregistrement effectué");
}
function readGlobal() {
alert(browserGlobalGet("gogo"));
}
// -->
</script>
</head>
<body>
<a href="javascript:recordGlobal();">Enregistrement variable globale</a> <br/><br/>
<a href="javascript:readGlobal();">Lecture variable enregistré dans page mère</a>
</body>
</html>
On peut remarquer que le soucis apparait dans deux cas:
1 - lorsqu'on coupe la popup, la variable n'est plus disponible dans la fenêtre mère...
2 - a la suite de cela si on rouvre la popup on ne peut même pas la réenregistrer ni la relire.
Merci de me donner un coup de pouce

(pas trop fort quand même... ça peut faire mal !)
KalNex