<body onbeforeunload="window.open()">

解决方案 »

  1.   

    <BODY onbeforeunload="event.returnValue = '三思呀'">
    绝对经典
    </BODY>
      

  2.   

    <script language="Javascript">
    function window.onbeforeunload(){
      if (!confirm("你确定要关闭本窗口吗?"))
         return "你确定要关闭本窗口吗?";
      }
    </script>
      

  3.   

    <BODY onunload="window.open('','','scrollbars=no,width=100,height=100')">
      

  4.   

    <SCRIPT language=JavaScript>
    <!--
    function loadit() {
    setTimeout('show()',5000);
    }
    function show() {
    if (confirm(" 好看吗? :)")) {
    alert("好看多看会儿! :)");
    }else{
    alert("不好看,你关了它吧! :)");
    }
    }
    function unloadit() {
    window.open("pp.html")
    }
    //-->
    </SCRIPT>
      

  5.   

    试试这个
    <script for=window event=onbeforeunload>
    if (event.clientX>document.body.clientWidth &&event.clientY<0||event.altKey)
    return ""
    </script>
      

  6.   

    谢谢 seabell(百合心)
    你的方法真好。。
    谢谢
      

  7.   

    我现在的情况是这样的:
    我有一个frame.asp页面,有top.asp,left.asp,center.asp分为三个部分。。
    要求在关闭这个frame.asp页面的时候谈出一个信息窗口,现在关闭有四种情况:
    1。ALt+F4
    2.直接点“X”关闭
    3。在地址栏里面输入其他的网址转向
    4。在任务栏里面点鼠标右健选择关闭
    5。刷新页面我要求只要刷新的时候不弹出信息窗口,另外我的left.asp页面里面有一个按钮
    刷新整个页面frame.asp只是带参数不一样。。我要求这样点这个按钮也不要弹出信息窗口。因为点这个按钮也是一次转向。。但是我要求在地址栏里面输入网址转向的时候要弹出信息窗口用以上几位的方法不能完全做到我的要求,不过很谢谢大家,请大家在帮忙想想谢谢。。
      

  8.   

    通过activex控件退出的时候也无法察觉,不过因为一般没有使用这种方法的,
    所以不考虑,但我发现seabell的方法还是改成onunload好,这样就可以在使用alt+F4退出时考虑,但是仍无法察觉url转向时的隐式退出。
      

  9.   

    所以我们首先要知道在onunload或者onbeforunload事件触发的时候知道URL地址的内容呢????
      

  10.   

    没有十全十美的办法的。记住,js的能力是有限的,限度就是host环境的设置。对于浏览器来说,其限度就是:
    1. 你无法得到用户针对浏览器的操作,包括你无法得到下一个url,无法得到用户按的是refresh还是通过收藏夹转到新的网页……唯一可以得到的只有onunload(IE还有onbeforeunload)。
    2. 除非你用js自己做转向。
    3. 根据1、2,你要么使用百合心的投机取巧的办法,要么就打开一个没有工具条和浏览条的窗口,然后通过js模拟(重载,hehe)工具条和浏览条,这样就可以截获用户的输入了。
    4. 对于frameset(frame)来说,unload事件只是针对该frameset(frame)的。
    5. 建议你不要过分执著于客户端,还是要从服务器端防微杜渐。