【发布时间】:2015-11-11 15:21:22
【问题描述】:
我有一个为 ios 和 android 设备部署的流星应用程序,我希望某些代码仅在 ios 设备上运行,而不是在 android 上运行。我知道我可以使用流星设备检测包检测设备,例如
Meteor.Device.isPhone()
但是有什么方法可以知道它是安卓设备还是iOS设备。
编辑:我使用流星科尔多瓦创建了捆绑包。
【问题讨论】:
我有一个为 ios 和 android 设备部署的流星应用程序,我希望某些代码仅在 ios 设备上运行,而不是在 android 上运行。我知道我可以使用流星设备检测包检测设备,例如
Meteor.Device.isPhone()
但是有什么方法可以知道它是安卓设备还是iOS设备。
编辑:我使用流星科尔多瓦创建了捆绑包。
【问题讨论】:
这里有一个全局助手,应该可以检测 iOS:
Template.registerHelper('isIOS',() => {
return ( navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false );
});
另一个适用于 Android:
Template.registerHelper('isAndroid',() => {
return navigator.userAgent.toLowerCase().indexOf("android") > -1;
});
在客户端 js 中的任何地方使用:
Blaze._globalHelpers.isIOS()
Blaze._globalHelpers.isAndroid()
当然,在 html 模板标记中使用:
{{#if isIOS}}...{{/if}}
{{#if isAndroid}}...{{/if}}
【讨论】: