window.open()的方法,在其他系统(安卓这些),都是正常运行的,偏偏苹果就搞了个特殊,说只要不是人为触发的window.open(),那默认就是禁止了,也就导致了没有办法使用了。

而一般遇到这类问题,我们首先排查的是自己代码本身是否存在问题,但是排查了一番了并无任何的报错,反正就是没有反应的,我觉得做coder应该最怕的就是这种没有任何报错的bug。

然后就是一顿调试+搜索引擎了,最终才知道原来就是苹果系统自己搞的鬼,也就是前面有说过的,只要不是人为触发的window.open(),那默认就是禁止了。

什么叫不是人为触发/是认为触发的,举个例子:

解决办法:

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐