苹果手机window.open无法打开连接

一. 出现的问题

  1. 在H5中,使用操作打开一个新的网页;使用 window.open(url)方法。在安卓手机中是可以实现功能跳转第三方网页,但在苹果手机上相同的方法缺无法运行,用户点击后页面无任何操作(在微信中,二者均可以运行,钉钉,uc不行,QQ浏览器安卓会有提示)

二. 解决方案使用

  1. 使用window.location.replace 代替 window.open

三. 问题的原因

  1. 苹果手机 Safari中无法open新窗口,原因是Safari的安全机制将其阻止,一些异步操作,比如ajax回调里面执行window.open就会失效,原因是代码自己自动执行的,被IOS的安全机制拦截!
  2. 在点击事件中还是可以使用的 但不要将他放在异步事件中