vue 路由请求 浏览器被拦截

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

解决方法:

<a @click="getGetMyPortfolioById(scope.row) ">查看</a>

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 ,被认为有可能是广告,于是被拦截

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,159评论 1 32
  • JavaScript,通常缩写为 JS,是一种解释执行的编程语言。它是现在最流行的脚本语言之一。 JavaScri...
    神齐阅读 5,009评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,683评论 8 265
  • 保守主义和民主社会主义在欧洲一直处于拉锯的状态。保守主义源于个人自由理念,左派源于经济平等理念。再往下追,实际上都...
    金石明镜阅读 958评论 0 1
  • 肖佩云 图 余美英 不向苍天要恩赐 不问大地要期许 当苦难来袭 你是自己的依靠 凭着一颗坚强的心 谦卑地活着 ...
    肖佩云阅读 603评论 3 9