où as-tu lu ça? on dit exactement le contraire dans le postAutant pour moi, c'est donc firefox et non IE qui ne reconnait pas onBeforeUnload()
<html>
<head></head>
<frameset rows="*,18">
<frame name="main" frameborder="0" src="main.html" title="contenu"></frame>
<frame name="footer" frameborder="0" noresize="noresize" scrolling="no" src="cache.html" title="bas de page"></frame>
</frameset>
</html>
main.html : cadre principal
<html>
<head></head>
<body>
<h1>TEST</h1>
</body>
</html>
cache.html : cadre caché
<html>
<head>
</head>
<body onBeforeUnload="return confirm('sur?');" onUnload="alert('ok');">
</body>
</html>
Pour le système de frame, c'est le seul moyen que j'ai trouvé pour le moment...Non, ça ne fonctionne pas en synchrone non plus.Juste une suggestion comme ca, en passant, parce que ton probleme me rappelle quelque chose mais je ne me souviens plus très bien comment j'ai réglé cela:
Je suppose que sur l'évenement onbeforeunload() tu appelles une fonction AJAX. Si c'est bien le cas, essaie de passer ta fonction en synchrone (et donc fais du "SJAX")
Je crois me souvenir qu'en faisant ca j'obtenais des résultats corrects
Mon site est 100% compatible avec FF et IE, et il le restera. Ton raisonnement est poussé à l'extrème là, juste à cause de la fermeture d'une page html, lol. Dans le cas présent, comme je ne trouvais pas de solution à mon problème, j'ai dit que c'etait pas si mal. Le fait qu'un evenement javascript ne fonctionne pas bien sur un navigateur, ne limite nullement l'acces aux utilisateurs d'un navigateur ou l'autre.Après on s'étonne qu'il y en a qui foutent des bombes...Mais bon c'est pas si mal, car 80% des users utilisent IE
C'est comme si tu ignorais 20% de la population. Il doit y avoir 7% d'handicapés en france, ba tu trouve pourtant partout des rampes d'accès pour eux.
Code : Tout sélectionner
<script type="text/javascript">
var winev = window.event;
if(winev){
window.onbeforeunload = function(winev){ // FF
return maFonction(winev);
}}
else{
window.onbeforeunload = function(){ // IE
return maFonction(winev);
}}
function maFonction(winev){
...........
}
</script>Code : Tout sélectionner
<body onbeforeunload="javascript:maFonction(winev)">