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

标签 javascript jquery cookies jquery-cookie

我正在打开一个窗口

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/

相关文章:

javascript - D3 绑定(bind)嵌套 JSON 文档的数据

javascript - 指定 Math.atan2 的来源

javascript - 使用 Angular.js 或 JavaScript 将一个字符串替换为另一个字符串

php - 使 Web 应用程序开源

iPhone:应用程序重新启动时不会保存 NSHTTPCookie

javascript - 转换回原点路线

javascript - 需要帮助使用 JQuery .inArray() 检查值是否存在

javascript - 如何使用querySelector选择这个元素

java - 正确的 cookie 管理

cookies - Codeigniter 2.1 $this->input->set_cookie($some_var);不工作