检测当前代码是 运行 作为应用程序还是作为网页
detecting if the current code is running as an app or as web page
我正在使用 ionic 开发混合应用程序。
大部分功能都适用于移动网络浏览器。因此最终产品也可以从 http 地址使用。但是有一些代码segments/features(比如振动、后台提醒)显然是针对应用程序版本的。这些功能将仅在应用程序版本上可用。
有什么 good/recommended 方法可以检测代码库中的当前情况,以便我可以执行诸如 if (isRunningAsApp) {do this} else {do that}* 之类的逻辑?
是否只是检查 window.location.href 并且如果您得到以 http: 开头的内容,那么它就是一个移动应用程序,否则它就是一个应用程序?
这是来自 Ionic 的 documentation
angular.module('PlatformApp', ['ionic']).controller('PlatformCtrl', function($scope) {
ionic.Platform.ready(function(){
// will execute when device is ready, or immediately if the device is already ready.
});
var deviceInformation = ionic.Platform.device();
var isWebView = ionic.Platform.isWebView();
var isIPad = ionic.Platform.isIPad();
var isIOS = ionic.Platform.isIOS();
var isAndroid = ionic.Platform.isAndroid();
var isWindowsPhone = ionic.Platform.isWindowsPhone();
var currentPlatform = ionic.Platform.platform();
var currentPlatformVersion = ionic.Platform.version();
ionic.Platform.exitApp(); // stops the app
});
我正在使用 ionic 开发混合应用程序。
大部分功能都适用于移动网络浏览器。因此最终产品也可以从 http 地址使用。但是有一些代码segments/features(比如振动、后台提醒)显然是针对应用程序版本的。这些功能将仅在应用程序版本上可用。
有什么 good/recommended 方法可以检测代码库中的当前情况,以便我可以执行诸如 if (isRunningAsApp) {do this} else {do that}* 之类的逻辑?
是否只是检查 window.location.href 并且如果您得到以 http: 开头的内容,那么它就是一个移动应用程序,否则它就是一个应用程序?
这是来自 Ionic 的 documentation
angular.module('PlatformApp', ['ionic']).controller('PlatformCtrl', function($scope) {
ionic.Platform.ready(function(){
// will execute when device is ready, or immediately if the device is already ready.
});
var deviceInformation = ionic.Platform.device();
var isWebView = ionic.Platform.isWebView();
var isIPad = ionic.Platform.isIPad();
var isIOS = ionic.Platform.isIOS();
var isAndroid = ionic.Platform.isAndroid();
var isWindowsPhone = ionic.Platform.isWindowsPhone();
var currentPlatform = ionic.Platform.platform();
var currentPlatformVersion = ionic.Platform.version();
ionic.Platform.exitApp(); // stops the app
});