cordova+vue搭建app实践笔记

完成对原生物理返回键的监听:

var exitAppTicker = 0;
  document.addEventListener("deviceready",function(){
      document.addEventListener("backbutton", function(){
        var pageUrl = window.location.href;
        var n = pageUrl.lastIndexOf('?');
        var m = pageUrl.lastIndexOf('/');
        var str = ''
        if (n > 0) {
          str = pageUrl.substring(m+1,n); //猎取pageName
        } else {
          str = pageUrl.substring(m+1); //猎取pageName
        }
        if(str == 'index' || str == '' || str == 'loginPhone'){
            if(exitAppTicker == 0){
                    exitAppTicker++;
                    showToast('再次返回退出', 2000)
                    setTimeout(function(){
                            exitAppTicker = 0;
                    },2000);
            }else if(exitAppTicker == 1){
              navigator.app.exitApp();
            }  
        }else{
            history.back();
        }
      }, false);
  },false);

自定义toast , js完成android中toast结果

/** 
   * 自定义toast,js完成android中toast结果
   * @param msg 显现笔墨 
   * @param duration 显现的时候长度 
   */  
  function showToast(msg, duration) {
    duration = isNaN(duration) ? 2000 : duration;    
    var m = document.createElement('div');    
    m.innerHTML = msg;    
    m.style.cssText = "width:60%; min-width:150px; background:#000; opacity:0.5; height:40px; color:#fff; line-height:40px; text-align:center; border-radius:5px; position:fixed; top:70%; left:20%; z-index:999999; font-weight:bold;";    
    document.body.appendChild(m);    
    setTimeout(function() {    
        var d = 0.5;    
        m.style.webkitTransition = '-webkit-transform ' + d    
                + 's ease-in, opacity ' + d + 's ease-in';    
        m.style.opacity = '0';    
        setTimeout(function() {    
            document.body.removeChild(m)    
        }, d * 1000);    
    }, duration);    
  }
    原文作者:yunsiyu
    原文地址: https://segmentfault.com/a/1190000018410308
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞