Как перенаправить страницу на основе пользовательского агента браузера? - PullRequest
0 голосов
/ 04 февраля 2012

Я использую этот скрипт, чтобы обнаружить строку «safari» в заголовке пользовательского агента, которая затем перенаправляет вас на «android.html», как бы я изменил код, чтобы сделать так, чтобы он перенаправлял, если заголовок пользовательского агента НЕ содержит"safari"?

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';
        }
        }

Ответы [ 3 ]

4 голосов
/ 04 февраля 2012
if(!isAndroid) {
window.location = 'android.html';
}
1 голос
/ 04 февраля 2012

Обнаружение для конкретного браузера обычно не является предпочтительным подходом, так как обычно лучше использовать функцию обнаружения. Ты думал о модернизре? http://www.modernizr.com/

1 голос
/ 04 февраля 2012

Чтобы перейти к названию переменной, измените условие с > -1 на == -1.

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