萝卜特洛夫司机
萝卜特洛夫司机
  • 发布:2015-10-08 15:08
  • 更新:2015-10-08 15:29
  • 阅读:3483

mui.openwinow打开新页面的同时自动关闭旧页面?

分类:MUI
mui

我想的方法是
mui.webview.close(mui.currentWebview());
mui.openWindow({.....});

这样的话会交互会有点不好(本页面消失后才打开新页面),mui有没有什么方法打开新页面后自动close
旧业面的方法

2015-10-08 15:08 负责人:无 分享
已邀请:
chender

chender - 与人为善

打开webview是有回调的,在回调里面关掉之前的webview吧

  • 萝卜特洛夫司机 (作者)

    chender老师您好,我查了一下官网,没有发现mui.openWindow这个方法有回调的方式?

    您是指mui.init中的beforeback吗?

    2015-10-08 15:50

  • chender

    h5+的规范里面webview的show方法是有回调的,我刚才看了一下mui.js,是mu没把这个回调暴露出来;

    3种解决方案

    1、使用var webview=plus.webview.create(...);webview.show("","",function(){回调})的方式;

    2、还是使用mui.createWindow方式,给新创建的webview添加loaded事件,在loaded事件的回调中关掉之前的webview

    3、在新页面的plusReady里面关掉之前的webview(要求每个页面里都有这样的代码)

    2015-10-08 16:01

  • 萝卜特洛夫司机 (作者)

    回复 chender:chender老师您好,

    我现在遇到的问题是,首页A跳到页面B再跳到页面C,

    从页面C返回的首页A时关闭B页面,因为A页面数据比较多,

    所以不想让他create新建一次,想让那个webview直接显示。

    那我该如何去做呢

    2015-10-08 17:33

  • chender

    从B跳到C的时候直接把B关掉,或者在C返回A之前把B关掉就行了啊

    2015-10-08 17:53

  • 萝卜特洛夫司机 (作者)

    回复 chender:不是啊,我表达错了,是点击一下C页面的返回首页的按钮。

    2015-10-08 18:03

  • chender

    你是C页面有一个“返回首页”的按钮是吧,按钮的事件这么写

    function(){

    plus.webview.getWebviewById("b页面的id").close();

    mui.back();

    }

    2015-10-08 18:48

  • 萝卜特洛夫司机 (作者)

    回复 chender:可能不能用mui.back()的方法,因为C页面是注册页面(是一个通用页面),

    也许,A>D>B>C。 A>E>D>B>C,页面跳转之比较麻烦。

    我的想法是应用打开时。给index页面mui.init({id:"index"});

    然后在C页面点击时

    plus.webView.show(plus.webView.getWebviewById("index"));进行跳转。

    不知这样是否可行?

    2015-10-08 19:11

  • chender

    你这样是能跳到index页面,但是你的需求不是要关闭B页面吗

    2015-10-09 08:59

  • 萝卜特洛夫司机 (作者)

    额,需求总是在变得

    2015-10-09 12:07

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