[JScript]Détecter la fin du chargement d'une page

Salut,

j’ai un problème assez délicat et pour le résoudre j’essaie d’utiliser Javascript.
Il me faudrai une fonction qui m’indique si la page web est complètement chargée.

En détail:

Je réalise une appli java qui a besoin d’afficher des pages webs de manière impeccable. Pour cela j’utilise un composant swing appelé JDic.

Ce composant permet aussi d’exécuter des scripts sur les pages qu’il affiche.
Manque de chance il lance le script avant que la page soit chargée. S’il contient du code manipulant des formulaires par exemple,
il m’insulte étant donné que la page n’est pas encore initialisée et le code inaccessible. Il faut donc le faire patienter un petit moment…

J’ai utilisé le Thread.sleep(temps) dans le code java ça marche mais ce n’est pas génial.
Vu que je peux lancer du javascript dans JDic je me demandais s’il était possible d’utiliser ce langage.

J’ai essayé pas mal de trucs à base de :
« lorsque la longueur du document chargé ne change plus pendant qques secondes c’est que la page est ok »
encore une fois ça marche de temps en temps mais ce n’est pas infaillible.
Une fonction qui se déclenche à window.onload ne m’aide pas non plus :stuck_out_tongue:

Si quelqu’un à une idée ou une fonction magique… :stuck_out_tongue:

Merci

Heuuu, normalement si tu insères un bout de code javascript juste avant le , il ne s’éxecutera que lorsque ta page est complétement finie de charger (puisque l’interprétation du HTML par le navigateur est séquentielle)

[quote name=‹ jarod › date=’ 27 Jun 2005, 15:58’]Heuuu, normalement si tu insères un bout de code javascript juste avant le , il ne s’éxecutera que lorsque ta page est complétement finie de charger (puisque l’interprétation du HTML par le navigateur est séquentielle)
[right][post=« 372056 »]<{POST_SNAPBACK}>[/post][/right][/quote]

ok, merci mais ça ne m’aidera pas car ici le javascript est exécuté lors de l’appelle à une méthode java et je n’ai accès au code Html qu’en lecture (oui c’est limite pour la rubrique web dev).
Il faut que je me débrouille pour utiliser cette méthode lorsque la page est chargée (ou au moins le body). J’espérais pouvoir utiliser une astuce en javascript pour me dire que la page est prête mais pas moyen de trouver :stuck_out_tongue:

Tu peux toujours essayer la proprieté readyState du document ( complete, loading ou interactive sauf erreur ), même si je crois que c’est potentiellement IE only et pas standard pour un sou. Si ça te va, ça marche assez bien. Il y a peut-être une fonction standard, mais je l’ai pas trouvée ( pas trop cherché non plus :stuck_out_tongue: ).

Bonne chance :stuck_out_tongue:

P.S : pour plus d’info, MSDN est ton ami.

Merci c’est exactement ce que je cherchais, JDic crée un navigateur IE à insérer dans du java logiquement ça devrait passer. Le problème c’est qu’une fois de plus je suis envahi d’erreurs javascript parce qu’il ne trouve tjs pas les éléments de la page, même complétée. Bref je crois que je vais continuer à pourrir la mailing list des développeurs jusqu’à ce qu’updates s’en suive… :stuck_out_tongue:

Dites les gens, vous le faites exprès la c’est pas possible? Personne ne vous a jamais appris le Dhtml?

ReadyState déjà c’est que du IE.
le script a la fin du BODY ca marche bien sauf quand la page contient d’autres documents, comme des images (ce qui semble arriver, si tu as des scripts externes).

nan marche pas, j’ai pas accès au code html. C’est pas vraiment du web dev; j’ai posté ici parce que je voulais une astuce en JavaScript. Et le “que IE” ça me va pour la raison évoquée dans mon dernier message.

[quote name=’[PERE]Cil’ date=’ 27 Jun 2005, 16:58’]Dites les gens, vous le faites exprès la c’est pas possible? Personne ne vous a jamais appris le Dhtml?

ReadyState déjà c’est que du IE.
le script a la fin du BODY ca marche bien sauf quand la page contient d’autres documents, comme des images (ce qui semble arriver, si tu as des scripts externes).
[right][post=« 372083 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Le monsieur il voulait du javascript, et j’ai précisé que c’etait du IE only. Mais sinon j’ai pas fait exprès non :stuck_out_tongue:

Euh: mais sinon vous le faites exprès :P.

<script> document.body.onLoad = "JavascriptHandler"; </SCRIPT>

Voila la version Full Javascript. Oui le DHTML tu peux associer directement des handler en javascript, pas besoin de le faire en HTML.

[quote name=’[PERE]Cil’ date=’ 28 Jun 2005, 14:25’]<script> document.body.onLoad = "JavascriptHandler"; </SCRIPT>[/quote]

a pars que la tu surcharge la méthode onLoad,
pour ajouter un handler à l’évenement onLoad

[code]var ie = (document.all)?true:false;

function monHandler(){}

if(ie) {
 document.attachEvent(“onload”, monHandler);
} else {
 document.addEventListener(“load”, monHandler, true);
}[/code]

Ouaip désolé, me suis planté la bonne méthode est le code a kursk :stuck_out_tongue:

[sugar smiley edit]