如何在不调用resize函数的情况下执行beforeunload代码?

时间:2019-06-24 09:57:56

标签: javascript asp.net

我有这个JavaScript代码,该代码在加载/调整大小时会将某些div容器设置为隐藏。但是当我导航到其他页面时,div容器应该可见。此xxx_div在母版页中使用,因此基于aspx页,我们将其显示和隐藏。现在问题出在没有unloading标志的情况下,我无法使其再次可见,因为resizeContainer甚至在页面卸载时也被调用。

因此,如果没有该标志,则将显示设置为阻止,然后再次隐藏,因为再次调用了resizecontainer。所以我用过国旗。还有其他方法可以不使用标志吗?

...
var unloading = false;
...

function resizeContainer() {
    if (!unloading) {
        window.parent.document.getElementById("xxx_div").style.display = "none";
    }
}

$(window).load(resizeContainer);
$(window).resize(resizeContainer);
window.onbeforeunload = function () {
    window.parent.document.getElementById("xxx_div").style.display = "block";
    unloading = true;
};

0 个答案:

没有答案