Rechercher : dans
Par :

[javascript] window.onload et document.write

Dernière réponse le 7 nov 2009 à 21:42:52 Cydelic, le 1 avr 2005 à 13:49:56 
 Signaler ce message aux modérateurs

Bonjour,
J'aimerai savoir pourquoi quand on fait un window.onload et ensuite un document.write la page en court est effacer ?
Ex:

window.onload=Init;
function Init()
{
document.write('coucou');
}

Meilleures réponses pour « [javascript] window.onload et document.write » dans :
Google - Traduire une page internet VoirIntroduction Création du marque-page Autres liens Introduction Dans cette astuce, nous allons voir comment traduire une page internet en français avec un marque-page. Pour cela, nous allons utiliser un outil Google : Création du marque...
Javascript - L'objet window VoirLes particularités de l'objet window L'objet window est l'objet par excellence dans Javascript, car il est le parent de chaque objet qui compose la page web, il contient donc : l'objet document: la page en elle-même l'objet location: le lieu de...
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...

1

Edoc, le 1 avr 2005 à 13:52:55

Salut

Qand tu charges ta page, Init est appelés, là tu écris "coucou".

Est-ce que tu fais un autre write après en dehors de cette fonction qui efface le coucou ?

Répondre à Edoc

2

Cydelic, le 1 avr 2005 à 14:28:46

Enfaite c'est simple (si on veux)
J'ai une page html :
<html>
<head></head>
<body>
bla bla bla bla bla bla bla bla........
</body>
<script type="text/javascript" src="monjs.js"></script>
</html>

Le ficher monjs.js :
window.onload=Init;
function Init()
{
document.write('coucou');
}

Ce que je voudrai c'set que coucou s'affiche dans la page en cours c'est à dire avoir le resultat suivant :
bla bla bla bla bla bla bla bla........ coucou
Or à l'etat acctuel j'obtient :
une page vierge avec uniquement coucou


Merci

Répondre à Cydelic

3

Nashouille, le 1 avr 2005 à 14:38:11

Normalement tu devrait avoir coucou.... blablabla je penses.
A priori il n'est pas possible de faire passer le onload après le body, même si ta balise script est après ^^.

Répondre à Nashouille

4

Cydelic, le 1 avr 2005 à 14:41:28

Le truc c'est que
coucou.... blablablabla
Ca serait parfait pour moi mais c'est pas le cas... j'ai juste une nouvelle page avec coucou. :\

Répondre à Cydelic

5

slolo2000, le 1 avr 2005 à 15:11:53

Juste une question, pourquoi veux tu écrire coucou une fois le fichier chargé ?

Répondre à slolo2000

6

Cydelic, le 1 avr 2005 à 15:17:32

C'est un exemple simplifié biensur. En vrai, je veux afficher une image en fonction du contexte de la page c'est à dire en fonction des mots qui reviennent le plus souvent. Je doit donc attendre que la page soit totalement charger avant de faire ma tambouille pour recuperer les mots de la page

Répondre à Cydelic

7

slolo2000, le 1 avr 2005 à 15:27:30

Bon je ne suis pas sur de bien comprendre ce que tu veux faire.
Le seul truc que je peux te dire est que si tu fais un document.write après le chargement de ta page tu détruits le code de celle ci. Donc, ta page contiendra uniquement le contenu du document.write.
En fait document.write doit être utilisé pendant la construction de la page et surtout pas àprès.
Suis-je clair ?

Explique moi clairement ce que tu veux je peux peut être t'aider.

A+

Répondre à slolo2000

8

Nashouille, le 1 avr 2005 à 16:36:37

J'avais essayé de faire un truc similaire je penses, je voulais changer la couleur d'un tableau enfonction de réponses à des requetes SQL. Il fallait donc que toutes les requêtes soient effectuées. J'avais pas mal cherché et d'après ce que j'ai pu voir ça avait pas l'air possible... au pire tu utiliser le on.Mousemove (ou quelque chose comme ça qui réagit au mouvement de la souris)...mais c'est moins bien.

Répondre à Nashouille

9

Khelan, le 3 aoû 2007 à 09:57:26

Je suis tombé sur cette page en faisant une recherche... donc je précise ce que je ferai pour un cas similaire :

En haut de la page, un <div id='monid'></div>

Et dans le javascript, remplacer document.write('coucou');
par
monid.innerhtml = 'coucou';

(je ne sais pas si ce sera utile à quelqu'un, mais comme cette page est dans les premières en recherchant comment afficher quelquechose au chargement de la page... peut être que ça aidera d'autres personnes)

Répondre à Khelan

10

Hwi_noree, le 5 mar 2008 à 23:39:25

Salut tout le monde !
Bon, je suis pas une pro, mais voilà mon avis.

Pb1 : Si tu mets pas ton script qui écrit dans le body, il ne risque pas de s'afficher.
Pb2: Si tu mets ton script dans le body, il ne va as arrêter de tourner, et là, je comprends pas pourquoi ça ne fonctionne pas si on met un break à la fin des instructions scripts, c'est-à-dire si on a :

Contenu du test.php :

<html>

<head>
</head>

<body>
bla bla bla bla bla bla bla bla........
<script type="text/javascript" src="test.js">
</script>
</body>

</html>
_________________

Contenu du test.js :

window.onload=Init;
function Init()
{
document.write('coucou');
break;
}

Répondre à Hwi_noree

11

Sid, le 25 jun 2008 à 23:56:40
  • +7

La réponse a été donnée par slolo2000, un document.write remplace tout le contenu de la page par ce que le document.write prend en argument, par conséquent ici la source html de ton ouput sera : <html>coucou</html> et basta !-)

La solution c'est de mettre un div et de remplacer le contenu du div avec un

getElementById('nom_du_div).innerHTML = "coucou";

Peace

Répondre à Sid

12

w13winni, le 17 aoû 2009 à 11:20:45

Petit up ,

je ne compend pas bien le probleme il suffit d'utilisé des frames non ?

tu fait une page test.html ou tu met par exemple:

<html>
<head></head>


<frameset rows="60%,40%" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>
<frame src="tapagehtml.html" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>

<frameset cols="30%,70%" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>
<frame src="" NAME="script" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>
<frame src="" NAME="truc" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>

</frameset>
</frameset>
</html>

ensuite dans tapagehtml ou tu as ton script js tu met un truc du genre :
top.script.document.write();
top.truc.document.write();

apres tu regle les frames comme tu veut, la c'est juste un exemple

Répondre à w13winni

13

 olandcie, le 7 nov 2009 à 21:42:52

Bonjour,

Pourrais-tu compléter intégralement ce petit script ?

D'avance merci

car même en nommant le DIV ==> erreur

function affichepubval()
{
document.getElementById("MOI").value = txturl[numimage].valueOf();
OK //alert(document.getElementById("MOI").value);

??? getElementById('MOI').innerHTML = "OK";

// que 1 fois !!! puis nouvelle page
//document.write(txturl[numimage].valueOf());

setTimeout("affichepubval()", 1000);
}

<div id="MOI">

<SCRIPT language="JavaScript">
// data ligne 2

//document.write(txturl[numimage].valueOf());

affichepubval();

</SCRIPT>
</div>

Répondre à olandcie
Collection CommentÇaMarche.net