在不使用用户代理的情况下在javascript中检测iPad?

时间:2011-06-16 21:16:08

标签: javascript jquery ipad user-agent browser-detection

我有一个javascript代码,我不希望它在iPad上运行 有没有办法使用javaScript 检测iPad而不使用用户代理

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

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


提前谢谢,
[R

2 个答案:

答案 0 :(得分:2)

您可以使用该媒体查询,它有点hacky但您可以将样式属性设置为预定义元素(例如您的身体),使用javascript读取并回复它。

HTML Head

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

HTML正文

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

JS

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

有点hacky但如果你真的想这样做,你可以整理一下;我更喜欢检查用户代理;)

答案 1 :(得分:0)

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

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