JavaScript браузер агент перенаправления

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

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

Существует ли простой способ "перевернуть" этот код, чтобы любой, кто попадает на страницу iPhone из любого другого браузера, был перенаправлен обратно на домашнюю страницу?

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

3 ответа

Решение

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

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

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

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

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

Поменять? замещать != -1 с == -1

Редактировать:

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

if ((navigator.userAgent.indexOf('iPhone') != -1) ||  
(navigator.userAgent.indexOf('iPod') != -1)) {  
document.location = "iPhone.aspx"; } else {
document.location = "notiPhone.aspx";
}
Другие вопросы по тегам