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 相关文章推荐
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
Sep 06 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
创建一个类Person的简单实例
May 17 Javascript
jquery中live()方法和bind()方法区别分析
Jun 23 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
May 08 jQuery
JS实现简单短信验证码界面
Aug 07 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
Vue验证码60秒倒计时功能简单实例代码
Jun 22 Javascript
vue+node实现图片上传及预览的示例方法
Nov 22 Javascript
基于Fixed定位的框选功能的实现代码
May 13 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
简单了解python中的与或非运算
2019/09/18 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
农场厂长岗位职责
2013/12/28 职场文书
国际会议邀请函范文
2014/01/16 职场文书
上班离岗检讨书
2014/01/27 职场文书
法学专业自我鉴定
2014/02/05 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
作风建设整改方案
2014/10/27 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
酒店辞职书范文
2015/02/26 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
日元符号 ¥
2022/02/17 杂记