javascript - 如何检索先前打开的窗口的 URL?

标签 javascript browser browser-history browser-tab

我正在打开这样一个窗口:

var w = window.open("", "window-name", opts);

然后我使用一些动态数据创建一个 URL,并将窗口设置为该 URL,如下所示:

w.location.href = url;

我的问题是我需要检索我之前为窗口设置的 URL,以便稍后进行编辑。这样做是行不通的:

var url = w.location.href;

因为在我的案例中这是安全违规并触发异常。

我不能只将 URL 保存为“全局”变量,因为这需要跨页面工作。我不想使用 cookie,因为 URL 应该在窗口关闭时被重置。使用 cookie 会增加更多的复杂性,因为它会迫使我在窗口关闭之前进行清理,并且会增加错误风险。我会把它作为最后的手段。

在将 URL 设置为不同域上的内容后,是否有任何方法可以检索窗口实例的 URL?

最佳答案

像这样使用 window.name 属性...

var w = window.open('http://www.example.com', 'www.previousurlhere.com', opts);

然后,当新窗口打开时(假设它是您的),您可以从新窗口中获取 window.name 数据,例如...

var previousUrl = window.name;

那应该就可以了。

关于javascript - 如何检索先前打开的窗口的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24019919/

相关文章:

javascript - BackboneJS : router. 导航不是函数

单击“提交”后,JavaScript 验证错误消息没有消失

javascript - Next.js 增量静态重新生成在不重新加载页面的情况下不反射(reflect)更改

javascript - JS中的函数声明速度差异

javascript - 哪种转换类型获取所有 Chrome 浏览历史记录?

javascript - 管理浏览器历史记录的巧妙方法

javascript - highcharts 中的数千个运算符

javascript - JS : Confusion about inheritance

javascript - Angular2 强制/硬重新加载浏览器缓存脚本?

jquery - 在触摸屏移动设备上启用拖放