【问题标题】:Using navigator.share() to detect mobile users?使用 navigator.share() 检测移动用户?
【发布时间】:2022-06-20 21:26:04
【问题描述】:

我正在尝试检测访问我的 web 应用程序的用户是否是移动用户。我见过各种实现(example1example2example3),但似乎没有一个是万无一失的或推荐的。

我从未见过有人提到将检查if (navigator.share) 作为确定用户是使用移动设备还是桌面设备的方法。 if 语句正确区分了我的应用中的桌面用户和移动用户 (source)。

我可以依赖这个 if 语句检查吗?如果没有,使用这种方法有什么缺点?

(注意:caniuse 声明 navigator.share 仅具有 87% 的覆盖率,但如果我只是假设这“足够好”呢?)

【问题讨论】:

  • 从链接的 caniuse 看来,Windows 和 ChromeOS 上的 Chrome 和 Edge 似乎支持此功能。由于这些不是移动用户,我会说这不是最佳选择。

标签: javascript mobile web-share


【解决方案1】:

Windows 上的 Microsoft Edge 支持 Web Share API,因此这绝对不是区分移动用户和桌面用户的好方法。在现代 Chromium 浏览器上,您可以简单地调用以下 API:

const isMobile = navigator.userAgentData.mobile;

【讨论】:

    猜你喜欢
    • 2012-12-20
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多