gpt4 book ai didi

javascript - 如何在 cookie 中存储窗口引用?

转载 作者:行者123 更新时间:2023-11-30 08:02:08 25 4
gpt4 key购买 nike

我正在打开一个窗口

winRef = window.open(......);

然后我将上面的 winRef 存储在 cookie 中,这样即使父窗口刷新我也可以获得对子窗口的引用。

那没有用,因为当我试图在 cookie 中保存 winRef 时,它只保存对象的 text representation/string 所以你只有 [object Window]” 作为字符串,它不是一个对象。

有什么方法可以将窗口引用存储为 cookie?如果不可能,那么我可以使用哪些其他可能的方法?

PS:我认为在 cookie 中只存储窗口名称而不是窗口对象可以解决问题,但在我的情况下不能这样做,我无法提供窗口名称,基本上窗口是一个在线编辑器,如果我给它一个特定的名称,那么用户将无法打开多个在线编辑器,因为它总是会重新加载当前打开的窗口。

最终目标:Retrieving references to child window if the parent refreshes

最佳答案

首先请原谅我糟糕的英语 ;-)

此问题的一个可能的解决方法是在 window.open 函数中设置一个名称(例如:popup = window.open(URL, popup_window, specs, replace)然后将弹出窗口保存在 cookie 中。检索 cookie 时,您将获得 [object Window],如您所说。

例如:popup = getCookie('popup');

之后只需执行以下操作:

    if (popup == null) {
//No popup
} else {
//Popup exist, retrieving is ref
popup = window.open("" ,"popup_window");
}

只需重用 window.open 函数,只是使用相同的名称 (popup_window) 并且没有其他参数,因为此窗口已经存在,不会执行进一步的操作返回 popup_window ref.

关于javascript - 如何在 cookie 中存储窗口引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25199386/

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