记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

一、问题产生背景:

  开发支付功能,代码逻辑如下:点击支付后,请求后台接口得到流水号以及第三方支付台链接,跳转支付台(在苹果手机则是弹出支付台层);支付完毕后返回支付页面,或中途退出支付台返回支付页面;弹出查单框,让用户选择触发查单;查单结果未支付,则直接关闭查单框,或关闭查单框后再弹层提示支付失败。

  如图:

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

   在pc、安卓各种环境以及除了苹果X之外的苹果手机各种环境(手机自带浏览器,公司开发的app等)运行,都很顺畅,而在测试机苹果X,版本13.1.2,自带浏览器运行正常,到了公司的app内运行,却遇到阻塞,自测js代码已经执行,页面dom却被阻塞了一样卡住:

1、先看苹果X自带浏览器运行效果:

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

 2、在自家app环境内,点击支付按钮,怎么点击页面无反应,直到点击下了vConsole按钮,页面dom刷新,支付台才突然出现(ps:控制台报错部分各端皆有,且不影响支付页面)

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

 3、在自家app环境内,从支付台回到支付页,查单弹框点击后,自测js已执行完毕,页面却卡住了,同样点击下了vConsole按钮,页面dom刷新,页面才显示出最终结果(ps:控制台报错部分各端皆有,且不影响支付页面)

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

3、尝试验证猜想,每一步js执行操作都加上弱提示,结果,一路顺畅

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

 

二、解决思路:

  在每步执行后面往页面添加一个看不见的dom节点,触发页面dom不被阻塞,至于为何在这个苹果x的app环境内遇到此情况,百思不得其解。记录一下,防奇葩。

 

 

 

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

 

记录在苹果X手机上运行遇到的代码逻辑被阻塞不运行的一个坑

上一篇:android 拍照+拍照button 以及返回按钮布局


下一篇:[转帖]一笔百亿美元的大生意:博通断臂求生 苹果会接盘吗?