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