JavaScript检测iPhone网页浏览器。

5

我正在寻找一种方法来检测页面是否被iPhone访问。

我想要的基本上是一种停止所有非iPhone设备查看特定网页的方法。

类似于...

如果浏览器不是iPhone,则退出;

这是否可以使用Javascript实现?


我可以问为什么吗?(我的Android不在酷孩子俱乐部吗?)许多年前,我们尝试只允许特定的浏览器查看我们的页面,但后来我们决定这是一个可怕的想法。这就是为什么至今IE声称它是Mozilla。不要检测浏览器;进行功能检测。 - josh3736
没有特别的原因。 - Satch3000
例如,一个带有链接到苹果商店的页面。 - mplungjan
2个回答

15
if (navigator.userAgent.toLowerCase().indexOf("iphone") ==-1) 
  location.replace("goaway.html");

如果是越狱的iPhone并且运行的是Safari以外的浏览器呢? - RobG
3
什么意思?或者是使用具有虚假userAgent的Safari的PC。或者任何关闭JS的设备。 - mplungjan
准确地说,可以在服务器上完成,或者只需在网站上放置一个“iPhone用户请点击此处”的按钮。 - RobG

3
if(navigator.userAgent.match(/iPhone/i)) {
   ...
}

我建议您在DOM加载之前使用PHP完成该操作:

<?php
  if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')) {

  }
?>

3
很好的回答 - 不过并不需要匹配,只需测试iPhone字符串是否存在,因此使用indexOf()更好。 - Mitya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接