jinya
jinya
  • 发布:2016-05-26 19:17
  • 更新:2020-03-22 13:45
  • 阅读:12228

回退2次退出程序

分类:MUI

由于没有收藏功能,只能发文章收藏,方便查找,以下是三叔的开发心得
转载:http://ask.dcloud.net.cn/article/399(三叔的开发心得)
由于我经常问问题,每次找这篇文章都好麻烦,所以吧这个弄成文章。
其实我也是菜鸟,这里开一贴,记录我的学习开发中遇到的问题和解决方案,希望能帮助到后来的兄弟们。
openWindow方法

mui.openWindow({"url":"reg_wx.html","extras":{
"openId":openid

}

这样传值到reg_wx.html

在reg_wx.html里

function plusReady(){
var currentView = plus.webview.currentWebview();
document.getElementById("wx_appid").value = currentView.openId;
}
document.addEventListener('plusready',plusReady,false);

这么获取值

=============关于跨域==============================
通过mui的ajax请求是可以实现跨域的。
跨域是浏览器安全里的一个名词。记住了 是浏览器。
而我们的是app,请求并不是走浏览器脚本,而是用的H5+底层请求的。所以不存在什么跨域。直接调用。

===========获取应用入口页面的方法======================

var h=plus.webview.getWebviewById( plus.runtime.appid );
console.log( "应用首页Webview窗口:"+h.getURL() );

==========判断plus对象是否生效=======================

if(window.plus){
plusReady();
}else{
document.addEventListener("plusready",plusReady,false);
}

============获取上一页(获取父页面)的方法==============================

var preUrl = plus.webview.currentWebview().opener().getURL();
console.log(preUrl);

===========双击回退按钮后关闭app的方法==========================

//首页返回键处理
//处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null;
mui.back = function() {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function() {
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) {
plus.runtime.quit();
}
}

};

============手机网络状态========================================

document.addEventListener( "netchange", function() {
var network = plus.networkinfo.getCurrentType();
if(network < 2) {
if(this.network > 1) {
plus.nativeUI.toast('您的网络已断开', undefined, '期待乐');
}
}

if(this.network == 3 &amp;&amp; network &gt; 3) {
plus.nativeUI.toast('您网络已从wifi切换到蜂窝网络,浏览会产生流量', undefined, '期待乐', '我知道了');
}

this.network = network;
});

==========手机回退键的触发======================================

function plusReady(){
ws=plus.webview.currentWebview();
// Android处理返回键
plus.key.addEventListener('backbutton',function(){
back();
},false);
compatibleAdjust();
}

=============有选择项的提示框==========

//退出登录
doLogout:function(){
var btnArray = ['再逛逛','是的'];
mui.confirm('你确定退出登录吗?', '提示', btnArray, function(e) {
if (e.index == 1) {
$.get(const_server_url+"/1/login/logout.json",function(data){
if(data.code == "200"){
m_login.clear();
mui.openWindow({
id:"registerPhone"
});
}else{
mui.alert(data.message);
}
});
}
});
}

===========微信支付中提示"支付权限检查失败"=========
微信支付有两个,一个是微信公众号的微信支付,
还有一个就是上面这个地址里面的微信支付,这两个微信支付不一样。
所以存在两个APPID、mch_id。
你用对了么

=========app升级代码=======================
参照: http://ask.dcloud.net.cn/question/5022,http://ask.dcloud.net.cn/article/182

10 关注 分享
l***@qq.com 7***@qq.com 4***@qq.com 三月 4***@qq.com cxian 漠 4***@qq.com 9***@qq.com 1***@163.com

要回复文章请先登录注册

[已删除]

[已删除]

不错不错。mark
2020-03-22 13:45
Yizhiyu

Yizhiyu

mark
2018-11-06 11:18
漠

我按照你写的双击回退键退出程序,为什么它还是一次就退出来了?设了好多断点,证明它的确执行函数,但是感觉没有阻止事件的默认行为
2017-11-29 17:00