这个问题在网上找答案,会有一堆的搜索结果!但是都是这个答案;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Confirm Before Leave</title>
<script language="javascript" type="text/javascript">
<!--
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="您真的要离开本页吗?";function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}function ShowConfirmClose(blnValue) { if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}//--></script>
</head>
<body onLoad="ShowConfirmClose(true);">
<input type=button value="提示" onClick=" return ShowConfirmClose(true);">
<input type=button value="不提示" onClick="ShowConfirmClose(false);">
<input type=button value="测试刷新" onClick="window.location.reload();">
</body>
</html>这个有弊端:
1.不兼容FF
2.必须在onLoad 的时条用函数,否则在下面的onClick=" return ShowConfirmClose(true);时,是没有效果的。
我要的效果:刷新不提示,只有在用户离开页面时,并且在没有保存时才有提示。
请高人指点!
谢谢

解决方案 »

  1.   

    看看这个的说明:关键字:       window.close事件     javascript捕获窗口关闭事件有两种方法 onbeforeunload()      ,onUnload() 用法有两种:1.    function      window.onbeforeunload()      {      alert("关闭窗口")}           function      window.onunload()      {      alert("关闭窗口")}2.      在body 标签里加入onUnload事件         <body onUnload="myClose()">         然后在javascript里定义myClose()方法  区别:          onUnload方法是在关闭窗口之后执行          onbeforeUnload方法是在关闭窗口之前执行 说明:          两个方法在 页面关闭、刷新、转向新页面 时都触发。注:只在关闭窗口时触发,而页面刷新的时不触发。<script       language=javascript>   
          function       window.onbeforeunload()   
          {   
          if       (event.clientX>document.body.clientWidth       &&       event.clientY<0||event.altKey)            {   
                 window.event.returnValue="确定要退出本页吗?";   
                }         }
    </script>   
      

  2.   

    按楼上朋友的意见
    <body onbeforeunload="window.onbeforeunload();">是这样调用吧.怎么关闭的时候没有任何提示??
      

  3.   

    这个必须用JS实现,并且可能某些浏览器有兼容问题,这是无法避免的。
    写JS,推荐JQuery
      

  4.   

    有些浏览器区分大小写的。window.onbeforeunload();这个函数你写出来了吗??