Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中检测iPad而不使用用户代理?_Javascript_Jquery_Ipad_User Agent_Browser Detection - Fatal编程技术网

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

在javascript中检测iPad而不使用用户代理?,javascript,jquery,ipad,user-agent,browser-detection,Javascript,Jquery,Ipad,User Agent,Browser Detection,我有一个javascript代码,我不希望它在iPad上运行。 有没有一种方法可以在不使用用户代理的情况下使用javaScript检测iPad 比如说,在css中使用设备宽度 @media only screen and (device-width: 768px) {/* For general iPad layouts */} 提前感谢, R您可以使用该媒体查询,它有点粗糙,但您可以将样式属性设置为预定义元素(例如,您的身体),使用javascript读取并响应它 HTML头 @media

我有一个javascript代码,我不希望它在iPad上运行。
有没有一种方法可以在不使用用户代理的情况下使用javaScript检测iPad

比如说,在css中使用设备宽度

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

提前感谢,

R

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

HTML头

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

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

虽然有点粗糙,但是如果你真的想这样做的话,你可以把它整理一下;但我更喜欢检查用户代理;)

导航器平台是否算作用户代理字符串?您可以使用:

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

如果没有测试功能和找到一些仅适用于iPad的独特组合(并希望在每个新版本之间保持相对一致),那么如果不通过javascript测试UA,就无法可靠地检测特定设备。即使这样,UA也可以更改。为什么不想使用用户代理进行测试呢?您可以使用CSS媒体查询为某些隐藏元素提供一个不同的“z索引”值,该值取决于查询成功与否。然后你可以用“.css()”检查样式……当有这样奇怪的限制时,我总是有点困惑。@Brad用户代理测试是非常复杂的。现在,当你只寻找一台设备时,也许不是。。除了哎呀!现在有两台iPad!还有很多其他的平板电脑,没有理由对这些用户(钱包里有真金白银)与iPad用户区别对待。实际上不会起作用-你需要使用“.currentStyle”,而不是“.style”,这只在IE中有效。但是,您的基本方法将起作用——可以让jQuery完成获取当前样式的工作。
var is_iPad = navigator.platform.indexOf("iPad") != -1 ;