cordova 物理返回键
标签:
JavaScript
学习 cordova 物理返回键的使用
原始核心代码如下:
.run(function ($ionicPlatform, $rootScope, $http, $ionicPickerI18n, $location, $timeout, $cordovaToast, $ionicHistory) { $ionicPlatform.ready(function () { if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); cordova.plugins.Keyboard.disableScroll(true); } if (window.StatusBar) { StatusBar.styleLightContent(); } $ionicPlatform.registerBackButtonAction(function (e) { e.preventDefault(); function showConfirm() { if ($rootScope.backButtonPressedOnceToExit) { ionic.Platform.exitApp(); } else { $rootScope.backButtonPressedOnceToExit = true; $cordovaToast.showShortBottom('再按一次退出系统'); $timeout(function () { $rootScope.backButtonPressedOnceToExit = false; }, 2000); } } if ($location.path() == '/logintab/login' || $location.path() == '/home') { showConfirm(); } else if ($ionicHistory.backView()) { $ionicHistory.goBack(); } else { showConfirm(); } return false; }, 101); }) })
registerBackButtonAction方法(注册硬件后退按钮动作)
registerBackButtonAction方法参考来源
调用格式
registerBackButtonAction(callback, priority, [actionId])
参数 类型 说明
callback function 当点击返回按钮时触发,如果该监视器具有最高的优先级
priority number 仅最高优先级的会执行
actionId(可空) * 该id指定这个动作 默认: 一个随机且唯一的id
后退按钮的优先执行顺序:
返回到上一个视图 = 100
关闭侧边菜单 = 150
关闭模版modal = 200
关闭上拉菜单action sheet = 300
关闭对话框popup = 400
关闭加载框loading = 500
注意:返回: function一个被触发的函数,将会注销 backButtonAction。
如果我们不想注册返回按钮影响所有页面,就要将返回函数再调用。
例如:如果一个上拉菜单已经显示,后退按钮应该关闭上拉菜单,而不是返回一个页面视图或关闭一个打开的模型。
所以我们要实现“再按一次退出app”的功能,可以将优先级priority设为101。
$location.path
本例中使用$location获取路径(参数).。
以 'http://172.16.0.88:8100/#/homePage?id=10&a=100' 路径为例'1.获取当前完整的 url 路径' var absurl = $location.absUrl(); //http://172.16.0.88:8100/#/homePage?id=10&a=100 '2. 获取当前url路径(当前 url # 后面的内容,包括参数和哈希值):' var url = $location.url(); // 结果:/homePage?id=10&a=100 '3. 获取当前url的子路径(也就是当前 url # 后面的内容,不包括参数)' var pathUrl = $location.path() //结果:/homePage '4.获取当前url的协议(比如http,https)' var protocol = $location.protocol(); //结果:http '5.获取主机名' var localhost = $location.host(); //结果:172.16.0.88 '6.获取当前url的端口' var port = $location.port(); //结果:8100 '7.获取当前url的哈希值' var hash = $location.hash() //结果:http://172.16.088 '8.获取当前url的参数的序列化json对象' var search = $location.search(); //结果:{id: "10", a: "100"}
作者:邪人君子
链接:https://www.jianshu.com/p/890dd24fb638
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦