gpt4 book ai didi

javascript - 如何检查 javascript 不打开与 window.open 函数相同的窗口

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:44 26 4
gpt4 key购买 nike

在我的 javascript 中,我想用这种方法在新窗口中打开 URL:

var win = window.open(url...);

我如何检查这个,而不是打开同一个窗口并丢失所有输入的数据。例如,如果我在新窗口中打开“www.musite.com/addproduct”URL,输入数据,离开我的工作地点。然后我再次点击打开窗口,打开新窗口,我丢失了所有数据。

最佳答案

以下将允许您只打开一次窗口:

if (typeof win !== 'object') {
win = window.open('http://www.google.com');
}
else {
// Do nothing
}

作为Sani suggested in another answer , 明智的做法是跟踪窗口何时关闭,以便能够重新打开它。可以在弹窗中监听window.onunload事件,如下:

window.onunload = function() {
window.opener.win = undefined;
}

onunload 事件处理程序会将打开弹出窗口的窗口的 win 全局变量设置为 undefined,因此您可以重新打开窗口。

请注意,由于 same origin policy ,这仅在您打开的弹出窗口与父窗口位于同一域中时才有效。另外请注意,我只在 Firefox 中测试了以上内容。

关于javascript - 如何检查 javascript 不打开与 window.open 函数相同的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2701838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com