0

当浏览器选项卡关闭时,我需要打开一个函数(还有 alt + f4)。是否有某种javascript功能?

4

2 回答 2

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 回调做一些事情,但它不可靠,不适用于所有浏览器,不允许警报或阻止关闭窗口。

于 2012-09-12T14:58:36.880 回答
-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 中工作

于 2012-09-12T15:01:50.337 回答