2012-02-03 101 views
-1

我正在使用此脚本检测用户代理标题中的字符串“safari”,然后将您重定向到“android.html”如何更改代码以使其重定向,如果用户代理标题不包含“苹果浏览器”?如何根据浏览器用户代理重定向页面?

var ua = navigator.userAgent.toLowerCase(); 
var isAndroid = ua.indexOf("safari") > -1; //&& ua.indexOf("mobile"); 
if(isAndroid) { 
window.location = 'android.html'; 
} 

编辑: 这是我修改后的代码。这有意义吗?它首先检测设备是否为android,如果它是Safari浏览器则重定向。

var ua = navigator.userAgent.toLowerCase(); 
    var isAndroid = ua.indexOf("android") > -1; 
    var isSafari = ua.indexOf("safari") == -1; 
     if(isAndroid) { 
     if(isSafari) { 
     window.location = 'android.html'; 
     } 
     } 
+0

你总是有其他的块权利 – kobe 2012-02-03 22:36:04

回答

1

只是去与变量的名称,更改条件从> -1== -1

var isAndroid = ua.indexOf("safari") == -1; 
if(isAndroid) { 
    window.location = 'android.html'; 
} 
+1

+1因为它易于阅读,“if isAndroid,去android.html” – 2012-02-03 22:42:23

+0

是的,这很有道理:) – ShankarSangoli 2012-02-03 22:43:03

4
if(!isAndroid) { 
window.location = 'android.html'; 
} 
1

浏览器特定的检测通常不是首选的方法,因为它通常更适合使用特征检测。你有没有想过modernizr? http://www.modernizr.com/

相关问题