JavaScript浏览器代理重定向

时间:2012-01-22 11:54:07

标签: javascript iphone browser agent

我的网页标题上有一些代码,如果他们使用iPhone,则会将用户重定向到其他页面:

<script type="text/javascript">
if ((navigator.userAgent.indexOf('iPhone') != -1) ||  
(navigator.userAgent.indexOf('iPod') != -1)) {  
document.location = "iPhone.aspx"; }
</script>

是否有一种简单的方法可以“反转”此代码,因此从任何其他浏览器登陆iPhone页面的任何人都将被重定向回主页?

非常感谢。

3 个答案:

答案 0 :(得分:2)

简单的解决方案。用此替换现有的。

if(!/(iphone|ipod)/i.test(navigator.userAgent)) {
   window.location = "Desktop.aspx";
}

更新以来仅适用于iPhone页面。

答案 1 :(得分:0)

反转?将!= -1替换为== -1

编辑:

假设您的意思是这样的:

if ((navigator.userAgent.indexOf('iPhone') != -1) ||  
(navigator.userAgent.indexOf('iPod') != -1)) {  
document.location = "iPhone.aspx"; } else {
document.location = "notiPhone.aspx";
}

答案 2 :(得分:0)

(navigator.userAgent.indexOf('iPhone') == -1表示userAgent中没有此类字符串“iPhone”。因此,当您从!=更改为==时,您还需要将||更改为&&

if ((navigator.userAgent.indexOf('iPhone') == -1) 
   && (navigator.userAgent.indexOf('iPod') == -1)) {  
    document.location = 'default.aspx';
}