9

我有一个为 ios 和 android 设备部署的流星应用程序,我希望某些代码仅在 ios 设备上运行,而不是在 android 上运行。我知道我可以使用流星设备检测包检测设备,例如

Meteor.Device.isPhone()

但是有没有可能的方法可以知道它是android还是iOS设备。

编辑:我使用流星科尔多瓦创建了捆绑包。

4

1 回答 1

16

这是一个全局助手,它应该可以检测 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}}
于 2015-08-18T15:52:01.913 回答