关于vue构建的单页面应用 在页面跳转中 有打开新标签页的需求。

项目的某些页面,需要在一个新标签页里打开。这种如何处理比较好? 通过window.open跳转吗? 通过a标签跳转吗?

阅读 7.6k
4 个回答

路由的方式的话这样是可行的。

 var {href} = this.$router.resolve({
            name: routerName,
            params: paramsObj
       })
       window.open(href,'_blank')

最好是通过a标签跳转,window.open,在移动端,有的浏览器并不会新开,有的浏览器是需要在用户交互的上下文下(比如用户点击),才会去新开,如果是程序自动调用,会出现提示框,有的可能会直接阻止,认为是恶意程序

a链接比较好,如果你用window.open的话可能会被拦截

a 链接,一般下载的逻辑都是类似这样做的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题