2014-10-24 2 views
0

У меня есть отзывчивый сайт, и домашняя страница избыточна на мобильных устройствах, я хотел бы иметь возможность перенаправлять на определенную внутреннюю страницу. Я нашел решения для перенаправления на мобильную версию сайта, но это не работает, поскольку я получаю цикл перенаправления или вы не можете посещать какие-либо другие страницы на сайте.Переадресовать Конкретный URL-адрес другого URL-адреса только для moblile

Например, я хочу, чтобы перенаправить: http://www.url.com/home

в

http://www.url.com/portfolio

На мобильный только. И только одна страница.

+0

Посмотрите здесь лучший способ обнаружить мобильные http://stackoverflow.com/a/3540295/1301076 переназначение часть должна быть тривиальной, просто window.location (...) – rjdown

ответ

0

Если вы используете php, есть библиотеки, которые могут выполнять обнаружение мобильных устройств. Google фактически предоставляет один: https://code.google.com/p/php-mobile-detect/

В мобильном месте обнаружения установлено http://www.url.com/portfolio, прежде чем что-либо будет отправлено клиенту.

Если это javascript, это немного сложно, но вы можете получить общее представление о пользовательском агенте и установить переменную на какое устройство.

What is the best way to detect a mobile device in jQuery?

После того как вы эту переменную можно сделать document.location для перенаправления URL.

+0

Связанная SO В потоке также есть несколько комментариев о недостатках UA нюхания. Несколько более твердый подход (и, вероятно, более мощный, поскольку он не использует огромный RegEx), находится здесь: http://stackoverflow.com/a/4819886/258598 (обязательно просмотрите комментарии тоже). – cautionbug

1

Вставьте этот код в файл http://www.url.com/home

var isMobile = { 
Android: function() { 
    return navigator.userAgent.match(/Android/i); 
}, 
BlackBerry: function() { 
    return navigator.userAgent.match(/BlackBerry/i); 
}, 
iOS: function() { 
    return navigator.userAgent.match(/iPhone|iPad|iPod/i); 
}, 
Opera: function() { 
    return navigator.userAgent.match(/Opera Mini/i); 
}, 
Windows: function() { 
    return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i); 
}, 
any: function() { 
    return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); 
}}; 
if(isMobile.any()) { 
    window.location.assign("http://www.url.com/portfolio"); 
} 
1

Это может быть легко достигнуто с помощью некоторых JavaScript. Код в выражении if определяет, использует ли пользователь мобильное устройство (Android, iOS, Kindle, BlackBerry, Windows Phone, Kindle и т. Д.), А код внутри оператора if просто перенаправляет пользователя на указанную вами ссылку.

if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) { 
    window.location.replace("http://www.url.com/portfolio"); 
} 
Смежные вопросы