admin 管理员组

文章数量: 887021

window.open(Url, WindowName, [strWindowFeatures]);

详解:https://developer.mozilla/zh-CN/docs/Web/API/Window/open

一,怎么跳转到已经打开的浏览器标签

重点是window.open()的第二个参数WindowName。给WindowName一个值,然后每次打开时,不会新创建浏览器标签,而是跳转到已存在的标签页。例:

1,定义特殊值

to(index){
     let url = ''
     let name = ''
     switch (index) {
        case 0: url = 'https://www.baidu'; name = 'window1';	break;
        case 1: url = 'http://www.360/';name = 'window2';	break;
        case 2: url = 'https://portal/portal.jsp';name = 'window3';	break;
        default:
          break;
     }
     window.open(url, name);
}

2,用href代替windowName

// 本例为在vue中带参数跳新标签
to(o) {
     const {
         href
     } = this.$router.resolve({
         name: 'frame2',        //frame2是路由文件中定义好的
         params: {
            id: o.id, type: '1'
         }
     })
     window.open(href, href)    //这里直接用href代替windowName
},

二,如果想重复打开新标签

只需要将window.open()的第二个参数WindowName赋值为_blank 就可以了,_blank也是默认值,可以直接不写。 

三,window.open()到底有几个参数?第四个参数是干什么的?

很多人写过关于window.open(),比我写的都要详细,为什么我还要写呢?因为我弄不清楚这个问题,csnd上很多朋友写了window.open()有四个参数,但是都没有解释第四个参数如何使用,我搜索了很多,菜鸟教程也写了有4个参数(https://www.runoob/jsref/met-win-open.html)。但遗憾的是都没有第四个参数怎么使用的例子。

在浏览器控制台看到,window.open()应该只有三个参数,MDN上也同样只给出了三个参数。如果有朋友知道第四个参数怎么用,请在评论区回复一下,谢谢。

本文标签: 标签 跳转到 而不是 开新 浏览器