vue 路由请求 浏览器被拦截

之前做了一个功能是点击按钮路由跳转打开新的窗口页面这个功能在之前的文章中写到过《vue spa 单页面应用跳转打开新的页面》,但是后来发现第二种方法会出现浏览器拦截的问题

解决方法:

查看

getGetMyPortfolioById(vals) {
     const tempPage = window.open('', '_blank')   // 在接口请求之前先打开一个空的页面
     getMyPortfolioById({
    
     }).then(response = >{
             const routerdata = this.$router.resolve({
                 name: '组合分析以及组合持仓',
                 params: { managerId: vals.fundCode }
             })
         const newhref = routerdata.href + '?managerId=' + vals.fundCode
         tempPage.location = newhref  // 然后在回调函数中 将页面的地址指向回调函数中的地址
     })
 }


当我们用到第二种方法时候,是触发事件请求接口根据条件去判断在进行路由跳转,这个时候就会遇到浏览器被拦截的问题
在接口请求的回调函数中 需要使用window.open()打开新页面,但是等接口请求成功之后,window.open()打开新页面总是被浏览器拦截,原因大概是,放在请求回调函数中的操作,被浏览器认为不是用户主动触发的事件,并且延迟1000ms ,被认为有可能是广告,于是被拦截

你可能感兴趣的:(vue 路由请求 浏览器被拦截)