Spipu Le 05/02/2005 à 17:53 mon pb est tout simple (c du js) :
j'ai une fenetre principale, ki ne comporte aucune frame, et qui ouvre un popup de messagerie grace à open(url, "messagerie", mes propriétés), et je voudrai vérifier ds la fenetre principale que le popup s'est bien ouvert, et n'a pas été fermé par un anti popup... comment ke je fais ?
en gros,pour être plus clair, je cherche l'invers d'"opener"...
Spipu Le 05/02/2005 à 18:21 en fait, me suis mal expliquer, désolé, voici ce ke je ve faire :
à l'appel de la page principale :
si le popup de messagerie est déja ouvert : ne rien faire
sinon ;
>ouverture du popup, si ok > affichage en div ds la page principale > "ouverture messagerie ok"
>si pas ok > affichage en div ds la page principale > "pb d'ouverture du popup"
mon pb, c : detecter si le popup est déja ouvert.
a l'aide... snif
Spipu Le 05/02/2005 à 18:43 g réussi comme ca :
premier point, la page de messagerie comporte une variable javascript is_loaded = 1
ensuite, je fais ca :
mon_popup = windows.open("", "msg_popup", ...)
if (!mon_popup.is_loaded)
{
mon_popup = windows.open("messagerie.php", "msg_popup")
temporisation pour le temps de chargement de la messagerie
if (mon_popup.is_loaded) message ouverture ok
else message de pb d'ouverture
}
Spipu Le 05/02/2005 à 19:18
var msg_etat=0;
var msg_text = new Array(0, 0, 0, 0, 0);
msg_text[0] = "Messagerie ouverte";
msg_text[1] = "Impossible d'ouvrir la messagerie<br>Ne bloquez pas les PopUps...";
var msg_info_y_max = 70;
var msg_info_y = 0;
var msg_info_e = 0;
var msg_mode = 0;
var msg_info = Identifier("info_msg");
Cacher(msg_info);
var msg_frame = window.open("", "msg_opener", 'toolbar=false,directories=false,status=false,menubar=false,scrollbars=0,resizable=0,width=320,height=240');
var msg_timer=null;
function msg_ouvrir()
{
msg_etat=1;
msg_frame = window.open("messagerie.php", "msg_opener");
setTimeout("msg_init()",2000);
}
function msg_ouvert()
{
msg_etat=2;
msg_information(0, 1);
}
function msg_non_ouvert()
{
msg_etat=-1;
msg_information(1, 0);
}
function msg_init()
{
if (msg_etat==0)
{
if (msg_frame)
if (msg_frame.msg_isloaded)
msg_etat=2;
else
msg_ouvrir();
else
msg_ouvrir();
}
else if (msg_etat==1)
{
if (msg_frame)
if (msg_frame.msg_isloaded)
msg_ouvert();
else
msg_non_ouvert();
else
msg_non_ouvert();
}
}
function msg_information(id, m)
{
clearTimeout(msg_timer);
msg_info_y =-msg_info_y_max;
msg_info_e =1;
msg_mode = m;
Largeur(msg_info, 200);
PositionXY(msg_info, 0, msg_info_y);
Ecrire(msg_info, "<table width=100% class=tab><tr><td class=tab2>"+msg_text[id]+"</td></tr></table>");
Montrer(msg_info);
msg_ouverture();
}
function msg_ouverture()
{
msg_info_y+=2;
if (msg_info_y<0)
{
PositionXY(msg_info, 0, msg_info_y);
msg_timer = setTimeout("msg_ouverture()",20);
}
else
{
msg_info_y = 0;
PositionXY(msg_info, 0, msg_info_y);
if (msg_mode) msg_timer = setTimeout("msg_fermeture()",4000);
else msg_timer = null;
}
}
function msg_fermeture()
{
msg_info_y-=2;
if (msg_info_y>-msg_info_y_max)
{
PositionXY(msg_info, 0, msg_info_y);
setTimeout("msg_fermeture()",20);
}
else
{
msg_info_y = -msg_info_y_max;
PositionXY(msg_info, 0, msg_info_y);
Cacher(msg_info);
}
}
msg_init();