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 和 CSS 实现脚注(Footnote)效果
Sep 09 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
Aug 16 Javascript
Jquery插件写法笔记整理
Sep 06 Javascript
JavaScript栏目列表隐藏/显示简单实现
Apr 03 Javascript
JavaScript打印iframe内容示例代码
Aug 20 Javascript
JS复制到剪贴板示例代码
Oct 30 Javascript
DOM基础教程之使用DOM设置文本框
Jan 20 Javascript
基于ajax实现文件上传并显示进度条
Aug 03 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
javascript执行环境及作用域详解
May 05 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
koa2 数据api中间件设计模型的实现方法
Jul 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
php daodb插入、更新与删除数据
2009/03/19 PHP
php查询ip所在地的方法
2014/12/05 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
JS中style属性
2006/10/11 Javascript
Z-Blog中用到的js代码
2007/03/15 Javascript
JavaScript 不只是脚本
2007/05/30 Javascript
javascript 单选框,多选框美化代码
2008/08/01 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
JS常用算法实现代码
2016/11/14 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
python对html过滤处理的方法
2018/10/21 Python
Python清空文件并替换内容的实例
2018/10/22 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
医药工作者的求职信范文
2013/09/21 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
2015年实习单位评语
2015/03/25 职场文书
遗愿清单观后感
2015/06/09 职场文书
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers