zoukankan      html  css  js  c++  java
  • 记录在苹果X手机上运行遇到的代码Dom被阻塞不更新的一个坑

    一、问题产生背景:

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

      如图:

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

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

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

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

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

    二、解决思路:

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

    三、后续:

      虽然解决了当前页面不被阻塞的情况,但是去到其他页面也存在类似的情况,继续跟踪后发现是请求方法请求成功后的回调内容不执行,触碰下页面才会执行完毕,而且此类情况是出现在苹果x的最新系统,本公司自开发app,灰度环境,于是计划直接接app原生支付方法,后来又因为正式上线后并没有复现到该问题,于是总结是app、环境、系统等综合影响的结果吧,线上无问题就皆大欢喜了。

  • 相关阅读:
    java 代码 添加控件 修改位置 View
    获取整个Activity的layout
    线程加锁 同步
    应用内悬浮按钮 可吸附 展开有动画 mini播放器
    svg 动画
    动画之二:属性动画 Property Animation
    ButterKnife 免去findviewby的麻烦
    ImageView 控件的宽高随图片变化
    python pip使用国内镜像安装第三方库:命令行或PyCharm
    pycharm安装pika提示CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com>
  • 原文地址:https://www.cnblogs.com/ahao68/p/12076655.html
Copyright © 2011-2022 走看看