3

记一次 Webview 刷新网页功能失效调查之旅

 3 years ago
source link: http://misaka.im/index.php/archives/69/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

记一次 Webview 刷新网页功能失效调查之旅

2021.05.23默认分类 0 评

记一次 Webview 刷新网页功能失效调查之旅

现今中小型的互联网公司的运营手段多依赖网页或小程序的展现形式。小程序可以说是微信圈内对用户粘性较高的网页应用,有较好的推广效果。

网页则被互联网行业称为 H5 ,拥有访问门槛低、功能可控度高等特性,非常适合用于产品的迭代。同是也是公司探索市场新模式,寻找产品卖点,布局营销宣传的工具。

现有的功能

在 APP 架构中,网页的存在,能很好以弥补开发周期长,迭代慢的缺点。使其成为强而有力的工具,帮助功能快速实现落地。在这种架构中,网页应用依然离不开其宿主浏览器(WebView)。

围绕着用户进行设计的产品,用户系统作为支撑业务的底层十分重要。针对其特殊的环境,团队的工程师对APP 架构中的网页应用支持进行了如下设计:

  1. 建立 APP 与网页应用的通道,提供网页主动调用的函数;
  2. 搭建业务功能,如获取用户信息和登录的功能;

发生异常登录功能

提供的登录功能主要包括,支持调起原生登录页,且包含登录成功的回调。但受限于时间和技术水平,登录回调被设计成只有登录成功,才刷新当前网页。

现有一个推向微信平台和 APP 网页项目,我在开发调试过程中,发现安卓端登录成功后面刷新功能失效的情况,不得不展开调查。

android-webview-reload-fail-min.gifandroid-webview-reload-success-min.gif

登录成功后页面没有刷新(左图)。而功能测试案例中的页面则正常(右图)且获取到用户信息

在传统网页应用中,登录功能由用户中心承载,用户认证信息主要以 Cookies 的形式存储在浏览器。亦或是现代前端应用,将用户认证信息转化成数据结构存储在 localStorage 中,作为持久化数据使用。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK