关于这个主题有很多问题,但我还没有看到我的情况得到解决,所以我将描述我的情况。
我有一个弹出窗口。有两种方法可以关闭它:按下弹出窗口中的关闭按钮或按下窗口右上角的 x 按钮。它们具有完全相同的效果。如果我可以禁用 x 我会的,但这是不必要的,并且不会很快在您最喜欢的浏览器中发生。本质上,当窗口关闭时我正在做一些后期处理(实际上是会话清理),并且不会产生无休止的新弹出窗口来惹恼我的用户。相信我,客户要求这种行为。
所以我可以做 window.onunload 或者我可以做 body onunload ,无论哪种方式都会给我我想要的结果。然而,还有第三种情况使事情复杂化。在弹出窗口中,可以有一个表单提交,它会更改该弹出窗口的内容。如果是这种情况,将调用 window.onunload 或 body unload,具体取决于我在页面上设置的内容。这不是我想要的。我希望在弹出窗口视觉上从视线中消失(x 或关闭按钮)时进行后处理,但不要在表单提交发生时进行后处理,使弹出窗口仍然在此屏幕上可见。
任何人都可以谈谈这种情况吗?
编辑:我尝试不触发 window.onunload 的解决方案
function searchFieldTitles()
{
var searchOptionValue;
var radioObj = document.getElementsByName("searchOption");
var radioLength = radioObj.length;
for(var i = 0; i < radioLength; i++) {
if(radioObj[i].checked) {
searchOptionValue = radioObj[i].value;
break;
}
}
$.get("/myroot/SearchFieldTitles.action",
{filterString: document.getElementsByName("filterString")[0].value,
searchOption: searchOptionValue,
filterBy: document.getElementsByName("filterBy")[0].value},
function(data) {
});
location.href="/myroot/jsp/field_titles/lookupFieldTitles.jsp";
}