首页 文章

JavaScript浏览器代理重定向

提问于
浏览
1

我在我的网页 Headers 上有一些代码,如果用户正在使用iPhone,则将用户重定向到另一个页面:

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

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

非常感谢 .

3 回答

  • 2

    简单解决方案用这个替换现有的 .

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

    自从它仅用于iPhone页面以来更新 .

  • 0

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

    编辑:

    假设你的意思是这样的:

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

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

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

相关问题