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的可以控制左右滚动及自动滚动效果的代码
Jul 25 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
jQuery弹出层插件popShow(改进版)用法示例
Jan 23 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 Javascript
强大的 Angular 表单验证功能详细介绍
May 23 Javascript
javascript回调函数详解
Feb 06 Javascript
vue与原生app的对接交互的方法(混合开发)
Nov 28 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
超级简单的发送邮件程序
2006/10/09 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
phpMyAdmin 安装及问题总结
2009/05/28 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
vue router demo详解
2017/10/13 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
python实现bucket排序算法实例分析
2015/05/04 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
Ajax的优点和缺点
2014/11/21 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
中学生英语演讲稿
2014/04/26 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
2014年电教工作总结
2014/12/19 职场文书