起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7450|回复: 21

[处理中3] 如何设置物理返回键是后退而不是双击退出程序

[复制链接]

70

主题

170

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
QQ
发表于 2017-10-17 08:35:11 | 显示全部楼层 |阅读模式
现在程序是双击物理返回键两次就退出程序,但是我想实现点击物理返回键是后退,只有在主页面才是双击退出程序,请问有什么办法可以实现吗??
发表于 2017-10-17 10:32:59 | 显示全部楼层
可以,
http://docs.wex5.com/wex5-app-question-list-2003/
接管attachDoubleClickExitApp   判断当前页面是不是首页就行了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

70

主题

170

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
QQ
 楼主| 发表于 2017-10-17 11:05:09 | 显示全部楼层
liangyongfei 发表于 2017-10-17 10:32
可以,
http://docs.wex5.com/wex5-app-question-list-2003/
接管attachDoubleClickExitApp   判断当前页面 ...

        Model.prototype.modelLoad = function(event) {
                CommonUtils.attachDoubleClickExitApp(function() {
                        return true;
                });
                document.addEventListener('backbutton', listener, false);
                var listener = function() {
                        history.back();
                };
        };


但是好像不起作用哦
回复 支持 反对

使用道具 举报

发表于 2017-10-17 13:48:32 | 显示全部楼层
23352127 发表于 2017-10-17 11:05
Model.prototype.modelLoad = function(event) {
                CommonUtils.attachDoubleClickExitApp(function() { ...

接管了attachDoubleClickExitApp 事件,return true 就表示接管双击退出

你不需要写 document.addEventListener('backbutton', listener, false); 代码的!这个是系统资源
UI2/system/components/justep/common/utils.js
里面实现的! 你可以看下源码

你需要在attachDoubleClickExitApp 里面 判断是不是主页,如果是就return true  否则 return false
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

70

主题

170

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
QQ
 楼主| 发表于 2017-10-17 14:31:22 | 显示全部楼层
liangyongfei 发表于 2017-10-17 13:48
接管了attachDoubleClickExitApp 事件,return true 就表示接管双击退出

你不需要写 document.addEventL ...

我在那个页面里面直接写了return false,点击还是退出程序。。是什么问题呢?对着外卖的例子做的了,好像永远不进去CommonUtils.attachDoubleClickExitApp这个方法

        Model.prototype.modelLoad = function(event) {
                                if (justep.Browser.isX5App) {
                        CommonUtils.attachDoubleClickExitApp(function() {
                                if (1 === 0) {
                                        return true;
                                }
                                return false;
                        });

                }
        };
回复 支持 反对

使用道具 举报

发表于 2017-10-17 15:07:22 | 显示全部楼层
23352127 发表于 2017-10-17 14:31
我在那个页面里面直接写了return false,点击还是退出程序。。是什么问题呢?对着外卖的例子做的了,好像 ...

建议真机调试!debugger 跟一下代码!
或者alert打印一下代码!  return false 真的执行了吗??
更新,看看代码为啥没执行到??

modelLoad  执行了吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

70

主题

170

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
QQ
 楼主| 发表于 2017-10-17 15:15:14 | 显示全部楼层
liangyongfei 发表于 2017-10-17 15:07
建议真机调试!debugger 跟一下代码!
或者alert打印一下代码!  return false 真的执行了吗??
更新, ...

点击物理返回键
CommonUtils.attachDoubleClickExitApp(function()这个方法没进去
modelLoad方法是执行了,  if (justep.Browser.isX5App) 也是执行了
回复 支持 反对

使用道具 举报

发表于 2017-10-17 15:33:10 | 显示全部楼层
23352127 发表于 2017-10-17 15:15
点击物理返回键
CommonUtils.attachDoubleClickExitApp(function()这个方法没进去
modelLoad方法是执行了 ...

有没有报错信息呢??
attachDoubleClickExitApp  里面的回调方法!在 点击物理回退键的时候才会触发的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

70

主题

170

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
QQ
 楼主| 发表于 2017-10-17 15:48:17 | 显示全部楼层
liangyongfei 发表于 2017-10-17 15:33
有没有报错信息呢??
attachDoubleClickExitApp  里面的回调方法!在 点击物理回退键的时候才会触发的! ...

没有报错,就是点击的时候没反应。不过我的页面不是跟外卖一样的,是打开了新页面。在新页面写了这个方法,希望点物理返回键可以回到前一个页面,但是不会执行,也不报错
回复 支持 反对

使用道具 举报

发表于 2017-10-17 16:09:30 | 显示全部楼层
23352127 发表于 2017-10-17 15:48
没有报错,就是点击的时候没反应。不过我的页面不是跟外卖一样的,是打开了新页面。在新页面写了这个方法 ...

这个方法需要写在 index.w的 onload事件中!
你可以先测试一下外卖或淘宝案例!是否正常的!
参考他们的代码实现!

按理说,只要 attachDoubleClickExitApp 执行了!就能重新 覆盖系统默认的 实现的!

其他地方有没有写attachDoubleClickExitApp
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-1 02:09 , Processed in 0.082095 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表