关于javascript:如何检测iPhone X(Ionic – cordova应用程序)

How to detect iPhone X (Ionic - cordova app)

我需要对我的应用程序做一些更改,但仅限于iPhoneX。

该应用程序是基于ApacheCordova的(带有离子框架)。

是否有可检测iPhone X的Cordova插件?如果答案是"否",那么了解用户是否有javascript版iPhone X的最佳方法是什么?

谢谢


支票:var deviceInformation = ionic.Platform.device();

来自离子束.js

1
2
3
4
5
6
7
8
9
/**
     * @ngdoc method
     * @name ionic.Platform#device
     * @description Return the current device (given by cordova).
     * @returns {object} The device object.
     */

    device: function() {
      return window.device || {};
    },

同时检查Cordova插件设备

性质

1
2
3
4
5
6
7
8
device.cordova       // returns CDV_VERSION
 device.model
 device.platform     // always returns iOS
 device.uuid
 device.version
 device.manufacturer // always returns  Apple
 device.isVirtual    // not relevant
 device.serial

这个插件调用cdvdevice.m->UIDevice,所以如果您仍然无法获取iPhone X,那么就需要找到如何在obj-c中检测它并更改CDVDevice.m

还要检查这个qa:iOS设备返回不同格式的设备型号,为什么?


科尔多瓦

使用Cordova插件设备插件,如:

window.device.model

将给予:

iPhone10,3iPhone10,6

参见DOC:

enter image description here

浏览器

查看此评论


我使用内置的ionic.platform.device()方法执行了以下操作。如果你已经在使用爱奥尼亚,我认为没有必要安装一个全新的插件。

1
2
let model = ionic.Platform.device().model
$scope.deviceIphonex = model.includes('iPhone10')

然后我可以在我的应用程序中的任何地方使用它,专门为iPhoneX做一些事情。