javascript:页面刷新时弹出关闭窗口

javascript:页面刷新时弹出关闭窗口,javascript,Javascript,下面是我的javascript代码 弹出窗口正在打开,但我的页面正在刷新。现在我必须关闭弹出窗口。我正试图在localStorage中保存popupWindow。但是当我通过localStorage.getItem(“someVarName”)时。我没有得到原始dom,看起来它已经改变了。 由于我的页面正在刷新,我必须保存dom 请建议怎么做 函数openPopup(URL){ popupWindow=window.open(URL,'popupWindow','height=300,widt

下面是我的javascript代码

弹出窗口正在打开,但我的页面正在刷新。现在我必须关闭弹出窗口。我正试图在localStorage中保存
popupWindow
。但是当我通过
localStorage.getItem(“someVarName”)
时。我没有得到原始dom,看起来它已经改变了。 由于我的页面正在刷新,我必须保存dom

请建议怎么做


函数openPopup(URL){
popupWindow=window.open(URL,'popupWindow','height=300,width=450');
setItem(“someVarName”,popupWindow);
}
函数closePopup(){
var popupWindow=localStorage.getItem(“someVarName”);
popupWindow.close();
}

Web存储存储字符串。不能在其中存储窗口引用

不过,您可以将使用的名称存储起来,并在
窗口中重复使用。打开

function openPopup(URL) {
    window.open(URL, 'popupWindow', 'height=300,width=450');
    localStorage.setItem("someVarName", "popupWindow");
}

function closePopup() {
    var name = localStorage.getItem("someVarName");
    if (name) {
        var wnd = window.open("", name);
        wnd.close();
        localStorage.removeItem("someVarName");
    }
}
调用
窗口。使用页面有权访问的现有窗口的名称打开
,可以引用该现有窗口,而不是打开新窗口

请注意,当窗口未打开时,我是如何从存储器中清除名称的,因此我们不会试图关闭它(矛盾的是,这会打开它)


My有一个完整的例子。

localstorage保存的是字符串,而不是对象和窗口引用。epascarello:那么如何处理这种情况呢?一两天前我刚刚回答了一个非常类似的问题。编辑:找到它(),不确定这是否是重复的…这不是打开的新窗口吗?此代码:var wnd=window.open(“,name”)@VJS:我以“调用<代码>窗口。用现有窗口的名称打开<代码>窗口…”开头的句子应该以“…到现有窗口,而不是打开一个新窗口”(现在它是:-)结尾。