JavaScript браузер агент перенаправления - PullRequest
1 голос
/ 22 января 2012

В заголовке моей веб-страницы есть небольшой фрагмент кода, чтобы перенаправить пользователя на другую страницу, если он использует iPhone:

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

Существует ли простой способ «перевернуть» этот код, чтобы любой, кто попадает на страницу iPhone из ЛЮБОГО другого браузера, был перенаправлен обратно на домашнюю страницу?

Большое спасибо.

Ответы [ 3 ]

2 голосов
/ 23 января 2012

Простое решение.Замените существующий на этот.

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

Обновлено, поскольку оно доступно только для страницы iPhone.

0 голосов
/ 23 января 2012

(navigator.userAgent.indexOf('iPhone') == -1 означает, что в агенте пользователя нет такой строки «iPhone». Поэтому, когда вы переходите с != на ==, вам также необходимо изменить || на &&.

if ((navigator.userAgent.indexOf('iPhone') == -1) 
   && (navigator.userAgent.indexOf('iPod') == -1)) {  
    document.location = 'default.aspx';
}
0 голосов
/ 22 января 2012

поменять? Заменить != -1 на == -1

Edit:

Предположим, вы имеете в виду что-то вроде этого:

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