ionic中的$ionicPlatform.ready事件中的通用設(shè)置
前言
$ionicPlatform.ready事件是用于檢測(cè)當(dāng)前的平臺(tái)是否就緒的事件,相當(dāng)于基于document的deviceready事件, 在app中一些通用關(guān)于設(shè)備的設(shè)置必須在這個(gè)事件中處理, 為了代碼的可讀性,我們把設(shè)置功能封裝成一個(gè)方法, 只要在該事件中調(diào)用就行了。
關(guān)鍵代碼和說(shuō)明
.factory('setCommon', [
'$ionicPlatform',
'$location',
'$timeout',
'$cordovaToast',
'$ionicNativeTransitions',
function ($ionicPlatform, $location, $timeout, $cordovaToast, $ionicNativeTransitions) {
return function () {
// 初始條件聲明
var backButtonPressedOnceToExit = false;
// 設(shè)置啟動(dòng)頁(yè)
navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide();
// 設(shè)置虛擬鍵盤(pán)和狀態(tài)欄
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);
}
// 設(shè)置物理硬件后退按鈕,只有安卓有效
$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);
// 設(shè)置安卓物理硬件的普通后退
$ionicPlatform.onHardwareBackButton(function () {
$ionicNativeTransitions.goBack();
});
};
}]);
以上所述是小編給大家介紹的ionic中的$ionicPlatform.ready事件中的通用設(shè)置,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
微信小程序自定義組件傳值 頁(yè)面和組件相互傳數(shù)據(jù)操作示例
這篇文章主要介紹了微信小程序自定義組件傳值 頁(yè)面和組件相互傳數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了微信小程序常見(jiàn)傳值操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05
針對(duì)BootStrap中tabs控件的美化和完善(推薦)
這篇文章主要介紹了針對(duì)BootStrap中tabs控件的美化和完善的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-07-07
js輸入框使用正則表達(dá)式校驗(yàn)輸入內(nèi)容的實(shí)例
下面小編就為大家?guī)?lái)一篇js輸入框使用正則表達(dá)式校驗(yàn)輸入內(nèi)容的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
JavaScript中Textarea滾動(dòng)條不能拖動(dòng)的解決方法
這篇文章主要介紹了JavaScript中Textarea滾動(dòng)條不能拖動(dòng)的解決方法,主要針對(duì)IE瀏覽器中Textarea滾動(dòng)條綁定了onfocus事件時(shí)分析對(duì)應(yīng)的處理方法,需要的朋友可以參考下2015-12-12
詳解javascript實(shí)現(xiàn)瀑布流列式布局
這篇文章主要介紹了javascript實(shí)現(xiàn)瀑布流的兩種布局方式,一是絕對(duì)式布局、二是列式布局,詳細(xì)介紹了這兩種布局方式的原理,本文重點(diǎn)介紹列式布局,感興趣的小伙伴們可以參考一下2016-01-01
js綁定事件this指向發(fā)生改變的問(wèn)題解決方法
js綁定事件this指向發(fā)生改變的問(wèn)題將在本文進(jìn)行詳細(xì)探討下,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-04-04
tracking.js頁(yè)面人臉識(shí)別插件使用方法
這篇文章主要為大家詳細(xì)介紹了tracking.js頁(yè)面識(shí)別人臉插件使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11

