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 相关文章推荐
精选的10款用于构建良好易用性网站的jQuery插件
Jan 23 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
javascript动态加载实现方法一
Aug 22 Javascript
如何使用Jquery获取Form表单中被选中的radio值
Aug 09 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 Javascript
jQuery使用cookie与json简单实现购物车功能
Apr 15 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
Nov 22 Javascript
详解vue使用插槽分发内容slot的用法
Mar 28 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 Javascript
JS前端可视化canvas动画原理及其推导实现
Aug 05 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的memcache类分享(memcache队列)
2014/03/26 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
PHP 读取和编写 XML
2014/11/19 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
js实现拖拽效果
2015/02/12 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
python显示天气预报
2014/03/02 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Sanic框架Cookies操作示例
2018/07/17 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python数据化运营的重要意义
2019/11/25 Python
python扫描线填充算法详解
2020/02/19 Python
Python实现自动装机功能案例分析
2020/10/22 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
写自荐信的七个技巧
2013/10/15 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
模具毕业生推荐信
2014/02/15 职场文书
计划生育宣传标语
2014/06/21 职场文书
五四青年节的活动方案
2014/08/20 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
2016公司新年问候语
2015/11/11 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL