我正在打开这样一个窗口:
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/