在 javascript 中检测 iPad 而不使用用户代理?

发布于 2024-11-16 05:33:13 字数 279 浏览 2 评论 0原文

我有一段 JavaScript 代码,但我不希望它在 iPad 上运行。
有没有一种方法可以使用 javaScript 检测 iPad 而不使用用户代理

例如,使用设备宽度,就像我们对 CSS 所做的那样。

@media only screen and (device-width: 768px) {/* For general iPad layouts */}


预先感谢,

I have a javascript code that I don't want it to run on iPads.
is there a way to detect an iPad using javaScript without using user-agent.

say for example using the device width as we do it for css.

@media only screen and (device-width: 768px) {/* For general iPad layouts */}

Thanks in advance,
R

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灯下孤影 2024-11-23 05:33:13

您可以使用该媒体查询,它有点 hacky,但您可以为预定义元素(例如您的正文)设置样式属性,使用 javascript 读取它并对其做出响应。

HTML Head

@media only screen and (device-width: 768px) { #tester { border-color: #f00; } }

HTML Body

<body>
<div id="tester" style="display: none"></div>

JS

if(document.getElementById('tester').style.borderColor == '#f00') {
   // iPad
}

有点老套,但如果你真的想这样做,你可以稍微整理一下;不过,我确实更喜欢检查用户代理;)

You can use that media query, it's a bit hacky but you can set a style attribute to a predefined element (for example your body), read that with javascript and respond to it.

HTML Head

@media only screen and (device-width: 768px) { #tester { border-color: #f00; } }

HTML Body

<body>
<div id="tester" style="display: none"></div>

JS

if(document.getElementById('tester').style.borderColor == '#f00') {
   // iPad
}

A bit hacky but you can tidy it up a bit if you really want to do it this way; I do prefer checking user agents though ;)

汐鸠 2024-11-23 05:33:13

navigator.platform 算作 User-Agent-String 吗?你可以使用:

var is_iPad = navigator.platform.indexOf("iPad") != -1 ;

Does navigator.platform count as User-Agent-String? You could use:

var is_iPad = navigator.platform.indexOf("iPad") != -1 ;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文