我尝试使用Ionic Platform模块,但无法检测到Ipad正在运行。
constructor(
private platform: Platform,
) {
}
...
console.log(platform.platforms());
记录iphone,ios,cordova,mobile,hybrid
,所以这里没有帮助。
试图检查用户代理,它显示为iPhone,而不是iPad。还尝试使用this plugin,并且至少在我测试的四个不同的模拟器(Ipad pro,Ipad air 2 ...)中也返回了false。
有没有办法使这项工作成功?
答案 0 :(得分:2)
使用device.model
中的cordova-plugin-device
答案 1 :(得分:1)
您可以在构造函数中尝试以下操作:
platform.ready().then(() => {
if (this.platform.is('ipad')) {
console.log("Hey iPad!");
}
});
另外,请参见docs以获取更多参考。
答案 2 :(得分:1)
您将需要使用cordova-plugin-device中的device.model
。
现在,我们知道这将返回您的模型,但是要进一步缩小为单个模型,您需要从列表here中为每个模型获取一个Identifier
。拥有Identifier
后,您可以应用以下基本条件来获得单个模型。
示例1:对于iPhone X
if (device.model.includes('iPhone10,3') || device.model.includes('iPhone10,6')) {
// custom logic for iPhone X
}
示例2:对于iPad mini(第5代)
if (device.model.includes('iPad11,1') || device.model.includes('iPad11,2')) {
// custom logic for iPad mini (5th generation)
}
注意::如果在模拟器上进行测试,这可能无法正常工作。