Détection de la fin du chargement d'une page

cs_lafolle Messages postés 21 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 22 février 2006 - 20 sept. 2005 à 09:51
lOeil Messages postés 23 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 25 mars 2009 - 26 mai 2007 à 13:25
bonjour à tous,

j'ai un petit problème.
Dans une page X, je cherche à savoir si une page Y a fini de se charger.

voici mon code pour attendre la fin du chargement :
while (top.window.opener.window.parent.body.left != "[object]") { continue; }
while (top.window.opener.window.parent.body.left.document != "[object]") { continue; }
while (top.window.opener.window.parent.body.left.document.thisForm != "[object]") { continue; }
while (top.window.opener.window.parent.body.left.document.thisForm.charge_page != "[object]") { continue; }

le problème est que, de temps en temps, j'ai une erreur sur le thisForm ou le charge_page disant que ce ne sont pas des objets ou qu'ils ont une valeur nulle ou une autre disant que la permission est refusée.

j'ai essayé avec .readyState mais j'ai la même erreur.
En fait, quand je lance ma fonction d'attente, la page peut ne pas encore avoir commencée à se charger.

7 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 sept. 2005 à 11:01
Bonjour,

function attend()
{
var ret=true;
try
{
var tmp=objet qui existera quand la page sera chargée
et qui n'existe pas tant qu'elle ne l'est pas;
}
catch(erreur)
{
setTimeout("attend();",1000);
ret=false;
}
if ( ret ) { suite des traitements .... }
}

ou "pas loin" ( pas testé )
Cordialement. Bul. 
0
cs_lafolle Messages postés 21 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 22 février 2006
20 sept. 2005 à 11:07
justement je cherche une autre solution que les settimeout car le temps de chargement varient d'un PC à l'autre.
Mais avec les .readyState mes erreurs devaient venir d'ailleurs , je pense que ça marche mais je continue de tester.

Merci quand même
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 sept. 2005 à 11:22
c'est bien le but de ce setTimeOut :
ici, on relance tant que ce n'est pas
bon, donc "indépendant" du temps de chargement !
Il faut bien laisser le temps à la
page de se charger, et sans setTimeout...
@+
0
cs_lafolle Messages postés 21 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 22 février 2006
20 sept. 2005 à 11:28
mon "continue;" dans une boucle est l'équivalent d'un settimeout.

tu sais pas à quoi est du les erreurs "permission refusée" ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
21 sept. 2005 à 03:52
Salut!

Pourquoi pas :

while (!top.window.opener.window.parent.body) { continue; }
top.window.opener.window.ancienOnload = top.window.opener.window.parent.body.onload;
top.window.opener.window.parent.body.onload=action;

function action()
{
alert("chargée");
if (top.window.opener.window.ancienOnload)
top.window.opener.window.ancienOnload();
}

pas testé

A+, Ghislain
0
lOeil Messages postés 23 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 25 mars 2009
25 mai 2007 à 02:51
>    var tmp=objet qui existera quand la page sera chargée et qui n'existe pas tant qu'elle ne l'est pas;

Bonsoir

Concretement on code ca comment ?

merci
0
lOeil Messages postés 23 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 25 mars 2009
26 mai 2007 à 13:25
car on ne peut pas prévoir quel objet sera chargé en dernier non ?
0
Rejoignez-nous