par
bravegars » 23 mars 2007, 17:20
Salut,
Je continue de me battre avec onbeforeunload, dans mon chat Ajax.

.
La page de mon chat fonctionne sans rafraichissements grace a ajax. Sur cette page j'ai une fonction mesBoutons() dans laquelle j'ai été obligé de mettre la valeur de onbeforeunload à null. Le probleme que j'ai maintenant, c'est lorsque je ferme le navigateur pour appeler onbeforeunload afin de mettre a jour la liste des membres connectés au chat, celui ci ne répond pas si j'ai utilisé auparavant la fonction mesBoutons, et donc passé la valeur de onbeforeunload à null.
Par contre si j'appele onbeforeunload sans utiliser la fonction mesBoutons(), tout fonctionne. J'ai donc le code suivant :
Code : Tout sélectionner
<script type="text/javascript">
function mesBoutons(){
window.onbeforeunload = null; // ici je neutralise onbeforeunload pour que la fonction marche.
etc.........
}</script>
<script type="text/javascript">
function maFonction(){
window.onbeforeunload != null; // ici je tente d'annuler la neutralisation de onbeforeunload, mais ça ne marche pas.
if(window.ActiveXObject){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
etc........
}</script>
Je voudrais savoir s'il est possible d'utiliser mon code tel quel, et si oui, comment faire pour neutraliser onbeforeunload seulement dans la fonction mesBoutons() ? Merci à toutes les bonnes âmes.

Salut,
Je continue de me battre avec onbeforeunload, dans mon chat Ajax. :( .
La page de mon chat fonctionne sans rafraichissements grace a ajax. Sur cette page j'ai une fonction mesBoutons() dans laquelle j'ai été obligé de mettre la valeur de onbeforeunload à null. Le probleme que j'ai maintenant, c'est lorsque je ferme le navigateur pour appeler onbeforeunload afin de mettre a jour la liste des membres connectés au chat, celui ci ne répond pas si j'ai utilisé auparavant la fonction mesBoutons, et donc passé la valeur de onbeforeunload à null.
Par contre si j'appele onbeforeunload sans utiliser la fonction mesBoutons(), tout fonctionne. J'ai donc le code suivant :
[code]<body onbeforeunload="javascript:maFonction()">[/code]
[code]<script type="text/javascript">
function mesBoutons(){
window.onbeforeunload = null; // ici je neutralise onbeforeunload pour que la fonction marche.
etc.........
}</script>
<script type="text/javascript">
function maFonction(){
window.onbeforeunload != null; // ici je tente d'annuler la neutralisation de onbeforeunload, mais ça ne marche pas.
if(window.ActiveXObject){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
etc........
}</script>[/code]
Je voudrais savoir s'il est possible d'utiliser mon code tel quel, et si oui, comment faire pour neutraliser onbeforeunload seulement dans la fonction mesBoutons() ? Merci à toutes les bonnes âmes. :)