有没有办法在我正在开发的网站中检测 iPadOS/iPad 设备?

Posted

技术标签:

【中文标题】有没有办法在我正在开发的网站中检测 iPadOS/iPad 设备?【英文标题】:Is there a way to detect iPadOS/iPad device in a website that I am developing? 【发布时间】:2020-12-24 01:19:28 【问题描述】:

我想知道的是:有没有一种方法可以使用 html、CSS 或 JS 来检测特定设备(iPad)?如果网站是在 iPad 上购买的,我希望能够禁用一些代码。到目前为止,我还不知道要禁用哪些代码,因为我还不知道是什么导致了问题,但我正在通过反复试验进行研究,看看是否可以通过某些更改让该网站在 iPad 上运行.

问题: 我设计了一个网站,该网站有一个使用 CSS 在其上移动的多边形的叠加层。该站点使用 HTML5、Bootstrap 4、Parallax(我知道如果没有变通办法,它不能在 iPad 上运行,这不是问题)和 JS。问题是,当网站在 iPad 上加载时它会闪烁,我认为是 CSS 构成了索引页面上的动画,但无论我打开哪个页面,它仍然会闪烁。我不知道原因是什么。网址是www.ace-of-he-arts.com。如果您在任何帮助之前看到过此内容,将不胜感激。

【问题讨论】:

【参考方案1】:

您可以通过 navigator.platform 检查 ios 或任何其他设备(如 android)。你可以在这里阅读更多 -

https://www.w3schools.com/jsref/prop_nav_platform.asp

目前(2019 年)iPadPro 与其他平台的区别在于 iPadPro 支持触控。因此您可以使用它进行说明。

您可以使用以下几种有用的方法。

function isIOS() 
  var pl=navigator.platform.toString().toLowerCase();
  if (pl.includes("IPad") || pl.includes("IPhone") || pl.includes("IPod"))
    return true;
   else 
    return navigator.maxTouchPoints &&
      navigator.maxTouchPoints > 2 &&
      /MacIntel/.test(navigator.platform);
  


function isIpadOS() 
  return navigator.maxTouchPoints &&
    navigator.maxTouchPoints > 2 &&
    /MacIntel/.test(navigator.platform);

【讨论】:

以上是关于有没有办法在我正在开发的网站中检测 iPadOS/iPad 设备?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法摆脱 iPadOS 15 的多任务菜单栏?

我可以用 PHP 检测 IE6 吗?

如何在 SwiftUI 中检测 targetEnvironment 是不是为 iPadOS?

有没有办法在我的网站上显示图片,只有图片不是列表中的空值?

有没有办法在 javascript 中检测 Chrome/Chromium/V8 分析器是不是正在运行?

有没有办法在倒数计时器中使用 UIButton 文本?