旧大陆
在昨天之前,关于 window.open
我只知道它可以用于打开一个新的页面。通过配置,可以指定打开的页面、打开的方式,甚至可以指定窗口的位置大小等等。
window.open(URL,name,specs,replace)
新大陆
但还有些我此前不知道的事 —— 如果打开的是相同 origion 的页面,它还有些有趣的特性:
- window.open 会返回指向新开页面的 window 对象。我们可以利用它做一些操作
const newWindow = window.open(window.location.origin) newWindow.console.log('hello world')
- window.open 会携带当前会话的 sessionStorage 跳转 —— 区别于手动打开一个新页签,输入相同地址,是没有这些 sessionStorage 的。
const newWindow = window.open(window.location.origin) JSON.stringify(newWindow.sessionStorage) === JSON.stringify(window.sessionStorage)