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 相关文章推荐
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
Sep 08 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
Jan 25 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
Mar 03 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
javascript字符串函数汇总
Dec 06 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 Javascript
JS动画定时器知识总结
Mar 23 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
Vue操作Storage本地化存储
Apr 29 Vue.js
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中调用其他系统http接口的方法说明
2014/02/28 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
Python中random模块生成随机数详解
2016/03/10 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
Python单元测试简单示例
2018/07/03 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
Python descriptor(描述符)的实现
2020/11/15 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
学校消防安全制度
2014/01/30 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
驾驶员安全责任书
2014/07/22 职场文书
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
Python pygame实现中国象棋单机版源码
2021/06/20 Python
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android
Linux中各个目录的作用与内容
2022/06/28 Servers