vue+hbuilder监听安卓返回键问题
1.监听安卓返回键问题
效果:在一级页面按一下返回键提示退出应用,按两下退出应用;在其它页面中,按一下返回上个历史页面
1
2
|
import mui from './assets/js/mui.min.js' Vue.prototype.$mui = mui; |
在一级页面mounted时
1 this.$mui.plusReady( () =>{
2 var backcount = 0;
3 this.$mui.back = ()=> {
4 if (this.$mui.os.ios) return;
5 if (backcount > 0) {
6 if (window.plus) plus.runtime.quit();
7 return;
8 };
9 this.$layer.msg('再点击一次退出应用!')
10 backcount++;
11 setTimeout( () =>{
12 backcount = 0;
13 }, 2000);
14 };
15 })
在其它页面mounted时
1 this.$mui.plusReady(() => {
2 this.$mui.back = () => {
3 this.$router.go(-1);
4 };
5 });
在每次组件加载时都重写一下返回按钮的事件,如果不重写,此页面就会使用上个页面中定义的返回事件,这个事件可能是退出app也可能是返回上次历史页面,这样就会造成事件冲突,所以在每次组件加载时都重写返回事件.
2.键盘弹起会把固定在底部的导航顶上去
data() {
return {
docmHeight: document.documentElement.clientHeight, //默认屏幕高度
showHeight: document.documentElement.clientHeight, //实时屏幕高度
hidshow: true //显示或者隐藏footer
};
},
mounted() {
// window.onresize监听页面高度的变化
window.onresize = () => {
return (() => {
this.showHeight = document.body.clientHeight;
})();
};
},
watch: {
showHeight: function() {
if (this.docmHeight > this.showHeight) {
this.hidshow = false;
} else {
this.hidshow = true;
}
}
}
注意document要撑满屏幕高度!
参考地址:https://www.jianshu.com/p/210fbc846544
3.切换页面的转场效果使用:vueg
参考网址:https://github.com/jaweii/vueg
4.上拉加载下拉刷新使用:mescroll
参考网址:http://www.mescroll.com/
5.设置沉浸式
配置manifest.json
"plus": {
"statusbar": {
"immersed": true
}, "google": {
"immersedStatusbar": true,
}
}
获取状态栏高度,可以使用mui提供的方法,也可以使用js : window.screen.height - window.innerHeight,
然后把这个高度给顶部导航和某些页面加上上边距就行了
vue+hbuilder监听安卓返回键问题的更多相关文章
- vue 定义全局函数,监听android返回键事件
vue 定义全局函数,监听android返回键事件 方法一:main.js 注入(1)在main.js中写入函数Vue.prototype.changeData = function (){ aler ...
- javascript监听手机返回键
javascript监听手机返回键 <pre> if (window.history && window.history.pushState) { $(window).on ...
- vue里监听安卓的物理返回键
Hybrid App中,原生内嵌H5单页,由于安卓是有物理返回键的,按安卓物理返回键的时候会返回到上一个路由. 实际中需求是:当有弹层的时候,按物理返回键是关闭弹层,是页面的时候才执行返回上一个路由, ...
- vue 弹窗时 监听手机返回键关闭弹窗(页面不跳转)
[注]: popstate 事件 a.当活动历史记录条目更改时,将触发popstate事件. b.如果被激活的历史记录条目是通过对history.pushState()的调用创建的,或者受到对his ...
- 知识点---js监听手机返回键,回到指定界面
方法一. $(function(){ pushHistory(); window.addEventListener(“popstate”, function(e) { window.location ...
- cordova app 监听物理返回键
物理返回键指的是手机系统自带的返回按钮,通过cordova监听返回按钮操作,可以禁止某些页面的返回操作,以及实现点击两次返回按钮退出应用. var pageUrl = window.location. ...
- 监听浏览器返回键、后退、上一页事件(popstate)操作返回键
在WebApp或浏览器中,会有点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面.确认离开页面或执行一些其它操作的需求.可以使用 popstate 事件进行监听返回.后退.上一页操作. 一 ...
- Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键
在Android系统中用来显示界面的组件(Component)为Activity,也就是说只有重写Activity的onKeyDown方法来监控/拦截/屏蔽系统的返回键(back).菜单键(Menu) ...
- ionic监听android返回键(实现“再按一次退出”功能)
在android平台上的app,在主页面时经常会遇到"再按一次退出app"的功能,避免只按一下返回键就退出app提升体验优化. 1.这个功能需要我们用到ionic提供的regist ...
随机推荐
- nodejs 新特性
一般时间没看nodejs了,又出了一些新特性了. 异步钩子 async_hooks 先看相关的文章吧 https://zhuanlan.zhihu.com/p/27394440 性能 ...
- DB2 数据库常用操作【持续更新】
好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...
- Resetting a lost Admin password
Resetting a lost Admin password 来源 https://cookbook.fortinet.com/resetting-a-lost-admin-password/ Po ...
- C#基础-如何找到devenv的路径位置
一.前言 今年开始安装了VS2017,有时候需要使用到脚本编译,奈何MS在VS2017上的脚本编译上不再支持VS2015那种 "%VS140COMNTOOLS%vsvars32 ...
- 安装和使用 PyInstaller 遇到的问题
写在前面 在学习 Python语言程序设计 的时候,其中有一节课提到了 PyInstaller 第三方库.PyInstaller 可以用来打包 python 应用程序,打包完的程序就可以在没有安装 p ...
- BZOJ2800 [Poi2012]Leveling Ground 【扩展欧几里得 + 三分 + 堆】
题目链接 BZOJ2800 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被\((A,B)\)整除,否则无解 之后我们先将\(A,B\)化为互 ...
- 洛谷 P3171 [CQOI2015]网络吞吐量 解题报告
P3171 [CQOI2015]网络吞吐量 题目描述 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为路由器.为了使数据包最 ...
- Monitor WMIExportsToC++Use DiskCleanup bypass UAC
作者:嘶吼吼链接:https://zhuanlan.zhihu.com/p/23473665来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. About: Use odb ...
- POJ.1330 Nearest Common Ancestors (LCA 倍增)
POJ.1330 Nearest Common Ancestors (LCA 倍增) 题意分析 给出一棵树,树上有n个点(n-1)条边,n-1个父子的边的关系a-b.接下来给出xy,求出xy的lca节 ...
- Effective C++ 条款08:别让异常逃离析构函数
1.别让异常逃离析构函数的原因 <Effective C++>第三版中条款08建议不要在析构函数中抛出异常,原因是C++异常机制不能同时处理两个或两个以上的异常.多个异常同时存在的情况下, ...