[html - jscript] exécuter code, si et seulement si une frame est chargée
4 réponses
sympatix
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce
qui me génère une erreur (objet null).
En gros, ce code doit me recharger une div (ma_div) dans une autre frame,
mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en
fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la frame,
mais le script part alors en boucle infinie, et je suis
obligé de "killer" IE par Ctrl-Alt-Suppr:
c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il
quelque chose ?
---------Extrait----------
var v_frame = window.parent.frames[0];
while (v_frame.document.readyState!="complete");
v_frame.document.all.ma_div.innerHTML="bla bla bla";
------Fin de l'extrait-----
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Georges MAUREL
Bonjour sympatix, Avez vous essayé while (v_frame.document.readyState!=4); plutot que while (v_frame.document.readyState!="complete");
Cordialement Georges
"sympatix" a écrit dans le message de news:
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce qui me génère une erreur (objet null). En gros, ce code doit me recharger une div (ma_div) dans une autre frame, mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la frame,
mais le script part alors en boucle infinie, et je suis obligé de "killer" IE par Ctrl-Alt-Suppr: c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il quelque chose ?
---------Extrait---------- var v_frame = window.parent.frames[0]; while (v_frame.document.readyState!="complete"); v_frame.document.all.ma_div.innerHTML="bla bla bla"; ------Fin de l'extrait-----
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Bonjour sympatix,
Avez vous essayé
while (v_frame.document.readyState!=4);
plutot que
while (v_frame.document.readyState!="complete");
Cordialement
Georges
"sympatix" <totosympatix@tototele2.fr> a écrit dans le message de
news:OBEsJQupFHA.272@TK2MSFTNGP15.phx.gbl...
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce
qui me génère une erreur (objet null).
En gros, ce code doit me recharger une div (ma_div) dans une autre frame,
mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en
fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la
frame,
mais le script part alors en boucle infinie, et je suis
obligé de "killer" IE par Ctrl-Alt-Suppr:
c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il
quelque chose ?
---------Extrait----------
var v_frame = window.parent.frames[0];
while (v_frame.document.readyState!="complete");
v_frame.document.all.ma_div.innerHTML="bla bla bla";
------Fin de l'extrait-----
Bonjour sympatix, Avez vous essayé while (v_frame.document.readyState!=4); plutot que while (v_frame.document.readyState!="complete");
Cordialement Georges
"sympatix" a écrit dans le message de news:
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce qui me génère une erreur (objet null). En gros, ce code doit me recharger une div (ma_div) dans une autre frame, mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la frame,
mais le script part alors en boucle infinie, et je suis obligé de "killer" IE par Ctrl-Alt-Suppr: c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il quelque chose ?
---------Extrait---------- var v_frame = window.parent.frames[0]; while (v_frame.document.readyState!="complete"); v_frame.document.all.ma_div.innerHTML="bla bla bla"; ------Fin de l'extrait-----
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Georges MAUREL
Re-bonjour Sympatix, Oubliez mon post précédent et essayez ceci à la place
<script language="jscript"> { var v_interval; v_interval = setInterval("testercomplete()",500);
function testercomplete() { var v_frame = window.parent.frames[0]; if (v_frame.document.readyState=="complete") { v_frame.document.all.ma_div.innerHTML="bla bla bla"; alert("complete"); clearInterval(v_interval); } else alert(" not complete"); } } </script>
Cordialement Georges
"sympatix" a écrit dans le message de news:
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce qui me génère une erreur (objet null). En gros, ce code doit me recharger une div (ma_div) dans une autre frame, mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la frame,
mais le script part alors en boucle infinie, et je suis obligé de "killer" IE par Ctrl-Alt-Suppr: c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il quelque chose ?
---------Extrait---------- var v_frame = window.parent.frames[0]; while (v_frame.document.readyState!="complete"); v_frame.document.all.ma_div.innerHTML="bla bla bla"; ------Fin de l'extrait-----
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Re-bonjour Sympatix,
Oubliez mon post précédent et essayez ceci à la place
<script language="jscript">
{
var v_interval;
v_interval = setInterval("testercomplete()",500);
function testercomplete()
{
var v_frame = window.parent.frames[0];
if (v_frame.document.readyState=="complete")
{
v_frame.document.all.ma_div.innerHTML="bla bla bla";
alert("complete");
clearInterval(v_interval);
}
else
alert(" not complete");
}
}
</script>
Cordialement
Georges
"sympatix" <totosympatix@tototele2.fr> a écrit dans le message de
news:OBEsJQupFHA.272@TK2MSFTNGP15.phx.gbl...
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce
qui me génère une erreur (objet null).
En gros, ce code doit me recharger une div (ma_div) dans une autre frame,
mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en
fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la
frame,
mais le script part alors en boucle infinie, et je suis
obligé de "killer" IE par Ctrl-Alt-Suppr:
c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il
quelque chose ?
---------Extrait----------
var v_frame = window.parent.frames[0];
while (v_frame.document.readyState!="complete");
v_frame.document.all.ma_div.innerHTML="bla bla bla";
------Fin de l'extrait-----
Re-bonjour Sympatix, Oubliez mon post précédent et essayez ceci à la place
<script language="jscript"> { var v_interval; v_interval = setInterval("testercomplete()",500);
function testercomplete() { var v_frame = window.parent.frames[0]; if (v_frame.document.readyState=="complete") { v_frame.document.all.ma_div.innerHTML="bla bla bla"; alert("complete"); clearInterval(v_interval); } else alert(" not complete"); } } </script>
Cordialement Georges
"sympatix" a écrit dans le message de news:
Bonjour !
[Contexte: navigation internet, côté client]
J'ai un code qui s'éxécute trop tôt (avant le chargement d'une frame), ce qui me génère une erreur (objet null). En gros, ce code doit me recharger une div (ma_div) dans une autre frame, mais il faut pour celà que cette div soit déjà chargée (qu'elle existe, en fait), ce qui n'est pas toujours le cas, c'est ce qui me pose problème.
j'ai bien essayé le code ci-dessous, pour tester le chargement de la frame,
mais le script part alors en boucle infinie, et je suis obligé de "killer" IE par Ctrl-Alt-Suppr: c'est la ligne 2 qui pose problème. Le code est-il juste, manque-t-il quelque chose ?
---------Extrait---------- var v_frame = window.parent.frames[0]; while (v_frame.document.readyState!="complete"); v_frame.document.all.ma_div.innerHTML="bla bla bla"; ------Fin de l'extrait-----
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
sympatix
Re-bonjour Sympatix, Oubliez mon post précédent .../...
Hmmff....,... ça y est, j'ai tout oublié....;-)
.../...et essayez ceci à la place
<script language="jscript"> { var v_interval; v_interval = setInterval("testercomplete()",500);
function testercomplete() { var v_frame = window.parent.frames[0]; if (v_frame.document.readyState=="complete") { v_frame.document.all.ma_div.innerHTML="bla bla bla"; alert("complete"); clearInterval(v_interval); } else alert(" not complete"); } } </script>
Effectivement, après quelques adaptations à mon code, ça fonctionne parfaitement ! Merci beaucoup :-) -- Cordialement saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Re-bonjour Sympatix,
Oubliez mon post précédent .../...
Hmmff....,... ça y est, j'ai tout oublié....;-)
.../...et essayez ceci à la place
<script language="jscript">
{
var v_interval;
v_interval = setInterval("testercomplete()",500);
function testercomplete()
{
var v_frame = window.parent.frames[0];
if (v_frame.document.readyState=="complete")
{
v_frame.document.all.ma_div.innerHTML="bla bla bla";
alert("complete");
clearInterval(v_interval);
}
else
alert(" not complete");
}
}
</script>
Effectivement, après quelques adaptations à mon code, ça fonctionne
parfaitement !
Merci beaucoup :-)
--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Re-bonjour Sympatix, Oubliez mon post précédent .../...
Hmmff....,... ça y est, j'ai tout oublié....;-)
.../...et essayez ceci à la place
<script language="jscript"> { var v_interval; v_interval = setInterval("testercomplete()",500);
function testercomplete() { var v_frame = window.parent.frames[0]; if (v_frame.document.readyState=="complete") { v_frame.document.all.ma_div.innerHTML="bla bla bla"; alert("complete"); clearInterval(v_interval); } else alert(" not complete"); } } </script>
Effectivement, après quelques adaptations à mon code, ça fonctionne parfaitement ! Merci beaucoup :-) -- Cordialement saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)