美文网首页
iphone5 window.open多次才生效

iphone5 window.open多次才生效

作者: 小银 | 来源:发表于2019-04-29 11:16 被阅读0次

    问题:
    因为业务需求 更改了跳转方式 location.href->window.open. iphone5要点击多次才能跳转。

      openUlr(url)=>{
        setTimeout(()=>{
      location.href=url
    },100)
    }
    
    //
      openUlr(url)=>{
        setTimeout(()=>{
     window.open(url,'_blanck')
    },100)
    }
    

    去除 setTimeout就正常了
    原因:
    应该是safari安全机制导致的,在异步回调函数中执行open会被拦截。(iphone5没具体看过系统版本,现在无法确认是型号还是系统版本问题)
    如果一定要使用异步调用怎么办(url是异步拿到的)

      openUlr(url)=>{
     let newlocation=window.open('https://www.baidu.com','_blanck')
        setTimeout(()=>{
     newlocation.location.href=url;
    },100)
    }
    

    相关文章

      网友评论

          本文标题:iphone5 window.open多次才生效

          本文链接:https://www.haomeiwen.com/subject/gunenqtx.html