【问题标题】:How can I detect a close in the browser tab?如何检测浏览器选项卡中的关闭?
【发布时间】:2012-09-11 04:35:58
【问题描述】:

您好,我正在寻找有关关闭选项卡(不是浏览器)事件的信息,如果在 java 中有一个用于小程序的事件。我想知道是否有一个事件或一种方法来检查一种方法来检查它。我只想捕获该事件并制作一个小弹出框,说明您的会话将过期或类似的内容。这完全有可能吗?或者在某种程度上使用 java 或 Javascript?

更新:好的,你们指出我的信息是我能够获得关于一个足够简单的 javascript 的信息。现在它在 IE、Chrome 和 Firefox 中运行良好,但出于某种原因 Safari 5.1.7 不喜欢该代码。不知道为什么。如果有帮助,这里是代码。

jQuery(function() {
var hiddenBtn = document.getElementById("javaform:browserCloseSubmit");

try{
    opera.setOverrideHistoryNavigationMode('compatible');
    history.navigationMode = 'compatible';
}catch(e){}

//Sends the information to the javaBean.java file. 
function ReturnMessage()
{
    return hiddenBtn.click();
}

//UnBind Function
function UnBindWindow()
{
    jQuery(window).unbind('beforeunload', ReturnMessage);
}



//Bind Exit Message Dialogue
jQuery(window).bind('beforeunload', ReturnMessage);

});

【问题讨论】:

标签: java javascript web-applications browser


【解决方案1】:

您拥有可以在 JavaScript 中捕获的 onBeforeUnload 事件。见here

【讨论】:

  • 谢谢,它似乎大部分都可以工作,但 safari 似乎给我带来了一些问题。除了返回,还有其他方法可以用于 safari 吗?
【解决方案2】:

使用window.onbeforeunload

window.onbeforeunload = function () {
    return "Are you sure you want to exit?";
};

请注意,它也会以您确定要离开此页面结尾(或您确定要重新加载此页面,如果您正在重新加载)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-09
    • 2015-12-27
    • 2017-12-17
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    相关资源
    最近更新 更多