Ern*_*avo 14 javascript cordova ionic-framework iphone-x
我需要对我的应用程序进行一些更改,但仅适用于iPhone X.
该应用程序是基于Apache Cordova(使用Ionic框架).
是否有用于检测iPhone X 的cordova插件?如果答案是否定的,那么知道用户是否在javascript中拥有iPhone X的最佳方法是什么?
谢谢
校验: var deviceInformation = ionic.Platform.device();
/**
* @ngdoc method
* @name ionic.Platform#device
* @description Return the current device (given by cordova).
* @returns {object} The device object.
*/
device: function() {
return window.device || {};
},
Run Code Online (Sandbox Code Playgroud)
属性
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
Run Code Online (Sandbox Code Playgroud)
这个插件调用CDVDevice.m - > UIDevice所以如果你仍然无法获取iPhone X值得找到如何在Obj-C中检测它并更改的方式CDVDevice.m.
另请检查此QA:iOS设备返回不同格式的设备型号,为什么?
使用如下的cordova-plugin-device插件:
window.device.model
会给:
iPhone10,3 要么 iPhone10,6
见doc:
看到这个评论
我把这个 es6 放在一起检查iphone 10及更高版本
const isIphoneX = () => {
try {
const iphoneModel = window.device.model;
const m = iphoneModel.match(/iPhone(\d+),?(\d+)?/);
const model = +m[1];
if (model >= 10) { // is iphone X
return true;
}
} catch (e) { }
return false;
}
Run Code Online (Sandbox Code Playgroud)
** 编辑 **
我相信我使用的cordova-plugin-device是因为我的项目不是离子应用程序。我重写了正则表达式,以便它也可以使用ionic.Platform.device().model。
| 归档时间: |
|
| 查看次数: |
9237 次 |
| 最近记录: |