Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment se passer de la balise body?

16 réponses
Avatar
ppellero
Bonjour,

Je tourne en rond depuis quelques heures pour trouver le moyen de ne pas =

employer la balise body pour faire un onload et onmousemove.

Ma balise est la suivante:
<body onmousemove=3D"document_onmousemove(event);" onload=3D"reglages();"=
>
ce fichier est appel=E9 en include et j'ai d=E9j=E0 une balise body dans =
le=20
corps de ma page.
J'ai essay=E9 avec un div mais je ne suis arriv=E9 a rien.

Si quelqu'un pouvait m'aider...
Merci de votre attention.

--=20
Paul Pellero Agay (Var)=09
mailto:paulpellero@wanadoo.fr
Site: http://www.pellero.net

10 réponses

1 2
Avatar
Mickaël Wolff
ppellero a écrit :
Bonjour,

Je tourne en rond depuis quelques heures pour trouver le moyen de ne pas
employer la balise body pour faire un onload et onmousemove.



On va supposer que c'est dans un navigateur ;)

Ma balise est la suivante:
<body onmousemove="document_onmousemove(event);" onload="reglages();">
ce fichier est appelé en include et j'ai déjà une balise body dans le
corps de ma page.



Dois-je supposer que par include tu parles des SSI ?


J'ai essayé avec un div mais je ne suis arrivé a rien.



Que veux-tu faire ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
Pierre Goiffon
ppellero wrote:
Je tourne en rond depuis quelques heures pour trouver le moyen de ne pas
employer la balise body pour faire un onload et onmousemove.

Ma balise est la suivante:
<body onmousemove="document_onmousemove(event);" onload="reglages();">
ce fichier est appelé en include et j'ai déjà une balise body dans le
corps de ma page.
J'ai essayé avec un div mais je ne suis arrivé a rien.



Je crois que comprendre que vous voulez simplement en insérant un script
dans le head pouvoir surcharger les événement onmousemove et onload sur
body, sans avoir à toucher au html de la balise body ?

En JavaScript on peut définir des événements simplement :
document.onload = ...;
Mais cette manière de faire va poser prb si l'on veut surcharger (cas où
du code est déjà déclenché sur cet événement). Il existe de nombreuses
fonctions sur le web, vous en avez par exemple dans la YUI :
http://developer.yahoo.com/yui/event/
Mais dans le plus léger (la YUI est fantastique mais n'est à employer
que si vous avez à l'utiliser pour de très nombreuses choses) :
http://simonwillison.net/2004/May/26/addLoadEvent/
Avatar
ppellero
Mickaël Wolff a écrit :
ppellero a écrit :
Bonjour,

Je tourne en rond depuis quelques heures pour trouver le moyen de ne
pas employer la balise body pour faire un onload et onmousemove.



On va supposer que c'est dans un navigateur ;)

Ma balise est la suivante:
<body onmousemove="document_onmousemove(event);" onload="reglages( );">
ce fichier est appelé en include et j'ai déjà une balise body da ns le
corps de ma page.



Dois-je supposer que par include tu parles des SSI ?


J'ai essayé avec un div mais je ne suis arrivé a rien.



Que veux-tu faire ?


comme je l'ai déjà expliqué, mais pas assez clairement je reprends:

Dans ma structure HTML principale les pages sont rechargées dans le
corps c'est à dire entre <body> et </body> par un include PHP. Ce n'est
pas logique à mon avis de mettre dans une page en PHP avec des
fonctions javascript, a nouveau un body qui sera imbriqué dans ceux de
la page appelante.
Et si je n'ai pas cette balise body je ne peux pas faire fonctionner mon
javascript car je ne connais pas le moyen de la remplacer par autre
chose.(en javascript je suis au niveau : classe biberon)
Voili voilu est-ce que j'ai été plus clair?
Merci pour votre patience.


--
Paul Pellero Agay (Var)
mailto:
Site: http://www.pellero.net
Avatar
Mickaël Wolff
ppellero a écrit :

Voili voilu est-ce que j'ai été plus clair?



C'est mieux ;)

Comme la signalé Pierre, si tu a besoin de plusieurs gestionnaires
d'événements sur ton body, il faut les attacher. Il a indiquer des
wrapper (puisque le navigateur dont on ne dit pas le nom ne respecte pas
la recommandation W3C
DomEvent<http://www.w3.org/TR/DOM-Level-3-Events/events.html>).

Maintenant, que font ces javascripts ? Risquent-ils d'entrer en conflit ?

Dans la pratique, tu pourras avoir quelque chose comme ça (attention,
code crade et rapide pour montrer la logique globale) :

<html>
<head>
<title></title>
<?php if($form_dressed) /* si formulaires interactifs */ : ?>
<script type='script/javascript' src='form-dresser.js'><!--
--></script>
<script type='script/javascript'>
// Attachement de la fonction form_dresser_init à l'événement load
document.addEventListener('load', form_dresser_init, false) ;
</script>
<?php endif ?>
<?php if($win_mngr) /* si gestion des fenêtres */ : ?>
<script type='script/javascript' src='win-mngr.js'><!-- --></script>
<script type='script/javascript'>
// Attachement de la fonction win_mngr.init à l'événement load
document.addEventListener('load', win_mngr.init, false) ;
</script>
<?php endif ?>
</head>
<body>
<!-- ... -->
</body>
</html>

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
ppellero
Mickaël Wolff a écrit :
ppellero a écrit :

Voili voilu est-ce que j'ai été plus clair?



C'est mieux ;)

Comme la signalé Pierre, si tu a besoin de plusieurs gestionnaires
d'événements sur ton body, il faut les attacher. Il a indiquer des



Je ne veux pas plusieurs gestionnaire.

Maintenant, que font ces javascripts ? Risquent-ils d'entrer en confl it ?



Non c'est un script complet pour faire une loupe sur des images.

Dans le body il y a un onmousemose et un onload pour initialiser le scrip t.
Je voudrais faire onmousemove et onload ailleurs que dans la balise body.
Est-ce possible?


--
Paul Pellero Agay (Var)
mailto:
Site: http://www.pellero.net
Avatar
Mickaël Wolff
ppellero a écrit :

Dans le body il y a un onmousemose et un onload pour initialiser le script.
Je voudrais faire onmousemove et onload ailleurs que dans la balise body.
Est-ce possible?



Le onload non, c'est forcément global à l'application. Le
onmousemove, c'est sur la plupart des éléments affichables.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
Mickaël Wolff
Mickaël Wolff a écrit :

Le onload non, c'est forcément global à l'application.



En me relisant je me rends compte que ce n'est pas très clair dans ce
contexte. Le seul élément pouvant recevoir l'événement « load » est
l'élément body.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
ppellero
Mickaël Wolff a écrit :
Le onload non, c'est forcément global à l'application. Le onmouse move,
c'est sur la plupart des éléments affichables.



Dans ma balise body j'ai ces deux fonctions qui sont appelées au
chargement de la page :
<body onmousemove="document_onmousemove(event);" onload="reglages();" >
J'ai essayé diverses manières pour lancer ces deux fonctions, sans su ccès.
Il faut que je mette absolument la balise body qui va se trouver en
double avec la balise de la page appelante.
Est-ce un problème d'avoir deux balise body?


--
Paul Pellero Agay (Var)
mailto:
Site: http://www.pellero.net
Avatar
Pierre Goiffon
ppellero wrote:
Le onload non, c'est forcément global à l'application. Le
onmousemove, c'est sur la plupart des éléments affichables.



Dans ma balise body j'ai ces deux fonctions qui sont appelées au
chargement de la page :
<body onmousemove="document_onmousemove(event);" onload="reglages();">
J'ai essayé diverses manières pour lancer ces deux fonctions, sans succès.
Il faut que je mette absolument la balise body qui va se trouver en
double avec la balise de la page appelante.
Est-ce un problème d'avoir deux balise body?



Je vous assure vraiment, c'est très difficile de vous suivre :
mettez-vous à notre place, qui ne connaissons rien ni de vos besoins ni
de votre contexte !

Soyez gentil d'être plus explicite, quite à donner des exemples précis
accessibles en ligne.
Avatar
Pierre Goiffon
Mickaël Wolff wrote:
Le onload non, c'est forcément global à l'application.



En me relisant je me rends compte que ce n'est pas très clair dans ce
contexte. Le seul élément pouvant recevoir l'événement « load » est
l'élément body.



Oui, j'allais répondre quelques chose comme ça :) Un seul onLoad donc,
et sur la balise body, par contre on peut lancer plusieurs traitements
sur cet événements (comme sur tous les autres d'ailleurs)
1 2