如果窗口关闭,请打开一个函数

时间:2012-09-12 14:57:34

标签: javascript jquery html

我需要在关闭browsertab时打开一个函数(也是alt + f4)。是否有某种javascript功能?

2 个答案:

答案 0 :(得分:3)

在一般情况下,您只能使用onbeforeunload显示标准确认对话框。

您无法执行任意javascript函数(出于明显的安全原因)。

例外情况是从另一个仍然打开且位于同一域的选项卡打开此选项卡时:在这种情况下,您可以从开启者检查子项是否仍处于打开状态(但在关闭之前无法执行代码) )。

你可以这样测试:

var tab = window.open("index2.html");
setInterval(function(){console.log(tab.window)}, 2000); // shows that tab.window is null as soon as you close the child tab

编辑:事实上,您可以使用onbeforeunload回调做一些事情,但它不可靠,不适用于所有浏览器,不允许警报或阻止关闭窗口。

答案 1 :(得分:-1)

您可以使用jQuery卸载功能

       <script type="text/javascript"> 
       $(document).ready(function(){
      $(window).unload(function(){
        alert("Close this window to show Me Unload Event occur..!");
         });
         });
    </script>

http://api.jquery.com/unload/

试试这个

       <!DOCTYPE html>
        <html>
       <head>
        <script src="jquery.js"></script>
         <script>
          $(document).ready(function(){
        $(window).unload(function(){
        alert("Goodbye!");
         });
        });
       </script>
      </head>
     <body>
     <p>When you click <a href="http://www.google.com">this link</a>, or close the window, an alert box will be triggered.</p>
      </body>
     </html>

它在我的firefox中工作