7***@qq.com
7***@qq.com
  • 发布:2018-05-21 17:23
  • 更新:2018-05-21 19:26
  • 阅读:1206

【报Bug】ios下白屏

分类:MUI

详细问题描述
[内容]
点击“我的”,“个人中心” 点击修改密码 在修改密码界面点击左上角返回时ios下会白屏安卓没有这个bug
重现步骤
[步骤]
[结果]
[期望]

运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
[QQ]703322069
[电话]

2018-05-21 17:23 负责人:无 分享
已邀请:
王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

这不是BUG, 是你理解出错,可能你不是很明白为什么安卓没事,IOS却出现,它的原理不同,当你采用document.location.href ,链接跳转时,此时的APP ,只有一个webview页面, 当你返回时,在APP里它采用的是5+的方式返回,此时唯一的webview就会被close了,什么都没有了,就会看到所谓的白屏了。

兄弟,我看你这个项目是为web而写的吧,如果你是为web 而写的话,可以把它放在服务器上,然后通过web在线打包成套壳APP,

你写的JS代码,我也没看懂,大概这样处理可以解决

如果你是想通过本地打包成APP, 就要把 document.location.href ,链接跳转的方式去掉,换成官方H5+ 的方式打开新的页面,例如:
var page = plus.webview.create(_href,_href,{popGesture:"close"});
page.show("slide-in-right");

把你的app.load.js 文件里的a 点击事件改下:

这是你原来的  
mui('body').on('tap', 'a', function () { var _href = this.href; if(_href!=''&&_href.indexOf("#")=='-1'){var show_tab=$(this).data('tab'); if(!show_tab){sessionStorage.removeItem("show_tab");}else if(show_tab!='auto'){sessionStorage.show_tab = show_tab;};document.location.href = _href;}});//重写mui的a链接事件  

改成以下这样,就没白屏了。  
mui('body').on('tap', 'a', function ()   
    { var _href = this.href; if(_href!=''&&_href.indexOf("#")=='-1')  
    {var show_tab=$(this).data('tab'); if(!show_tab)  
    {sessionStorage.removeItem("show_tab");}else if(show_tab!='auto')  
    {sessionStorage.show_tab = show_tab;};  
     var  webview = plus.webview.create(_href,_href,{popGesture:"close"});  
          webview.show("slide-in-right");  
    }});//重写mui的a链接事件  

该问题目前已经被锁定, 无法添加新回复