我们做的一个监控软件
正常过程是  用户登陆WEB然后身份认证
然后如果想退出的话点 退出按扭 
 进入一个 页面是 PHP写的 socket通信给后台这样能完成登出的功能。但是如果用户直接点IE 右上角的X
那就关了 而且不后台注销可以用JS捕获点 X关闭 IE的事件,
但是之后JS里头却调用不了PHP函数我想这样做。。
  <script   language=javascript>   
  function   window.onbeforeunload()   
  {   
      if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)   
      {   
          window.event.returnValue   =   "为了避免系统错误请不要直接关闭本页.\n如果要关闭本页,请点'取消'然后用页面上'退出'按扭关闭本页."; 
<?php
.....
?>
      }   
  }   
  </script>
但是这样写PHP部分不生效。

解决方案 »

  1.   

    你的这段代码是在PHP页面里些的吗?
      

  2.   

    是的
    整个页是 php文件
    中间用了 JS
    然后又得用 js再触发一个PHP
      

  3.   

    页面传到到客户端后,PHP已经执行完了,JS在客户段执行时,已经不存在PHP代码了。要调用PHP,只有将数据递交到服务器端. open("aaa.php?xxx");
      

  4.   

    如果在 <?php  ?>那地方用  window.open()的话会被认为是弹窗口
    也步成
      

  5.   

    可以尝试 一个php写的 sajax小工具,这里他是可以方法映射去调用php的方法的,详细的去看一下ibm.com.cn下 php项目资源中心 ,或者搜索一下。
      

  6.   

    用ajax不过还是要考虑用户杀进程(死机)的处理
      

  7.   

    AJAX不会呢,能看明白
     谁给个 大致的模型 能调用PHP的。
    要不我发到 AJAX区吧。
      

  8.   

    ignore_user_abort()
    一看就 差不多 写在什么位置呢?
      

  9.   

    <?php
    ignore_user_abort(true);
    ......
    ?>
      

  10.   

    这地方 加上了 我一点 IE  的 X  也是关闭了。
      

  11.   

    没办法阻止IE关闭。这个函数是干什么的你自己google吧