离子平台使用

ionic Platform use

我有这个代码来识别用户使用的平台:

  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();
      console.log("isWebView" ,isWebView);

      var currentPlatform = ionic.Platform.platform();
      var currentPlatformVersion = ionic.Platform.version();

  });

isWebView return 当我在网络上时为 false。为什么?

currentPlatform return 'web32' - 如何查看 currentPlatform 的所有选项?

谢谢

Platform.isWebView() 检查 window.cordova 和 window.phonegap 是否存在,以及 return 是真还是假。如果您 运行 在网络上,它应该 return false 因为 cordova 和 phonegap 不存在。

至于 currentPlatform returning "web32",这是 self.navigator.platform 的 return 值(至少 Chrome 和 Firefox 是)。

如果您有兴趣,可以在 Github 和 Bower 包中查看 Ionic 的源代码。

Platform.isWebView() 适用于 Web 服务器。当你 运行 ionic serve 命令时 returns false。以下是测试用例:

1. ionic.Platform.isWebView() (will be false in ionic serve, true on device/web server)
2. !!window.cordova (same as above if you are just using cordova)
3. ionic.Platform.is('browser') (will be true in ionic serve, false on device/ webserver)