Bonjour
je bute actuellement sur un problème de javascript.
j'ai un fichier HTML qui est crée par ASP compilé dont je n'ai pas les sources.
je ne peux donc pas toucher à ce fichier HTML.
je souhaite cependant modifier le contenu de cette page, je choisis donc le seul point d'entrée que j'ai : javascript.
en effet, le fichier html fait appel à un fichier javascript dont j'ai les sources.
ce fichier javascript est appelé au début du fichier HTML, avant le BODY, donc avant un quelconque contenu.
je ne peux donc pas modifier le contenu au moment exact de l'appel à javascript, puisque à ce moment là, le fichier html est vide.
j'ai donc essayé de faire éxecuter le javascript après le chargement, grâce à window.onload.
Le problème, c'est que le fichier html inclue un body onload="blablabla" qui d'une part m'est inaccessible, et d'autre part est variable.
ci dessous un résumé en code de mon problème :
fichier html que je ne peux pas modifier :
Code :
- <html>
- <head>
- <script type="text/javascript" src="./simple.js"></script>
- </head>
- <body onload="alert('truc');">
- <h1>test</h1>
- <p id="toto">paragraphe original</p>
- <p>Un deuxième paragraphe</p>
- </body>
- </html>
|
ci-dessous le fichier "simple.js" que je peux modifier :
Code :
- function replacetext()
- {
- document.getElementById('toto').firstChild.data="nouveau paragraphe";
- }
- window.onload=replacetext;
|
le problème est le suivant : le window.onload du fichier javascript n'est pas éxécuté, à cause du body.onload (que je ne peux pas modifier ni enlever)
la seule parade que j'ai trouvé jusqu'à présent est de faire :
Code :
- window.setTimeout("replacetext",1000);
|
qui marche, mais qui n'est pas très propre et très peu adapté, dans la mesure où ma page peut être longue à charger.
toutes les solutions que j'ai trouvées sur internet disent de modifier le body onload, ce que je ne peux pas.
est-ce que quelqu'un a déjà rencontré ce problème ou peut m'aider ?
merci
Message édité par nabbo le 08-06-2007 à 16:07:38