检查是否以"离子服务"运行以在程序中使用条件

nyl*_*uje 8 typescript ionic-framework ionic2 ionic3 angular

有没有办法在程序中检测ionic serveCLI正在运行(然后不在真实设备上)并将其用作条件.

我的问题:我有一个Cordova插件,可以回复Cordova的答案.

当我使用Ripple时,它提供选择将回调的值发送回JavaScript(以模拟插件结果).

我注意到Ionic2在浏览器中运行时没有这样做.因此,为了简化我的开发并使其能够在浏览器上进行测试(而不是经常构建到真实设备),我希望能够在ionic serveCLI运行时检入程序.换句话说:检查它是在真实设备还是常规浏览器上运行.

如果它在浏览器上运行,那么我会使用提示要求用户输入Cordova插件结果的虚拟值,而不是真正的Cordova插件.

seb*_*ras 12

请参阅平台文档:

检查它是在真实设备还是常规浏览器上运行.

您可以使用平台信息来执行此操作:

Platform Name   Description
android         on a device running Android.
cordova         on a device running Cordova.
core            on a desktop device.
ios             on a device running iOS.
ipad            on an iPad device.
iphone          on an iPhone device.
mobile          on a mobile device.
mobileweb       in a browser on a mobile device.
phablet         on a phablet device.
tablet          on a tablet device.
windows         on a device running Windows.
Run Code Online (Sandbox Code Playgroud)

所以你可以这样做:

import { Platform } from 'ionic-angular';

@Component({...})
export MyPage {
  constructor(public platform: Platform) {

    if (this.platform.is('mobileweb') || this.platform.is('core')) {
      // This will only print when running on desktop
      console.log("I'm a regular browser!");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 我也要检查"mobileweb":`this.platform.is('mobileweb')|| this.platform.is( '核心')` (3认同)