打开新窗口只打开一次,可以Window.open(url, name),给窗口添加一个name,比如‘baidu’;
通过点击事件触发Window.open打开百度网页,那么再次点击打开这个窗口的按钮时还会跳到这个显示了百度网页的窗口,刷新窗口也不会有影响,除非打开了其他的网址。
实现方法:
通过cookie保存name,在系统退出时要清除设置的cookie,这里要注意remove(name)中的name要和setName(name,window.name)的name一致。
export function getName(NameKey) {
return Cookies.get(NameKey)
}
export function setName(NameKey,key) {
return Cookies.set(NameKey, key)
}
export function removeBaidu() {
return Cookies.remove('baidu')
}
在对应要打开窗口的vue组件的mounted()中写入:
if(!window.name) {
window.name = getName('baidu')
}
window.onbeforeunload = () => {
setName('baidu',window.name)
}
window.onunload = () => {
window.name = ""
}