chender
chender
  • 发布:2015-07-30 00:02
  • 更新:2015-07-30 12:56
  • 阅读:1840

关于子页面在加载了包含mui.js的洁面后,再加载不包含mui.js的界面导致的无法返回的问题

分类:5+ SDK

android 开发环境
在主页面打开一个template页面,template页面中包含一个sub页面
这个时候即使sub页面是www.baidu.com,按返回键也是能正常返回到主界面;
但是如果这个sub页面之前加载过其他包含mui.js的界面,然后再通过loadURL加载www.baidu.com
按返回键就没有反应了;
大概排查了一下,如果在mui,js中没有调如下几句代码,就不会有问题

if ($.options.keyEventBind.backbutton) {  
            plus.key.addEventListener('backbutton', __back, false);  
        }  
        if ($.options.keyEventBind.menubutton) {  
            plus.key.addEventListener('menubutton', __menu, false);  
        }

还有上面这几句代码添加的监听在loadURL加载新的地址的时候不会被移除吧
那要是一个webview各种加载不同的url,各种重复执行上面的代码,会不会有问题啊
求解决

2015-07-30 00:02 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

你可以在子webview里边的mui.init里边关闭back事件的监听
mui.init({keyEventBind:{backbutton:false}});

  • chender (作者)

    关闭这个监听后,返回键是不是就失效了?

    2015-07-30 10:02

  • DCloud_UNI_FXY

    回复 chender:父页面监听

    2015-07-30 20:46

  • chender (作者)

    回复 DCloud_UNI_FXY:跑题了,我的问题是用子页面打开一个类似www.baidu.com这样的界面时,按返回键有可能会失效

    2015-07-30 21:34

  • DCloud_UNI_FXY

    回复 chender:你的需求是不是,按返回键的时候,整个template页面hide?如果是的话,子页面不监听backbutton,template会监听,一样可以返回。

    2015-07-31 14:34

chender

chender (作者) - 与人为善

我想达到的效果是用template sub的形式下,用sub打开一个第三方的页面,然互按手机的返回键能正常返回;
现在的情况是,如果这个sub之前打开过带mui.js的页面,再打开第三方页面,按返回就没效果了

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