ionic中的$ionicPlatform.ready事件中的通用设置


Posted in Javascript onJune 11, 2017

前言

$ionicPlatform.ready事件是用于检测当前的平台是否就绪的事件,相当于基于document的deviceready事件, 在app中一些通用关于设备的设置必须在这个事件中处理, 为了代码的可读性,我们把设置功能封装成一个方法, 只要在该事件中调用就行了。

关键代码和说明

.factory('setCommon', [
  '$ionicPlatform',
  '$location',
  '$timeout',
  '$cordovaToast',
  '$ionicNativeTransitions',
  function ($ionicPlatform, $location, $timeout, $cordovaToast, $ionicNativeTransitions) {
    return function () {
      // 初始条件声明
      var backButtonPressedOnceToExit = false;
      // 设置启动页
      navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide();
      // 设置虚拟键盘和状态栏
      if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
        cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
        cordova.plugins.Keyboard.disableScroll(true);
      }
      if (window.StatusBar) {
        StatusBar.styleDefault();
        // IOS overlay , Android not
        ionic.Platform.isIOS() ? StatusBar.overlaysWebView(true) : StatusBar.overlaysWebView(false); 
      }
      // 设置物理硬件后退按钮,只有安卓有效
      $ionicPlatform.registerBackButtonAction(function (e) {
        e.preventDefault();
        if (backButtonPressedOnceToExit) {
          ionic.Platform.exitApp();
        } else {
          /* your-tab-path 如 : /tab/home */
          if ($location.path() == "your-tab-path1" || $location.path() == "your-tab-path2") {
            backButtonPressedOnceToExit = true;
            $cordovaToast.showShortBottom('再按一次退出!');
            $timeout(function () {
              backButtonPressedOnceToExit = false;
            }, 2000);
          }
        }
      }, 110);
      // 设置安卓物理硬件的普通后退
      $ionicPlatform.onHardwareBackButton(function () {
        $ionicNativeTransitions.goBack();
      });
    };
  }]);

以上所述是小编给大家介绍的ionic中的$ionicPlatform.ready事件中的通用设置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JavaScript获取文本框内选中文本的方法
Feb 20 Javascript
jquery+css3实现会动的小圆圈效果
Jan 27 Javascript
JS事件添加和移出的兼容写法示例
Jun 20 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
Jul 07 Javascript
jQuery实现两列等高并自适应高度
Dec 22 Javascript
vue组件name的作用小结
May 23 Javascript
layui前端框架之table表数据的刷新方法
Aug 17 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
Sep 07 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
vue离开当前页面触发的函数代码
Sep 01 Javascript
JS判断一个数是否是水仙花数
Jun 11 #Javascript
在bootstrap中实现轮播图实例代码
Jun 11 #Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
Jun 11 #Javascript
PHP7新特性简述
Jun 11 #Javascript
jquery与js实现全选功能的区别
Jun 11 #jQuery
jQuery 表单序列化实例代码
Jun 11 #jQuery
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 #jQuery
You might like
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
2020/09/13 PHP
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
node网页分段渲染详解
2016/09/05 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
python查看列的唯一值方法
2018/07/17 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
python画微信表情符的实例代码
2019/10/09 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
Python如何实现定时器功能
2020/05/28 Python
资产评估专业大学生求职信
2013/09/29 职场文书
关于期中考试的反思
2014/02/02 职场文书
活动总结报告范文
2014/05/04 职场文书
校外活动方案
2014/08/28 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
信访稳定工作汇报
2014/10/27 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
MySQL创建表操作命令分享
2022/03/25 MySQL