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的finkyUI插件与Ajax实现页面数据加载功能
Dec 03 Javascript
Javascript图像处理—亮度对比度应用案例
Jan 03 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
用JavaScript实现对话框的教程
Jun 04 Javascript
JQuery查找DOM节点的方法
Jun 11 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
d3.js实现立体柱图的方法详解
Apr 28 Javascript
React中常见的动画实现的几种方式
Jan 10 Javascript
详解Vue中watch对象内属性的方法
Feb 01 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
Jul 06 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 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上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
改版了网上的一个js操作userdata
2007/04/27 Javascript
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
python中的reduce内建函数使用方法指南
2014/08/31 Python
python list格式数据excel导出方法
2018/10/31 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
python进程和线程用法知识点总结
2019/05/28 Python
python字符串的拼接方法总结
2019/11/18 Python
python把一个字符串切开的实例方法
2020/09/27 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
薇姿法国官网:Vichy法国
2021/01/28 全球购物
会话Bean的种类
2013/11/07 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
绿化工程实施方案
2014/03/17 职场文书
董事长秘书工作职责
2014/06/10 职场文书
化工专业求职信
2014/07/01 职场文书
店铺转让协议书
2015/01/29 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书